From 93a34f80f4fb7727ae94f957dca4581aa87f7e0d Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Fri, 4 Oct 2019 19:47:30 +0100 Subject: [PATCH 001/393] GPO Names and Behaviour Has Changed "Enable automatic MDM enrollment using default Azure AD credentials" is the GPO name and it has two sub options. Not sure if Device Certificate is working at the moment, but the pictures are wrong, but User Certificate is working and so the docs should at least say to use that for now --- ...-device-automatically-using-group-policy.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 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 ad48fe1e75..d0f4e9527f 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 @@ -106,7 +106,7 @@ Requirements: ![MDM policies](images/autoenrollment-mdm-policies.png) -4. Double-click **Auto MDM Enrollment with AAD Token**. +4. Double-click **Enable automatic MDM enrollment using default Azure AD credentials** (previously called **Auto MDM Enrollment with AAD Token** in version 1709 of Windows 10). For ADMX files from version 1903 and later select **User Credential** (support for Device Credential is coming) as the Selected Credential Type to Use. User Credential enrolls Windows 10 1709 and later once an Intune licenced user logs into the device. Device Credential will enroll the device and then assign a user later once support for this is available. ![MDM autoenrollment policy](images/autoenrollment-policy.png) @@ -153,18 +153,16 @@ Requirements: - Enterprise AD must be integrated with Azure AD. - Ensure that PCs belong to same computer group. -> [!IMPORTANT] -> If you do not see the policy, it may be because you don’t have the ADMX installed for Windows 10, version 1803 or version 1809. To fix the issue, follow these steps: +>[!IMPORTANT] +>If you do not see the policy, it may be because you don’t have the ADMX installed for Windows 10, version 1803 or version 1809. To fix the issue, follow these steps: > 1. Download: > 1803 -->[Administrative Templates (.admx) for Windows 10 April 2018 Update (1803)](https://www.microsoft.com/download/details.aspx?id=56880) or -> 1809 --> [Administrative Templates for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576) or -> 1903 --> [Administrative Templates for Windows 10 May 2019 Update (1903)](https://www.microsoft.com/download/details.aspx?id=58495) +> 1809 --> [Administrative Templates for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576). > 2. Install the package on the Primary Domain Controller (PDC). > 3. Navigate, depending on the version to the folder: -> 1803 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 April 2018 Update (1803) v2**, or -> 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2** or -> 1903 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 May 2019 Update (1903) v3** -> 4. Copy policy definitions folder to **C:\Windows\SYSVOL\domain\Policies** . +> 1803 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 April 2018 Update (1803) v2**, or +> 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2** +> 4. Copy policy definitions folder to **C:\Windows\SYSVOL\domain\Policies**. > 5. Restart the Primary Domain Controller for the policy to be available. > This procedure will work for any future version as well. @@ -175,7 +173,6 @@ Requirements: 5. Enforce a GPO link. ## Troubleshoot auto-enrollment of devices - Investigate the log file if you have issues even after performing all the mandatory verification steps. The first log file to investigate is the event log on the target Windows 10 device. To collect Event Viewer logs: @@ -232,6 +229,5 @@ To collect Event Viewer logs: ### Useful Links -- [Windows 10 Administrative Templates for Windows 10 May 2019 Update 1903](https://www.microsoft.com/download/details.aspx?id=58495) - [Windows 10 Administrative Templates for Windows 10 October 2018 Update 1809](https://www.microsoft.com/download/details.aspx?id=57576) - [Windows 10 Administrative Templates for Windows 10 April 2018 Update 1803](https://www.microsoft.com/download/details.aspx?id=56880) From 22fe43ded8c3b4d28e229db518de30e8e9d8aaef Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Mon, 7 Oct 2019 09:28:02 +0100 Subject: [PATCH 002/393] Update windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- ...roll-a-windows-10-device-automatically-using-group-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d0f4e9527f..55a221ebed 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 @@ -106,7 +106,7 @@ Requirements: ![MDM policies](images/autoenrollment-mdm-policies.png) -4. Double-click **Enable automatic MDM enrollment using default Azure AD credentials** (previously called **Auto MDM Enrollment with AAD Token** in version 1709 of Windows 10). For ADMX files from version 1903 and later select **User Credential** (support for Device Credential is coming) as the Selected Credential Type to Use. User Credential enrolls Windows 10 1709 and later once an Intune licenced user logs into the device. Device Credential will enroll the device and then assign a user later once support for this is available. +4. Double-click **Enable automatic MDM enrollment using default Azure AD credentials** (previously called **Auto MDM Enrollment with AAD Token** in version 1709 of Windows 10). For ADMX files from version 1903 and later, select **User Credential** (support for Device Credential is coming) as the Selected Credential Type to use. User Credential enrolls Windows 10 1709 and later, once an Intune licensed user logs into the device. Device Credential will enroll the device and then assign a user later, once support for this is available. ![MDM autoenrollment policy](images/autoenrollment-policy.png) From 62190b32ae0029e68f5f4430a6cf102ede3c589e Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Mon, 7 Oct 2019 09:45:19 +0100 Subject: [PATCH 003/393] Updated GPO names to match the current version of Windows Updated GPO name and links to files. Edited instructions to include new options in GPO and removed hyperlinks to older version of ADMX files (1803) and added links to newest version (1903) --- ...10-device-automatically-using-group-policy.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 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 55a221ebed..9160c8b88e 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 @@ -153,17 +153,16 @@ Requirements: - Enterprise AD must be integrated with Azure AD. - Ensure that PCs belong to same computer group. ->[!IMPORTANT] ->If you do not see the policy, it may be because you don’t have the ADMX installed for Windows 10, version 1803 or version 1809. To fix the issue, follow these steps: +> [!IMPORTANT] +> If you do not see the policy, it may be because you don’t have the ADMX installed for Windows 10, version 1903 or version 1809. To fix the issue, follow these steps: > 1. Download: -> 1803 -->[Administrative Templates (.admx) for Windows 10 April 2018 Update (1803)](https://www.microsoft.com/download/details.aspx?id=56880) or +> 1903 -->[Administrative Templates for Windows 10 May 2019 Update (1903)](https://www.microsoft.com/download/details.aspx?id=58495) or > 1809 --> [Administrative Templates for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576). -> 2. Install the package on the Primary Domain Controller (PDC). +> 2. Install the package. > 3. Navigate, depending on the version to the folder: -> 1803 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 April 2018 Update (1803) v2**, or +> 1903 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 May 2019 Update (1903) v3**, or > 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2** -> 4. Copy policy definitions folder to **C:\Windows\SYSVOL\domain\Policies**. -> 5. Restart the Primary Domain Controller for the policy to be available. +> 4. Copy policy definitions folder to **C:\Windows\SYSVOL\domain\Policies** or **%windir%\sysvol\domain_name\policies\PolicyDefinitions** if an Group Policy Central Store exists. > This procedure will work for any future version as well. 1. Create a Group Policy Object (GPO) and enable the Group Policy **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **MDM** > **Enable automatic MDM enrollment using default Azure AD credentials**. @@ -226,8 +225,9 @@ To collect Event Viewer logs: - [Link a Group Policy Object](https://technet.microsoft.com/library/cc732979(v=ws.11).aspx) - [Filter Using Security Groups](https://technet.microsoft.com/library/cc752992(v=ws.11).aspx) - [Enforce a Group Policy Object Link](https://technet.microsoft.com/library/cc753909(v=ws.11).aspx) +- [Group Policy Central Store](https://support.microsoft.com/en-gb/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) ### Useful Links -- [Windows 10 Administrative Templates for Windows 10 October 2018 Update 1809](https://www.microsoft.com/download/details.aspx?id=57576) +- [Windows 10 Administrative Templates for Windows 10 May 2019 Update 1903](https://www.microsoft.com/download/details.aspx?id=58495) - [Windows 10 Administrative Templates for Windows 10 April 2018 Update 1803](https://www.microsoft.com/download/details.aspx?id=56880) From 909f55ab308f20690191e21d81a95c7f4ffd85e9 Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Mon, 7 Oct 2019 09:48:14 +0100 Subject: [PATCH 004/393] 1709 or later References to 1709 updated (apart from one) to "1709 or later" to be correct --- ...-a-windows-10-device-automatically-using-group-policy.md | 6 +++--- 1 file changed, 3 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 9160c8b88e..4c9e0ec81a 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 @@ -37,7 +37,7 @@ The auto-enrollment relies on the presence of an MDM service and the Azure Activ When the auto-enrollment Group Policy is enabled, a task is created in the background that initiates the MDM enrollment. The task will use the existing MDM service configuration from the Azure Active Directory information of the user. If multi-factor authentication is required, the user will get a prompt to complete the authentication. Once the enrollment is configured, the user can check the status in the Settings page. -In Windows 10, version 1709, when the same policy is configured in GP and MDM, the GP policy wins (GP policy takes precedence over MDM). Since Windows 10, version 1803, a new setting allows you to change the policy conflict winner to MDM. For additional information, see [Windows 10 Group Policy vs. Intune MDM Policy who wins?](https://blogs.technet.microsoft.com/cbernier/2018/04/02/windows-10-group-policy-vs-intune-mdm-policy-who-wins/). +In Windows 10, version 1709 or later, when the same policy is configured in GP and MDM, the GP policy wins (GP policy takes precedence over MDM). Since Windows 10, version 1803, a new setting allows you to change the policy conflict winner to MDM. For additional information, see [Windows 10 Group Policy vs. Intune MDM Policy who wins?](https://blogs.technet.microsoft.com/cbernier/2018/04/02/windows-10-group-policy-vs-intune-mdm-policy-who-wins/). For this policy to work, you must verify that the MDM service provider allows the GP triggered MDM enrollment for domain joined devices. @@ -90,7 +90,7 @@ You may contact your domain administrators to verify if the group policy has bee This procedure is only for illustration purposes to show how the new auto-enrollment policy works. It is not recommended for the production environment in the enterprise. For bulk deployment, you should use the [Group Policy Management Console process](#configure-the-auto-enrollment-for-a-group-of-devices). Requirements: -- AD-joined PC running Windows 10, version 1709 +- AD-joined PC running Windows 10, version 1709 or later - Enterprise has MDM service already configured - Enterprise AD must be registered with Azure AD @@ -148,7 +148,7 @@ Requirements: ## Configure the auto-enrollment for a group of devices Requirements: -- AD-joined PC running Windows 10, version 1709 +- AD-joined PC running Windows 10, version 1709 or later - Enterprise has MDM service already configured (with Intune or a third party service provider) - Enterprise AD must be integrated with Azure AD. - Ensure that PCs belong to same computer group. From 79e500a3914918ce871172270791440086cef4f9 Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Mon, 7 Oct 2019 17:43:56 +0100 Subject: [PATCH 005/393] Update enroll-a-windows-10-device-automatically-using-group-policy.md --- ...roll-a-windows-10-device-automatically-using-group-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4c9e0ec81a..ee37cbf744 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 @@ -230,4 +230,4 @@ To collect Event Viewer logs: ### Useful Links - [Windows 10 Administrative Templates for Windows 10 May 2019 Update 1903](https://www.microsoft.com/download/details.aspx?id=58495) -- [Windows 10 Administrative Templates for Windows 10 April 2018 Update 1803](https://www.microsoft.com/download/details.aspx?id=56880) +- [Windows 10 Administrative Templates for Windows 10 October 2018 Update 1809](https://www.microsoft.com/download/details.aspx?id=57576) From 764463f940765e76f604eb330456bd8d4f01700b Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Mon, 7 Oct 2019 18:01:50 +0100 Subject: [PATCH 006/393] Update windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- ...roll-a-windows-10-device-automatically-using-group-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ee37cbf744..7459beee1f 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 @@ -162,7 +162,7 @@ Requirements: > 3. Navigate, depending on the version to the folder: > 1903 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 May 2019 Update (1903) v3**, or > 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2** -> 4. Copy policy definitions folder to **C:\Windows\SYSVOL\domain\Policies** or **%windir%\sysvol\domain_name\policies\PolicyDefinitions** if an Group Policy Central Store exists. +> 4. Copy the policy definitions folder to **C:\Windows\SYSVOL\domain\Policies** or **%windir%\sysvol\domain_name\policies\PolicyDefinitions** if a Group Policy Central Store exists. > This procedure will work for any future version as well. 1. Create a Group Policy Object (GPO) and enable the Group Policy **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **MDM** > **Enable automatic MDM enrollment using default Azure AD credentials**. From a575986d059dc69d7d7b6f5b0750d58a1507e65a Mon Sep 17 00:00:00 2001 From: Dani Halfin Date: Fri, 11 Oct 2019 17:27:28 -0700 Subject: [PATCH 007/393] Create stub.md --- windows/privacy/stub.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 windows/privacy/stub.md diff --git a/windows/privacy/stub.md b/windows/privacy/stub.md new file mode 100644 index 0000000000..9daeafb986 --- /dev/null +++ b/windows/privacy/stub.md @@ -0,0 +1 @@ +test From 1a6e0d4ffc3d0bdf4c37fb42c66e5e8226ace2a9 Mon Sep 17 00:00:00 2001 From: Dani Halfin Date: Fri, 11 Oct 2019 17:28:42 -0700 Subject: [PATCH 008/393] Update stub.md --- windows/privacy/stub.md | 61 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/windows/privacy/stub.md b/windows/privacy/stub.md index 9daeafb986..005e79515c 100644 --- a/windows/privacy/stub.md +++ b/windows/privacy/stub.md @@ -1 +1,60 @@ -test +--- +title: Stub topic +description: Use this topic to test localization e2e. +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +audience: ITPro +author: dansimp +ms.author: dansimp +manager: dansimp +ms.collection: M365-security-compliance +ms.topic: article +ms.date: 10/11/2019 +ms.reviewer: +--- +# Windows and the GDPR: Information for IT Administrators and Decision Makers + +Applies to: +- Windows 10, version 1809 +- Windows 10, version 1803 +- Windows 10, version 1709 +- Windows 10, version 1703 +- Windows 10 Team Edition, version 1703 for Surface Hub +- Windows Server 2019 +- Windows Server 2016 +- Windows Analytics + +This topic provides IT Decision Makers with a basic understanding of the relationship between users in an organization and Microsoft in the context of the GDPR (General Data Protection Regulation). You will also learn what role an IT organization plays for that relationship. + +For more information about the GDPR, see: +* [Microsoft GDPR Overview](https://aka.ms/GDPROverview) +* [Microsoft Trust Center FAQs about the GDPR](https://aka.ms/gdpr-faq) +* [Microsoft Service Trust Portal (STP)](https://aka.ms/stp) +* [Get Started: Support for GDPR Accountability](https://servicetrust.microsoft.com/ViewPage/GDPRGetStarted) + +## GDPR fundamentals + +Here are some GDPR fundamentals: + +* On May 25, 2018, this EU data privacy law is implemented. It sets a new global bar for data privacy rights, security, and compliance. +* The GDPR is fundamentally about protecting and enabling the privacy rights of individuals – both customers and employees. +* The European law establishes strict global data privacy requirements governing how organizations manage and protect personal data while respecting individual choice – no matter where data is sent, processed, or stored. +* A request by an individual to an organization to take an action on their personal data is referred to here as a *data subject request*, or *DSR*. + +Microsoft believes data privacy is a fundamental right, and that the GDPR is an important step forward for clarifying and enabling individual privacy rights. We also recognize that the GDPR required significant changes by organizations all over the world with regard to the discovery, management, protection, and reporting of personal data that is collected, processed, and stored within an organization. + +### What is personal data under the GDPR? + +Article 4 (1) of [the GDPR](http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=en) defines personal data as any information relating to an identified or identifiable person. There is no distinction between a person’s private, public, or work roles. As defined by the GDPR, personal data includes, but is not limited to: +* Name +* Email address +* Credit card numbers +* IP addresses +* Social media posts +* Location information +* Handwriting patterns +* Voice input to cloud-based speech services + From df817fa31e08ad4aee7dbda8535f5c6e5bf6cc81 Mon Sep 17 00:00:00 2001 From: Dani Halfin Date: Fri, 11 Oct 2019 17:28:59 -0700 Subject: [PATCH 009/393] Update stub.md --- windows/privacy/stub.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/stub.md b/windows/privacy/stub.md index 005e79515c..9537f0fa72 100644 --- a/windows/privacy/stub.md +++ b/windows/privacy/stub.md @@ -15,7 +15,7 @@ ms.topic: article ms.date: 10/11/2019 ms.reviewer: --- -# Windows and the GDPR: Information for IT Administrators and Decision Makers +# Stub topic Applies to: - Windows 10, version 1809 From 229b88c69e457baca35468ae5bb4c55aee87ed50 Mon Sep 17 00:00:00 2001 From: brianreidc7 <31985319+brianreidc7@users.noreply.github.com> Date: Tue, 22 Oct 2019 09:02:28 +0100 Subject: [PATCH 010/393] Update windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- ...roll-a-windows-10-device-automatically-using-group-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 30f5348c1a..e7ceb4f502 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 @@ -235,7 +235,7 @@ To collect Event Viewer logs: - [Link a Group Policy Object](https://technet.microsoft.com/library/cc732979(v=ws.11).aspx) - [Filter Using Security Groups](https://technet.microsoft.com/library/cc752992(v=ws.11).aspx) - [Enforce a Group Policy Object Link](https://technet.microsoft.com/library/cc753909(v=ws.11).aspx) -- [Group Policy Central Store](https://support.microsoft.com/en-gb/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) +- [Group Policy Central Store](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) ### Useful Links From 70582898fb5bfae15799a98d6a4042dff384b45a Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Sun, 15 Dec 2019 17:49:59 +0530 Subject: [PATCH 011/393] added new policy changes in 1903 added the group policy settings changes from 1809 to may 1903 , under system and windows components --- .../new-policies-for-windows-10.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/windows/client-management/new-policies-for-windows-10.md b/windows/client-management/new-policies-for-windows-10.md index da5cc3e5c8..12fc040cdd 100644 --- a/windows/client-management/new-policies-for-windows-10.md +++ b/windows/client-management/new-policies-for-windows-10.md @@ -25,6 +25,33 @@ ms.topic: reference Windows 10 includes the following new policies for management. [Download the complete set of Administrative Template (.admx) files for Windows 10](https://www.microsoft.com/download/100591). +## New Group Policy settings in Windows 10, version 1903 + +The following Group Policy settings were added in Windows 10, version 1903: + +**System** + +- System\Service Control Manager Access\Security Securty\Enable svchost.exe migitation options +- System\Storage Sense\Allow Storage Sense +- System\Storage Sense\Allow Storage Sense Temporary Files cleanup +- System\Storage Sense\Configure Storage Sense +- System\Storage Sense\Configure Storage Sense Cloud content dehydration threshold +- System\Storage Sense\Configure Storage Sense Recycle Bin cleanup threshold +- System\Storage Sense\Configure Storage Sense Downloads cleanup threshold +- System\Troubleshooting and Diagnostics\Microsoft Support Diagnostic Tool\Troubleshooting:Allow users to access recommended troubleshooting for known problems + + +**Windows Components** + +- Windows Components\App Privacy\Let Windows apps activate with voice +- Windows Components\App Privacy\Let Windows apps activate with voice while the system is locked +- Windows Components\Data Collection and Preview Builds\Allow commercial data pipeline +- Windows Components\Data Collection and Preview Builds\Configure collection of browsing data for Desktop Analytics +- Windows Components\Data Collection and Preview Builds\Configure diagnostic data upload endpoint for Desktop Analytics +- Windows Components\Delivery Optimization\Delay background download Cache Server fallback (in seconds) +- Windows Components\Delivery Optimization\Delay Foreground download Cache Server fallback (in seconds) +- Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment\Use WDDM graphics display driver for Remote Desktop Connections +- Windows Components\Windows Logon Options\Configure the mode of automatically signing in and locking last interactive user after a restart or cold boot ## New Group Policy settings in Windows 10, version 1809 From fe0b76895cd40694645086ccd32fe733d8aeb027 Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Mon, 16 Dec 2019 07:37:29 +0530 Subject: [PATCH 012/393] Update windows/client-management/new-policies-for-windows-10.md accepted Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- windows/client-management/new-policies-for-windows-10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/client-management/new-policies-for-windows-10.md b/windows/client-management/new-policies-for-windows-10.md index 12fc040cdd..8b4d14515d 100644 --- a/windows/client-management/new-policies-for-windows-10.md +++ b/windows/client-management/new-policies-for-windows-10.md @@ -31,7 +31,7 @@ The following Group Policy settings were added in Windows 10, version 1903: **System** -- System\Service Control Manager Access\Security Securty\Enable svchost.exe migitation options +- System\Service Control Manager Settings\Security Settings\Enable svchost.exe mitigation options - System\Storage Sense\Allow Storage Sense - System\Storage Sense\Allow Storage Sense Temporary Files cleanup - System\Storage Sense\Configure Storage Sense @@ -523,4 +523,3 @@ No new [Exchange ActiveSync policies](https://go.microsoft.com/fwlink/p/?LinkId= - From c61d125833622c011b3e83a73eced39c0a841e7b Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Sat, 11 Jan 2020 20:05:06 +0530 Subject: [PATCH 013/393] added two titles with corresponding links and location of tools i added the following tools **Recovery Drive with website link*& **Registry Editor with website link** added the sentences **Below tools are located under C:\Windows\Sytem32\** --- .../client-management/administrative-tools-in-windows-10.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/client-management/administrative-tools-in-windows-10.md b/windows/client-management/administrative-tools-in-windows-10.md index 35c0f225b0..883afe3b41 100644 --- a/windows/client-management/administrative-tools-in-windows-10.md +++ b/windows/client-management/administrative-tools-in-windows-10.md @@ -29,7 +29,7 @@ The tools in the folder might vary depending on which edition of Windows you are ![Screenshot of folder of admin tools](images/admin-tools-folder.png) -These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list links to documentation for each tool. +These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list links to documentation for each tool.Below tools are located under C:\Windows\Sytem32\ @@ -43,6 +43,8 @@ These tools were included in previous versions of Windows and the associated doc - [ODBC Data Sources]( https://go.microsoft.com/fwlink/p/?LinkId=708494) - [Performance Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708495) - [Print Management](https://go.microsoft.com/fwlink/p/?LinkId=708496) +- [Recovery Drive](https://support.microsoft.com/en-us/help/4026852/windows-create-a-recovery-drive) +- [Registry Editor](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry) - [Resource Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708497) - [Services](https://go.microsoft.com/fwlink/p/?LinkId=708498) - [System Configuration](https://go.microsoft.com/fwlink/p/?LinkId=708499) From 8eab7420a97e7a8e5bedd0cd15f8da5a89b6c3b8 Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Sat, 11 Jan 2020 22:39:27 +0530 Subject: [PATCH 014/393] Update windows/client-management/administrative-tools-in-windows-10.md Thanks sir . I accepted Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- .../client-management/administrative-tools-in-windows-10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/client-management/administrative-tools-in-windows-10.md b/windows/client-management/administrative-tools-in-windows-10.md index 883afe3b41..d4caf190cb 100644 --- a/windows/client-management/administrative-tools-in-windows-10.md +++ b/windows/client-management/administrative-tools-in-windows-10.md @@ -29,7 +29,7 @@ The tools in the folder might vary depending on which edition of Windows you are ![Screenshot of folder of admin tools](images/admin-tools-folder.png) -These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list links to documentation for each tool.Below tools are located under C:\Windows\Sytem32\ +These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list links to documentation for each tool. The tools are located within the folder C:\Windows\System32\ or its subfolders. @@ -65,4 +65,3 @@ These tools were included in previous versions of Windows and the associated doc - From 391ff06cfa8ccc1896220078377d566f6c44cf7b Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:17:01 +0530 Subject: [PATCH 015/393] Update windows/client-management/administrative-tools-in-windows-10.md ok accepted Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../client-management/administrative-tools-in-windows-10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/client-management/administrative-tools-in-windows-10.md b/windows/client-management/administrative-tools-in-windows-10.md index d4caf190cb..0ecc65a84f 100644 --- a/windows/client-management/administrative-tools-in-windows-10.md +++ b/windows/client-management/administrative-tools-in-windows-10.md @@ -44,7 +44,7 @@ These tools were included in previous versions of Windows and the associated doc - [Performance Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708495) - [Print Management](https://go.microsoft.com/fwlink/p/?LinkId=708496) - [Recovery Drive](https://support.microsoft.com/en-us/help/4026852/windows-create-a-recovery-drive) -- [Registry Editor](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry) +- [Registry Editor](https://docs.microsoft.com/windows/win32/sysinfo/registry) - [Resource Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708497) - [Services](https://go.microsoft.com/fwlink/p/?LinkId=708498) - [System Configuration](https://go.microsoft.com/fwlink/p/?LinkId=708499) @@ -64,4 +64,3 @@ These tools were included in previous versions of Windows and the associated doc - From 90252b31f7ac8b1654b056bd4d8d27213ea10b06 Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:18:15 +0530 Subject: [PATCH 016/393] Update windows/client-management/administrative-tools-in-windows-10.md I tested on my laptop. so the files are under system32 , not in sub folder Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../client-management/administrative-tools-in-windows-10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/client-management/administrative-tools-in-windows-10.md b/windows/client-management/administrative-tools-in-windows-10.md index 0ecc65a84f..6320e35cdf 100644 --- a/windows/client-management/administrative-tools-in-windows-10.md +++ b/windows/client-management/administrative-tools-in-windows-10.md @@ -29,7 +29,7 @@ The tools in the folder might vary depending on which edition of Windows you are ![Screenshot of folder of admin tools](images/admin-tools-folder.png) -These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list links to documentation for each tool. The tools are located within the folder C:\Windows\System32\ or its subfolders. +These tools were included in previous versions of Windows and the associated documentation for each tool should help you use these tools in Windows 10. The following list provides links to documentation for each tool. The tools are located within the folder C:\Windows\System32\ or its subfolders. @@ -63,4 +63,3 @@ These tools were included in previous versions of Windows and the associated doc - From a2a9672a248a3a8a2b53ad04aa97d5c53a0858d8 Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Mon, 13 Jan 2020 01:20:03 +0530 Subject: [PATCH 017/393] Update windows/client-management/administrative-tools-in-windows-10.md accepted Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../client-management/administrative-tools-in-windows-10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/client-management/administrative-tools-in-windows-10.md b/windows/client-management/administrative-tools-in-windows-10.md index 6320e35cdf..91bc510d5f 100644 --- a/windows/client-management/administrative-tools-in-windows-10.md +++ b/windows/client-management/administrative-tools-in-windows-10.md @@ -43,7 +43,7 @@ These tools were included in previous versions of Windows and the associated doc - [ODBC Data Sources]( https://go.microsoft.com/fwlink/p/?LinkId=708494) - [Performance Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708495) - [Print Management](https://go.microsoft.com/fwlink/p/?LinkId=708496) -- [Recovery Drive](https://support.microsoft.com/en-us/help/4026852/windows-create-a-recovery-drive) +- [Recovery Drive](https://support.microsoft.com/help/4026852/windows-create-a-recovery-drive) - [Registry Editor](https://docs.microsoft.com/windows/win32/sysinfo/registry) - [Resource Monitor](https://go.microsoft.com/fwlink/p/?LinkId=708497) - [Services](https://go.microsoft.com/fwlink/p/?LinkId=708498) @@ -62,4 +62,3 @@ These tools were included in previous versions of Windows and the associated doc - From 3bcacc95afa83a3dc958710d720e0c6816882843 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sat, 25 Jan 2020 21:57:26 +0500 Subject: [PATCH 018/393] Update hello-hybrid-aadj-sso-base.md --- .../hello-for-business/hello-hybrid-aadj-sso-base.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md index 54e4021adc..e9b63900ff 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md @@ -290,6 +290,8 @@ A **Trusted Certificate** device configuration profile is how you deploy trusted 5. In the **Enterprise Root Certificate** blade, click **Assignments**. In the **Include** tab, select **All Devices** from the **Assign to** list. Click **Save**. ![Intune Profile assignment](images/aadj/intune-device-config-enterprise-root-assignment.png) 6. Sign out of the Microsoft Azure Portal. +> [!NOTE] +> After the creation, the **supported platform** parameter of the profile will have value "Windows 8.1 and later", as the certificate configuration for Windows 8.1 and Windows 10 is the same. ## Configure Windows Hello for Business Device Enrollment From e03af423faf9b650141e6d2692881766db8354de Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Mon, 27 Jan 2020 11:14:20 +0500 Subject: [PATCH 019/393] Update windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- .../hello-for-business/hello-hybrid-aadj-sso-base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md index e9b63900ff..7c5404142f 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-base.md @@ -291,7 +291,7 @@ A **Trusted Certificate** device configuration profile is how you deploy trusted ![Intune Profile assignment](images/aadj/intune-device-config-enterprise-root-assignment.png) 6. Sign out of the Microsoft Azure Portal. > [!NOTE] -> After the creation, the **supported platform** parameter of the profile will have value "Windows 8.1 and later", as the certificate configuration for Windows 8.1 and Windows 10 is the same. +> After the creation, the **supported platform** parameter of the profile will contain the value "Windows 8.1 and later", as the certificate configuration for Windows 8.1 and Windows 10 is the same. ## Configure Windows Hello for Business Device Enrollment From e8bf7e55c1069226b575a1320cb9764ced0950d4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 12:40:35 -0800 Subject: [PATCH 020/393] testing new toc --- windows/deployment/TOC.md | 288 ++++---------------------------------- 1 file changed, 31 insertions(+), 257 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index ef3757e12b..57164b2217 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -1,47 +1,42 @@ # [Deploy and update Windows 10](https://docs.microsoft.com/windows/deployment) -## [Deployment process posters](windows-10-deployment-posters.md) -## [Deploy Windows 10 with Microsoft 365](deploy-m365.md) ## [What's new in Windows 10 deployment](deploy-whats-new.md) -## [Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) -## [Windows Autopilot](windows-autopilot/windows-autopilot.md) +## [Windows as a service](update/windows-as-a-service.md) -## Subscription Activation -### [Windows 10 Subscription Activation](windows-10-subscription-activation.md) -### [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md) -### [Configure VDA for Subscription Activation](vda-subscription-activation.md) -### [Deploy Windows 10 Enterprise licenses](deploy-enterprise-licenses.md) +## Get started +### [Deployment process posters](windows-10-deployment-posters.md) +### [Deploy Windows 10 with Microsoft 365](deploy-m365.md) -## Resolve upgrade errors -### [Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) -### [Quick fixes](upgrade\quick-fixes.md) -### [SetupDiag](upgrade/setupdiag.md) -### [Troubleshooting upgrade errors](upgrade/troubleshoot-upgrade-errors.md) -### [Windows error reporting](upgrade/windows-error-reporting.md) -### [Upgrade error codes](upgrade/upgrade-error-codes.md) -### [Log files](upgrade/log-files.md) -### [Resolution procedures](upgrade/resolution-procedures.md) -### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) +## Plan for deployment +### [Windows 10 Enterprise FAQ for IT Pros](planning/windows-10-enterprise-faq-itpro.md) +### [Windows 10 deployment considerations](planning/windows-10-deployment-considerations.md) +### [Windows 10 compatibility](planning/windows-10-compatibility.md) +### [Windows 10 infrastructure requirements](planning/windows-10-infrastructure-requirements.md) ## Deploy Windows 10 -### [Deploying Windows 10](deploy.md) - ### [Windows Autopilot](windows-autopilot/windows-autopilot.md) -### [Windows 10 upgrade paths](upgrade/windows-10-upgrade-paths.md) -### [Windows 10 edition upgrade](upgrade/windows-10-edition-upgrades.md) -### [Windows 10 volume license media](windows-10-media.md) +### Subscription Activation +#### [Windows 10 Subscription Activation](windows-10-subscription-activation.md) +#### [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md) +#### [Configure VDA for Subscription Activation](vda-subscription-activation.md) +#### [Deploy Windows 10 Enterprise licenses](deploy-enterprise-licenses.md) -### [Windows 10 in S mode](s-mode.md) -#### [Switch to Windows 10 Pro/Enterprise from S mode](windows-10-pro-in-s-mode.md) +## Manage Windows 10 updates +### [Windows as a service - introduction](update/windows-as-a-service.md) +### [Quick guide to Windows as a service](update/waas-quick-start.md) +### [Servicing stack updates](update/servicing-stack-updates.md) +### [Overview of Windows as a service](update/waas-overview.md) -### [Windows 10 deployment test lab](windows-10-poc.md) -#### [Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit](windows-10-poc-mdt.md) -#### [Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager](windows-10-poc-sc-config-mgr.md) - -### [Plan for Windows 10 deployment](planning/index.md) -#### [Windows 10 Enterprise FAQ for IT Pros](planning/windows-10-enterprise-faq-itpro.md) -#### [Windows 10 deployment considerations](planning/windows-10-deployment-considerations.md) -#### [Windows 10 compatibility](planning/windows-10-compatibility.md) -#### [Windows 10 infrastructure requirements](planning/windows-10-infrastructure-requirements.md) +## Reference +### Resolve upgrade errors +#### [Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) +#### [Quick fixes](upgrade\quick-fixes.md) +#### [SetupDiag](upgrade/setupdiag.md) +#### [Troubleshooting upgrade errors](upgrade/troubleshoot-upgrade-errors.md) +#### [Windows error reporting](upgrade/windows-error-reporting.md) +#### [Upgrade error codes](upgrade/upgrade-error-codes.md) +#### [Log files](upgrade/log-files.md) +#### [Resolution procedures](upgrade/resolution-procedures.md) +#### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) #### [Volume Activation [client]](volume-activation/volume-activation-windows-10.md) ##### [Plan for volume activation [client]](volume-activation/plan-for-volume-activation-client.md) @@ -50,225 +45,4 @@ ##### [Activate clients running Windows 10](volume-activation/activate-windows-10-clients-vamt.md) ##### [Monitor activation [client]](volume-activation/monitor-activation-client.md) ##### [Use the Volume Activation Management Tool [client]](volume-activation/use-the-volume-activation-management-tool-client.md) -##### [Appendix: Information sent to Microsoft during activation [client]](volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md) - -#### [Application Compatibility Toolkit (ACT) Technical Reference](planning/act-technical-reference.md) -##### [SUA User's Guide](planning/sua-users-guide.md) -###### [Using the SUA Wizard](planning/using-the-sua-wizard.md) -###### [Using the SUA Tool](planning/using-the-sua-tool.md) -####### [Tabs on the SUA Tool Interface](planning/tabs-on-the-sua-tool-interface.md) -####### [Showing Messages Generated by the SUA Tool](planning/showing-messages-generated-by-the-sua-tool.md) -####### [Applying Filters to Data in the SUA Tool](planning/applying-filters-to-data-in-the-sua-tool.md) -####### [Fixing Applications by Using the SUA Tool](planning/fixing-applications-by-using-the-sua-tool.md) -##### [Compatibility Administrator User's Guide](planning/compatibility-administrator-users-guide.md) -###### [Using the Compatibility Administrator Tool](planning/using-the-compatibility-administrator-tool.md) -####### [Available Data Types and Operators in Compatibility Administrator](planning/available-data-types-and-operators-in-compatibility-administrator.md) -####### [Searching for Fixed Applications in Compatibility Administrator](planning/searching-for-fixed-applications-in-compatibility-administrator.md) -####### [Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator](planning/searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md) -####### [Creating a Custom Compatibility Fix in Compatibility Administrator](planning/creating-a-custom-compatibility-fix-in-compatibility-administrator.md) -####### [Creating a Custom Compatibility Mode in Compatibility Administrator](planning/creating-a-custom-compatibility-mode-in-compatibility-administrator.md) -####### [Creating an AppHelp Message in Compatibility Administrator](planning/creating-an-apphelp-message-in-compatibility-administrator.md) -####### [Viewing the Events Screen in Compatibility Administrator](planning/viewing-the-events-screen-in-compatibility-administrator.md) -####### [Enabling and Disabling Compatibility Fixes in Compatibility Administrator](planning/enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md) -####### [Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator](planning/installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md) -###### [Managing Application-Compatibility Fixes and Custom Fix Databases](planning/managing-application-compatibility-fixes-and-custom-fix-databases.md) -####### [Understanding and Using Compatibility Fixes](planning/understanding-and-using-compatibility-fixes.md) -####### [Compatibility Fix Database Management Strategies and Deployment](planning/compatibility-fix-database-management-strategies-and-deployment.md) -####### [Testing Your Application Mitigation Packages](planning/testing-your-application-mitigation-packages.md) -###### [Using the Sdbinst.exe Command-Line Tool](planning/using-the-sdbinstexe-command-line-tool.md) -##### [Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista](planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md) - - -### [Deploy Windows 10 with the Microsoft Deployment Toolkit](deploy-windows-mdt/deploy-windows-10-with-the-microsoft-deployment-toolkit.md) -#### [Get started with the Microsoft Deployment Toolkit (MDT)](deploy-windows-mdt/get-started-with-the-microsoft-deployment-toolkit.md) -##### [Key features in MDT](deploy-windows-mdt/key-features-in-mdt.md) -##### [MDT Lite Touch components](deploy-windows-mdt/mdt-lite-touch-components.md) -##### [Prepare for deployment with MDT](deploy-windows-mdt/prepare-for-windows-deployment-with-mdt.md) - -#### [Create a Windows 10 reference image](deploy-windows-mdt/create-a-windows-10-reference-image.md) -#### [Deploy a Windows 10 image using MDT](deploy-windows-mdt/deploy-a-windows-10-image-using-mdt.md) -#### [Build a distributed environment for Windows 10 deployment](deploy-windows-mdt/build-a-distributed-environment-for-windows-10-deployment.md) -#### [Refresh a Windows 7 computer with Windows 10](deploy-windows-mdt/refresh-a-windows-7-computer-with-windows-10.md) -#### [Replace a Windows 7 computer with a Windows 10 computer](deploy-windows-mdt/replace-a-windows-7-computer-with-a-windows-10-computer.md) -#### [Perform an in-place upgrade to Windows 10 with MDT](upgrade/upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md) -#### [Configure MDT settings](deploy-windows-mdt/configure-mdt-settings.md) -##### [Set up MDT for BitLocker](deploy-windows-mdt/set-up-mdt-for-bitlocker.md) -##### [Configure MDT deployment share rules](deploy-windows-mdt/configure-mdt-deployment-share-rules.md) -##### [Configure MDT for UserExit scripts](deploy-windows-mdt/configure-mdt-for-userexit-scripts.md) -##### [Simulate a Windows 10 deployment in a test environment](deploy-windows-mdt/simulate-a-windows-10-deployment-in-a-test-environment.md) -##### [Use the MDT database to stage Windows 10 deployment information](deploy-windows-mdt/use-the-mdt-database-to-stage-windows-10-deployment-information.md) -##### [Assign applications using roles in MDT](deploy-windows-mdt/assign-applications-using-roles-in-mdt.md) -##### [Use web services in MDT](deploy-windows-mdt/use-web-services-in-mdt.md) -##### [Use Orchestrator runbooks with MDT](deploy-windows-mdt/use-orchestrator-runbooks-with-mdt.md) - -### [Deploy Windows 10 with System Center 2012 R2 Configuration Manager](deploy-windows-sccm/deploy-windows-10-with-system-center-2012-r2-configuration-manager.md) -#### [Integrate Configuration Manager with MDT](deploy-windows-mdt/integrate-configuration-manager-with-mdt.md) -#### [Prepare for Zero Touch Installation of Windows 10 with Configuration Manager](deploy-windows-sccm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md) -#### [Create a custom Windows PE boot image with Configuration Manager](deploy-windows-sccm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md) -#### [Add a Windows 10 operating system image using Configuration Manager](deploy-windows-sccm/add-a-windows-10-operating-system-image-using-configuration-manager.md) -#### [Create an application to deploy with Windows 10 using Configuration Manager](deploy-windows-sccm/create-an-application-to-deploy-with-windows-10-using-configuration-manager.md) -#### [Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager](deploy-windows-sccm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md) -#### [Create a task sequence with Configuration Manager and MDT](deploy-windows-mdt/create-a-task-sequence-with-configuration-manager-and-mdt.md) -#### [Finalize the operating system configuration for Windows 10 deployment with Configuration Manager](deploy-windows-sccm/finalize-the-os-configuration-for-windows-10-deployment-with-configuration-manager.md) -#### [Deploy Windows 10 using PXE and Configuration Manager](deploy-windows-sccm/deploy-windows-10-using-pxe-and-configuration-manager.md) -#### [Monitor the Windows 10 deployment with Configuration Manager](deploy-windows-sccm/monitor-windows-10-deployment-with-configuration-manager.md) -#### [Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager](deploy-windows-sccm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md) -#### [Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager](deploy-windows-sccm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md) -#### [Perform an in-place upgrade to Windows 10 using Configuration Manager](upgrade/upgrade-to-windows-10-with-system-center-configuraton-manager.md) - -### [Windows 10 deployment tools](windows-10-deployment-tools.md) - -#### [Windows 10 deployment scenarios and tools](windows-deployment-scenarios-and-tools.md) -#### [Convert MBR partition to GPT](mbr-to-gpt.md) -#### [Configure a PXE server to load Windows PE](configure-a-pxe-server-to-load-windows-pe.md) -#### [Windows ADK for Windows 10 scenarios for IT Pros](windows-adk-scenarios-for-it-pros.md) - -#### [Deploy Windows To Go in your organization](deploy-windows-to-go.md) -##### [Windows To Go: feature overview](planning/windows-to-go-overview.md) -###### [Best practice recommendations for Windows To Go](planning/best-practice-recommendations-for-windows-to-go.md) -###### [Deployment considerations for Windows To Go](planning/deployment-considerations-for-windows-to-go.md) -###### [Prepare your organization for Windows To Go](planning/prepare-your-organization-for-windows-to-go.md) -###### [Security and data protection considerations for Windows To Go](planning/security-and-data-protection-considerations-for-windows-to-go.md) -###### [Windows To Go: frequently asked questions](planning/windows-to-go-frequently-asked-questions.md) - -#### [Volume Activation Management Tool (VAMT) Technical Reference](volume-activation/volume-activation-management-tool.md) -##### [Introduction to VAMT](volume-activation/introduction-vamt.md) -##### [Active Directory-Based Activation Overview](volume-activation/active-directory-based-activation-overview.md) -##### [Install and Configure VAMT](volume-activation/install-configure-vamt.md) -###### [VAMT Requirements](volume-activation/vamt-requirements.md) -###### [Install VAMT](volume-activation/install-vamt.md) -###### [Configure Client Computers](volume-activation/configure-client-computers-vamt.md) -##### [Add and Manage Products](volume-activation/add-manage-products-vamt.md) -###### [Add and Remove Computers](volume-activation/add-remove-computers-vamt.md) -###### [Update Product Status](volume-activation/update-product-status-vamt.md) -###### [Remove Products](volume-activation/remove-products-vamt.md) -##### [Manage Product Keys](volume-activation/manage-product-keys-vamt.md) -###### [Add and Remove a Product Key](volume-activation/add-remove-product-key-vamt.md) -###### [Install a Product Key](volume-activation/install-product-key-vamt.md) -###### [Install a KMS Client Key](volume-activation/install-kms-client-key-vamt.md) -##### [Manage Activations](volume-activation/manage-activations-vamt.md) -###### [Perform Online Activation](volume-activation/online-activation-vamt.md) -###### [Perform Proxy Activation](volume-activation/proxy-activation-vamt.md) -###### [Perform KMS Activation](volume-activation/kms-activation-vamt.md) -###### [Perform Local Reactivation](volume-activation/local-reactivation-vamt.md) -###### [Activate an Active Directory Forest Online](volume-activation/activate-forest-vamt.md) -###### [Activate by Proxy an Active Directory Forest](volume-activation/activate-forest-by-proxy-vamt.md) -##### [Manage VAMT Data](volume-activation/manage-vamt-data.md) -###### [Import and Export VAMT Data](volume-activation/import-export-vamt-data.md) -###### [Use VAMT in Windows PowerShell](volume-activation/use-vamt-in-windows-powershell.md) -##### [VAMT Step-by-Step Scenarios](volume-activation/vamt-step-by-step.md) -###### [Scenario 1: Online Activation](volume-activation/scenario-online-activation-vamt.md) -###### [Scenario 2: Proxy Activation](volume-activation/scenario-proxy-activation-vamt.md) -###### [Scenario 3: KMS Client Activation](volume-activation/scenario-kms-activation-vamt.md) -##### [VAMT Known Issues](volume-activation/vamt-known-issues.md) -#### [User State Migration Tool (USMT) Technical Reference](usmt/usmt-technical-reference.md) -##### [User State Migration Tool (USMT) Overview Topics](usmt/usmt-topics.md) -###### [User State Migration Tool (USMT) Overview](usmt/usmt-overview.md) -###### [Getting Started with the User State Migration Tool (USMT)](usmt/getting-started-with-the-user-state-migration-tool.md) -###### [Windows Upgrade and Migration Considerations](upgrade/windows-upgrade-and-migration-considerations.md) -##### [User State Migration Tool (USMT) How-to topics](usmt/usmt-how-to.md) -###### [Exclude Files and Settings](usmt/usmt-exclude-files-and-settings.md) -###### [Extract Files from a Compressed USMT Migration Store](usmt/usmt-extract-files-from-a-compressed-migration-store.md) -###### [Include Files and Settings](usmt/usmt-include-files-and-settings.md) -###### [Migrate Application Settings](usmt/migrate-application-settings.md) -###### [Migrate EFS Files and Certificates](usmt/usmt-migrate-efs-files-and-certificates.md) -###### [Migrate User Accounts](usmt/usmt-migrate-user-accounts.md) -###### [Reroute Files and Settings](usmt/usmt-reroute-files-and-settings.md) -###### [Verify the Condition of a Compressed Migration Store](usmt/verify-the-condition-of-a-compressed-migration-store.md) -##### [User State Migration Tool (USMT) Troubleshooting](usmt/usmt-troubleshooting.md) -###### [Common Issues](usmt/usmt-common-issues.md) -###### [Frequently Asked Questions](usmt/usmt-faq.md) -###### [Log Files](usmt/usmt-log-files.md) -###### [Return Codes](usmt/usmt-return-codes.md) -###### [USMT Resources](usmt/usmt-resources.md) -##### [User State Migration Toolkit (USMT) Reference](usmt/usmt-reference.md) -###### [USMT Requirements](usmt/usmt-requirements.md) -###### [USMT Best Practices](usmt/usmt-best-practices.md) -###### [How USMT Works](usmt/usmt-how-it-works.md) -###### [Plan Your Migration](usmt/usmt-plan-your-migration.md) -####### [Common Migration Scenarios](usmt/usmt-common-migration-scenarios.md) -####### [What Does USMT Migrate?](usmt/usmt-what-does-usmt-migrate.md) -####### [Choose a Migration Store Type](usmt/usmt-choose-migration-store-type.md) -######## [Migration Store Types Overview](usmt/migration-store-types-overview.md) -######## [Estimate Migration Store Size](usmt/usmt-estimate-migration-store-size.md) -######## [Hard-Link Migration Store](usmt/usmt-hard-link-migration-store.md) -######## [Migration Store Encryption](usmt/usmt-migration-store-encryption.md) -####### [Determine What to Migrate](usmt/usmt-determine-what-to-migrate.md) -######## [Identify Users](usmt/usmt-identify-users.md) -######## [Identify Applications Settings](usmt/usmt-identify-application-settings.md) -######## [Identify Operating System Settings](usmt/usmt-identify-operating-system-settings.md) -######## [Identify File Types, Files, and Folders](usmt/usmt-identify-file-types-files-and-folders.md) -####### [Test Your Migration](usmt/usmt-test-your-migration.md) -###### [User State Migration Tool (USMT) Command-line Syntax](usmt/usmt-command-line-syntax.md) -####### [ScanState Syntax](usmt/usmt-scanstate-syntax.md) -####### [LoadState Syntax](usmt/usmt-loadstate-syntax.md) -####### [UsmtUtils Syntax](usmt/usmt-utilities.md) -###### [USMT XML Reference](usmt/usmt-xml-reference.md) -####### [Understanding Migration XML Files](usmt/understanding-migration-xml-files.md) -####### [Config.xml File](usmt/usmt-configxml-file.md) -####### [Customize USMT XML Files](usmt/usmt-customize-xml-files.md) -####### [Custom XML Examples](usmt/usmt-custom-xml-examples.md) -####### [Conflicts and Precedence](usmt/usmt-conflicts-and-precedence.md) -####### [General Conventions](usmt/usmt-general-conventions.md) -####### [XML File Requirements](usmt/xml-file-requirements.md) -####### [Recognized Environment Variables](usmt/usmt-recognized-environment-variables.md) -####### [XML Elements Library](usmt/usmt-xml-elements-library.md) -###### [Offline Migration Reference](usmt/offline-migration-reference.md) -### [Install fonts in Windows 10](windows-10-missing-fonts.md) - -## Update Windows 10 -### [Update Windows 10 in enterprise deployments](update/index.md) -### Windows as a service -#### [Windows as a service - introduction](update/windows-as-a-service.md) -#### [Quick guide to Windows as a service](update/waas-quick-start.md) -#### [Servicing stack updates](update/servicing-stack-updates.md) -#### [Overview of Windows as a service](update/waas-overview.md) -### [Prepare servicing strategy for Windows 10 updates](update/waas-servicing-strategy-windows-10-updates.md) -### [Build deployment rings for Windows 10 updates](update/waas-deployment-rings-windows-10-updates.md) -### [Assign devices to servicing channels for Windows 10 updates](update/waas-servicing-channels-windows-10-updates.md) -### Get started -#### [Get started with Windows Update](update/windows-update-overview.md) -#### [How Windows Update works](update/how-windows-update-works.md) -#### [Windows Update log files](update/windows-update-logs.md) -#### [How to troubleshoot Windows Update](update/windows-update-troubleshooting.md) -#### [Common Windows Update errors](update/windows-update-errors.md) -#### [Windows Update error code reference](update/windows-update-error-reference.md) -#### [Other Windows Update resources](update/windows-update-resources.md) -### Optimize delivery -#### [Optimize Windows 10 update delivery](update/waas-optimize-windows-10-updates.md) -#### [Delivery Optimization for Windows 10 updates](update/waas-delivery-optimization.md) -#### [Set up Delivery Optimization for Windows 10 updates](update/waas-delivery-optimization-setup.md) -#### [Delivery Optimization reference](update/waas-delivery-optimization-reference.md) -#### [Configure BranchCache for Windows 10 updates](update/waas-branchcache.md) -#### [Whitepaper: Windows Updates using forward and reverse differentials](update/PSFxWhitepaper.md) -### Monitor Windows Updates -#### [Monitor Windows Updates with Update Compliance](update/update-compliance-monitor.md) -#### [Get started with Update Compliance](update/update-compliance-get-started.md) -#### [Use Update Compliance](update/update-compliance-using.md) -##### [Need Attention! report](update/update-compliance-need-attention.md) -##### [Security Update Status report](update/update-compliance-security-update-status.md) -##### [Feature Update Status report](update/update-compliance-feature-update-status.md) -##### [Windows Defender AV Status report](update/update-compliance-wd-av-status.md) -##### [Delivery Optimization in Update Compliance](update/update-compliance-delivery-optimization.md) -##### [Update Compliance Perspectives](update/update-compliance-perspectives.md) -### Best practices -#### [Best practices for feature updates on mission-critical devices](update/feature-update-mission-critical.md) -#### [Deploy feature updates during maintenance windows](update/feature-update-maintenance-window.md) -#### [Deploy feature updates for user-initiated installations](update/feature-update-user-install.md) -#### [Conclusion](update/feature-update-conclusion.md) -### [Deploy updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile](update/waas-mobile-updates.md) -### Use Windows Update for Business -#### [Deploy updates using Windows Update for Business](update/waas-manage-updates-wufb.md) -#### [Configure Windows Update for Business](update/waas-configure-wufb.md) -#### [Enforcing compliance deadlines for updates](update/wufb-compliancedeadlines.md) -#### [Integrate Windows Update for Business with management solutions](update/waas-integrate-wufb.md) -#### [Walkthrough: use Group Policy to configure Windows Update for Business](update/waas-wufb-group-policy.md) -#### [Walkthrough: use Intune to configure Windows Update for Business](https://docs.microsoft.com/intune/windows-update-for-business-configure) -### Use Windows Server Update Services -#### [Deploy Windows 10 updates using Windows Server Update Services](update/waas-manage-updates-wsus.md) -#### [Enable FoD and language pack updates in Windows Update](update/fod-and-lang-packs.md) -### [Deploy Windows 10 updates using Microsoft Endpoint Configuration Manager](update/waas-manage-updates-configuration-manager.md) -### [Manage device restarts after updates](update/waas-restart.md) -### [Manage additional Windows Update settings](update/waas-wu-settings.md) -### [Determine the source of Windows updates](update/windows-update-sources.md) - +##### [Appendix: Information sent to Microsoft during activation [client]](volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md) \ No newline at end of file From ca7a8d3352f54863a9b2ce9e08e0371727bd0d44 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 12:53:56 -0800 Subject: [PATCH 021/393] toc --- windows/deployment/TOC.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 57164b2217..94f764f5ee 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -2,9 +2,14 @@ ## [What's new in Windows 10 deployment](deploy-whats-new.md) ## [Windows as a service](update/windows-as-a-service.md) -## Get started +## Explore +### [Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) ### [Deployment process posters](windows-10-deployment-posters.md) ### [Deploy Windows 10 with Microsoft 365](deploy-m365.md) +### Windows 10 deployment lab +#### [Windows 10 deployment test lab](windows-10-poc.md) +#### [Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit](windows-10-poc-mdt.md) +#### [Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager](windows-10-poc-sc-config-mgr.md) ## Plan for deployment ### [Windows 10 Enterprise FAQ for IT Pros](planning/windows-10-enterprise-faq-itpro.md) @@ -14,6 +19,8 @@ ## Deploy Windows 10 ### [Windows Autopilot](windows-autopilot/windows-autopilot.md) +### [Deploy Windows 10 with the Microsoft Deployment Toolkit](deploy-windows-mdt/deploy-windows-10-with-the-microsoft-deployment-toolkit.md) +### [Deploy Windows 10 with System Center 2012 R2 Configuration Manager](deploy-windows-sccm/deploy-windows-10-with-system-center-2012-r2-configuration-manager.md) ### Subscription Activation #### [Windows 10 Subscription Activation](windows-10-subscription-activation.md) #### [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md) @@ -38,6 +45,9 @@ #### [Resolution procedures](upgrade/resolution-procedures.md) #### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) +### [Windows 10 in S mode](s-mode.md) +#### [Switch to Windows 10 Pro/Enterprise from S mode](windows-10-pro-in-s-mode.md) + #### [Volume Activation [client]](volume-activation/volume-activation-windows-10.md) ##### [Plan for volume activation [client]](volume-activation/plan-for-volume-activation-client.md) ##### [Activate using Key Management Service [client]](volume-activation/activate-using-key-management-service-vamt.md) From 00a4f8f28f7a091bcb82091baa4ed5a200662965 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 15:36:45 -0800 Subject: [PATCH 022/393] landing page --- windows/deployment/index.md | 212 +++++++++++++++++++++++++++++++++++ windows/deployment/index.yml | 105 ----------------- 2 files changed, 212 insertions(+), 105 deletions(-) create mode 100644 windows/deployment/index.md delete mode 100644 windows/deployment/index.yml diff --git a/windows/deployment/index.md b/windows/deployment/index.md new file mode 100644 index 0000000000..13d58b54de --- /dev/null +++ b/windows/deployment/index.md @@ -0,0 +1,212 @@ +--- +layout: HubPage +hide_bc: false +description: Windows 10 deployment resources and documentation for admins & IT professionals +ms.author: greglin +author: greg-lindsay +ms.topic: hub-page +keywords: Windows 10 Enterprise, deploy, plan, test +localization_priority: Normal +audience: itpro +ms.prod: w10 +title: Windows 10 deployment resources and documentation for admins & IT professionals +description: Windows 10 deployment resources and documentation for admins & IT professionals +--- +
+
+

Windows 10 deployment resources and documentation

+

Learn how to test, plan, and deploy Windows 10 in your organization.

+

+ +
+
diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml deleted file mode 100644 index 4414c1e8fe..0000000000 --- a/windows/deployment/index.yml +++ /dev/null @@ -1,105 +0,0 @@ -### YamlMime:YamlDocument - -documentType: LandingData -title: Deploy and update Windows 10 -metadata: - document_id: - title: Deploy and update Windows 10 - description: Deploying and updating Windows 10 for IT professionals. - keywords: deploy, update, Windows, service, Microsoft365, e5, e3 - ms.localizationpriority: high - author: greg-lindsay - ms.author: greglin - manager: laurawi - ms.topic: article - ms.devlang: na - -sections: -- items: - - type: markdown - text: Learn about deployment of Windows 10 for IT professionals. This includes deploying the operating system, upgrading to it from previous versions and updating Windows 10. -- items: - - type: list - style: cards - className: cardsM - columns: 3 - items: - - href: windows-10-deployment-scenarios - html:

Understand the different ways that Windows 10 can be deployed

- image: - src: https://docs.microsoft.com/media/common/i_deploy.svg" - title: Windows 10 deployment scenarios - - href: update - html:

Update Windows 10 in the enterprise

- image: - src: https://docs.microsoft.com/media/common/i_upgrade.svg - title: Windows as a service - - href: windows-autopilot/windows-autopilot - html:

Windows Autopilot greatly simplifies deployment of Windows devices

- image: - src: https://docs.microsoft.com/media/common/i_delivery.svg - title: Windows Autopilot -- title: -- items: - - type: markdown - text: " -
- - - - - - - -
[Modern Desktop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home) Check out the new Modern Deskop Deployment Center and discover content to help you with your Windows 10 and Office 365 ProPlus deployments.
[What's new in Windows 10 deployment](deploy-whats-new.md) See this topic for a summary of new features and some recent changes related to deploying Windows 10 in your organization.
[Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) To successfully deploy the Windows 10 operating system in your organization, it is important to understand the different ways that it can be deployed, especially now that there are new scenarios to consider. Choosing among these scenarios, and understanding the key capabilities and limitations of each, is a key task.
[Windows Autopilot](windows-autopilot/windows-autopilot.md) Windows Autopilot enables an IT department to pre-configure new devices and repurpose existing devices with a simple process that requires little to no infrastructure.
[Windows 10 Subscription Activation](windows-10-subscription-activation.md) Windows 10 Enterprise has traditionally been sold as on premises software, however, with Windows 10 version 1703 (also known as the Creator’s Update), both Windows 10 Enterprise E3 and Windows 10 Enterprise E5 are available as true online services via subscription. You can move from Windows 10 Pro to Windows 10 Enterprise with no keys and no reboots. If you are using a Cloud Service Providers (CSP) see the related topic: [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md).
[Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) This topic provides a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade.
- " -- title: Deploy Windows 10 -- items: - - type: markdown - text: " - Windows 10 upgrade options are discussed and information is provided about planning, testing, and managing your production deployment. -
 
- - - - - - - - - - - -
TopicDescription
[Overview of Windows Autopilot](windows-autopilot/windows-autopilot.md) Windows Autopilot deployment is a new cloud service from Microsoft that provides a zero touch experience for deploying Windows 10 devices.
[Windows 10 upgrade paths](upgrade/windows-10-upgrade-paths.md) This topic provides information about support for upgrading directly to Windows 10 from a previous operating system.
[Windows 10 edition upgrade](upgrade/windows-10-edition-upgrades.md) This topic provides information about support for upgrading from one edition of Windows 10 to another.
[Windows 10 volume license media](windows-10-media.md) This topic provides information about media available in the Microsoft Volume Licensing Service Center.
[Manage Windows upgrades with Upgrade Readiness](upgrade/manage-windows-upgrades-with-upgrade-readiness.md) With Upgrade Readiness, enterprises now have the tools to plan and manage the upgrade process end to end, allowing them to adopt new Windows releases more quickly. With Windows diagnostic data enabled, Upgrade Readiness collects system, application, and driver data for analysis. We then identify compatibility issues that can block an upgrade and suggest fixes when they are known to Microsoft. The Upgrade Readiness workflow steps you through the discovery and rationalization process until you have a list of computers that are ready to be upgraded.
[Windows 10 deployment test lab](windows-10-poc.md) This guide contains instructions to configure a proof of concept (PoC) environment requiring a minimum amount of resources. The guide makes extensive use of Windows PowerShell and Hyper-V. Subsequent companion guides contain steps to deploy Windows 10 using the PoC environment. After completing this guide, additional guides are provided to deploy Windows 10 in the test lab using [Microsoft Deployment Toolkit](windows-10-poc-mdt.md) or [System Center Configuration Manager](windows-10-poc-sc-config-mgr.md).
[Plan for Windows 10 deployment](planning/index.md) This section describes Windows 10 deployment considerations and provides information to assist in Windows 10 deployment planning.
[Deploy Windows 10 with the Microsoft Deployment Toolkit](deploy-windows-mdt/deploy-windows-10-with-the-microsoft-deployment-toolkit.md) This guide will walk you through the process of deploying Windows 10 in an enterprise environment using the Microsoft Deployment Toolkit (MDT).
[Deploy Windows 10 with System Center 2012 R2 Configuration Manager](deploy-windows-sccm/deploy-windows-10-with-system-center-2012-r2-configuration-manager.md) If you have Microsoft System Center 2012 R2 Configuration Manager in your environment, you will most likely want to use it to deploy Windows 10. This topic will show you how to set up Configuration Manager for operating system deployment and how to integrate Configuration Manager with the Microsoft Deployment Toolkit (MDT) or.
[Windows 10 deployment tools](windows-10-deployment-tools-reference.md) Learn about available tools to deploy Windows 10, such as the Windows ADK, DISM, USMT, WDS, MDT, Windows PE and more.
- " -- title: Update Windows 10 -- items: - - type: markdown - text: " - Information is provided about keeping Windows 10 up-to-date. -
 
- - - - - - - - - - - - - - - -
TopicDescription
[Quick guide to Windows as a service](update/waas-quick-start.md) Provides a brief summary of the key points for the new servicing model for Windows 10.
[Overview of Windows as a service](update/waas-overview.md) Explains the differences in building, deploying, and servicing Windows 10; introduces feature updates, quality updates, and the different servicing branches; compares servicing tools.
[Prepare servicing strategy for Windows 10 updates](update/waas-servicing-strategy-windows-10-updates.md) Explains the decisions you need to make in your servicing strategy.
[Build deployment rings for Windows 10 updates](update/waas-deployment-rings-windows-10-updates.md) Explains how to make use of servicing branches and update deferrals to manage Windows 10 updates.
[Assign devices to servicing branches for Windows 10 updates](update/waas-servicing-branches-windows-10-updates.md) Explains how to assign devices to Current Branch (CB) or Current Branch for Business (CBB) for feature and quality updates, and how to enroll devices in Windows Insider.
[Monitor Windows Updates with Update Compliance](update/update-compliance-monitor.md) Explains how to use Windows Analytics: Update Compliance to monitor and manage Windows Updates on devices in your organization.
[Optimize update delivery for Windows 10 updates](update/waas-optimize-windows-10-updates.md) Explains the benefits of using Delivery Optimization or BranchCache for update distribution.
[Deploy updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile](update/waas-mobile-updates.md) Explains updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile.
[Deploy updates using Windows Update for Business](update/waas-manage-updates-wufb.md) Explains how to use Windows Update for Business to manage when devices receive updates directly from Windows Update. Includes walkthroughs for configuring Windows Update for Business using Group Policy and Microsoft Intune.
[Deploy Windows 10 updates using Windows Server Update Services (WSUS)](update/waas-manage-updates-wsus.md) Explains how to use WSUS to manage Windows 10 updates.
[Deploy Windows 10 updates using System Center Configuration Manager](update/waas-manage-updates-configuration-manager.md) Explains how to use Configuration Manager to manage Windows 10 updates.
[Manage device restarts after updates](update/waas-restart.md) Explains how to manage update related device restarts.
[Manage additional Windows Update settings](update/waas-wu-settings.md) Provides details about settings available to control and configure Windows Update.
[Windows Insider Program for Business](update/waas-windows-insider-for-business.md) Explains how the Windows Insider Program for Business works and how to become an insider.
- " -- title: Additional topics -- items: - - type: markdown - text: " -
- [Upgrade a Windows Phone 8.1 to Windows 10 Mobile with Mobile Device Management](upgrade/upgrade-windows-phone-8-1-to-10.md) This topic describes how to upgrade eligible Windows Phone 8.1 devices to Windows 10 Mobile. - -  " From 5368a17ab75bd41eec411b4cd31a867ea09be37b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 15:51:01 -0800 Subject: [PATCH 023/393] landing page --- windows/deployment/index.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/windows/deployment/index.md b/windows/deployment/index.md index 13d58b54de..2c3bd0af80 100644 --- a/windows/deployment/index.md +++ b/windows/deployment/index.md @@ -72,11 +72,11 @@ description: Windows 10 deployment resources and documentation for admins & IT p @@ -92,7 +92,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p
-

Train your admins & users

+

Windows 10 and Microsoft 365

Microsoft 365

Office 365

Windows 10

@@ -112,7 +112,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p
-

Manage Office 365

+

Microsoft Modern Desktop

Office 365 Enterprise

Office 365 Business

Office 365 ProPlus

@@ -131,7 +131,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p
-

Manage Enterprise Mobility + Security

+

Reference documentation

Microsoft Cloud App Security

Microsoft Intune

Azure Active Directory

Azure Information Protection

@@ -155,10 +155,10 @@ description: Windows 10 deployment resources and documentation for admins & IT p
-

Develop for Microsoft 365

-

Office 365 Dev Center

-

Windows Dev Center

-

Microsoft Graph

+

Microsoft Surface

+

Surface devices

+

Surface Hub

+

Surface for Business

@@ -174,7 +174,8 @@ description: Windows 10 deployment resources and documentation for admins & IT p
-

Other Microsoft 365 products

+

Microsoft 365 products

+

Microsoft 365 Enterprise

Microsoft 365 Business

Microsoft 365 Education

From 2aa0f9c509e05e25248e35b7d552a5ed11130750 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 15:53:40 -0800 Subject: [PATCH 024/393] landing page --- windows/deployment/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/index.md b/windows/deployment/index.md index 2c3bd0af80..1753da4263 100644 --- a/windows/deployment/index.md +++ b/windows/deployment/index.md @@ -196,7 +196,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p

Need support?

Azure

Office 365

-

Windows 10

+

Windows 10

From 141240219650703217af50e9447c74f59f863d4b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 3 Feb 2020 16:07:07 -0800 Subject: [PATCH 025/393] en-us --- windows/deployment/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/windows/deployment/index.md b/windows/deployment/index.md index 1753da4263..f7b26b31f0 100644 --- a/windows/deployment/index.md +++ b/windows/deployment/index.md @@ -55,7 +55,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p @@ -73,10 +73,10 @@ description: Windows 10 deployment resources and documentation for admins & IT p @@ -156,9 +156,9 @@ description: Windows 10 deployment resources and documentation for admins & IT p @@ -175,7 +175,7 @@ description: Windows 10 deployment resources and documentation for admins & IT p From dd0047eb4ea7b3118442b7edfe6501acefe1fceb Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 10 Feb 2020 10:31:54 -0800 Subject: [PATCH 026/393] something --- .../surface/surface-dock-firmware-update.md | 72 +++++++++++-------- 1 file changed, 43 insertions(+), 29 deletions(-) diff --git a/devices/surface/surface-dock-firmware-update.md b/devices/surface/surface-dock-firmware-update.md index dc3e5b41f0..d5e58e4a5f 100644 --- a/devices/surface/surface-dock-firmware-update.md +++ b/devices/surface/surface-dock-firmware-update.md @@ -5,41 +5,58 @@ ms.localizationpriority: medium ms.prod: w10 ms.mktglfcycl: manage ms.sitesec: library -author: dansimp -ms.author: dansimp +author: greg-lindsay +ms.author: greglin ms.topic: article -ms.date: 10/09/2019 ms.reviewer: scottmca manager: dansimp ms.audience: itpro --- # Microsoft Surface Dock Firmware Update -This article explains how to use Microsoft Surface Dock Firmware Update, newly redesigned to update Surface Dock firmware while running in the background on your Surface device. Once installed, it will update any Surface Dock attached to your Surface device. +This article explains how to use Microsoft Surface Dock Firmware Update to update Surface Dock firmware. When installed on your Surface device, it will update any Surface Dock attached to your Surface device. The file is released in the following naming format: **Surface_Dock_FwUpdate_X.XX.XXX_Win10_XXXXX_XX.XXX.XXXXX_X.MSI** (ex: Surface_Dock_FwUpdate_1.42.139_Win10_17134_19.084.31680_0.msi) and installs by default to C:\Program Files\SurfaceUpdate. -> [!NOTE] ->Microsoft Surface Dock Firmware Update supersedes the earlier Microsoft Surface Dock Updater tool, previously available for download as part of Surface Tools for IT. It was named Surface_Dock_Updater_vx.xx.xxx.x.msi (where x indicates the version of the tool). The earlier tool has been retired, is no longer available for download, and should not be used. +Microsoft Surface Dock Firmware Update supersedes the earlier Microsoft Surface Dock Updater tool, previously available for download as part of Surface Tools for IT. It was named Surface_Dock_Updater_vx.xx.xxx.x.msi (where x indicates the version of the tool). The earlier tool has been retired, is no longer available for download, and should not be used. -## To run Surface Dock Firmware Update +> [!IMPORTANT] +>Microsoft periodically releases new versions of Surface Dock Firmware Update. The MSI file is not self-updating. If you have deployed the MSI to Surface devices and a new version of the firmware is released, you will need to deploy the new version. + +## Monitor the Surface Dock Firmare Update + +>The procedures in this section provide an overview of how to monitor installation of the firmware update. This section is optional. + +For more detailed information about monitoring the update process, see the following sections in this article: + - [How to verify completion of firmware update](#how-to-verify-completion-of-the-firmware-update) + - [Event logging](#event-logging) + - [Troubleshooting tips](#troubleshooting-tips) + - [Versions reference](#versions-reference) + +To monitor the update: + +1. Open Event Viewer, browse to **Windows Logs > Application**, and then under **Actions** in the right-hand pane click **Filter Current Log**, enter **SurfaceDockFwUpdate** next to **Event sources**, and then click **OK**. +2. Type the following command at an elevated command prompt: + + ```cmd + Reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\SurfaceDockFwUpdate\Parameters" + ``` +3. Install the update as described in the next section. +4. Event 2007 with the following text indicates a successful update: **Firmware update finished. hr=0 DriverTelementry EventCode = 2007**. + - If the update is not successful, then event ID 2007 will be displayed as an **Error** event rather than **Information**. Additionally, the version reported in the Windows Registry will not be current. +5. When the update is complete, you will see the following DWORD values will be displayed in the Windows Registry: + - Component10CurrentFwVersion 0x04ac3970 (78395760) + - Component20CurrentFwVersion 0x04915a70 (76634736) + +>Note: If you see "The description for Event ID xxxx from source SurfaceDockFwUpdate cannot be found" in event text, this is expected and can be ignored. + +## Run the Surface Dock firmware update + +This section describes how to install the firmware update. 1. Download and install [Microsoft Surface Dock Firmware Update](https://www.microsoft.com/download/details.aspx?id=46703). - - The file is released in the following naming format: **Surface_Dock_FwUpdate_X.XX.XXX_Win10_XXXXX_XX.XXX.XXXXX_X.MSI** and installs by default to C:\Program Files\SurfaceUpdate. - - Requires Surface devices running at least Windows 10 version 1803 or later. + - The update requires a Surface device running Windows 10, version 1803 or later. + - Installing the MSI file may prompt you to restart Surface. However, restarting is not required to perform the update. -2. After you connect Surface Dock to your Surface device, the tool checks the firmware status while running in the background. - -4. After several seconds, disconnect your Surface Dock from your device and then wait for 5 seconds before reconnecting. The Surface Dock Firmware Update will normally update the dock silently in background after you disconnect from the dock and reconnect. The process can take a few minutes to complete and will continue even if interrupted. - -### Manual installation -If preferred, you can manually complete the update as follows: - -- Reconnect your Surface Dock for 2 minutes and then disconnect it from your device. The DisplayPort firmware update will be installed while the hardware is disconnected. The LED in the Ethernet port of the dock will blink while the update is in progress. Please wait until the LED stops blinking before you unplug your Surface Dock from power. - -> [!NOTE] -> -> - Manually installing the MSI file may prompt you to restart Surface; however, restarting is optional and not required. -> - You will need to disconnect and reconnect the dock twice before the update fully completes. -> - To create a log file, specify the path in the Msiexec command. For example, append /l*v %windir%\logs\ SurfaceDockFWI.log". +2. Disconnect your Surface device from the Surface Dock (using the power adapter), wait 5 seconds, and then reconnect. The Surface Dock Firmware Update will update the dock silently in background. The process can take a few minutes to complete and will continue even if interrupted. ## Network deployment @@ -48,7 +65,7 @@ You can use Windows Installer commands (Msiexec.exe) to deploy Surface Dock Firm - **Msiexec.exe /i /quiet /norestart** > [!NOTE] -> A log file is not created by default. In order to create a log file, you will need to append "/l*v [path]" +> A log file is not created by default. In order to create a log file, you will need to append "/l*v [path]". For example: Msiexec.exe /i /l*v %windir%\logs\ SurfaceDockFWI.log" For more information, refer to [Command line options](https://docs.microsoft.com/windows/win32/msi/command-line-options) documentation. @@ -56,12 +73,13 @@ For more information, refer to [Command line options](https://docs.microsoft.com > If you want to keep your Surface Dock updated using any other method, refer to [Update your Surface Dock](https://support.microsoft.com/help/4023478/surface-update-your-surface-dock) for details. ## Intune deployment + You can use Intune to distribute Surface Dock Firmware Update to your devices. First you will need to convert the MSI file to the .intunewin format, as described in the following documentation: [Intune Standalone - Win32 app management](https://docs.microsoft.com/intune/apps/apps-win32-app-management). Use the following command: - **msiexec /i /quiet /q** -## How to verify completion of firmware update +## How to verify completion of the firmware update Surface dock firmware consists of two components: @@ -117,10 +135,6 @@ Events are logged in the Application Event Log. Note: Earlier versions of this - Ensure that the Surface Dock is disconnected, and then allow enough time for the update to complete as monitored via an LED in the Ethernet port of the dock. Wait until the LED stops blinking before you unplug Surface Dock from power. - Connect the Surface Dock to a different device to see if it is able to update the dock. -## Changes and updates - -Microsoft periodically releases new versions of Surface Dock Firmware Update.Note that the MSI file is not self-updating. If you have deployed the MSI to Surface devices and a new version of the firmware is released, you will need to deploy the new version of the MSI. - ## Versions reference ### Version 1.42.139 *Release Date: September 18 2019* From 15ed7b7a98ab190589b598771c406fcff9739465 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 10 Feb 2020 10:33:34 -0800 Subject: [PATCH 027/393] something --- .../surface/surface-dock-firmware-update.md | 221 ------------------ 1 file changed, 221 deletions(-) delete mode 100644 devices/surface/surface-dock-firmware-update.md diff --git a/devices/surface/surface-dock-firmware-update.md b/devices/surface/surface-dock-firmware-update.md deleted file mode 100644 index d5e58e4a5f..0000000000 --- a/devices/surface/surface-dock-firmware-update.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -title: Microsoft Surface Dock Firmware Update -description: This article explains how to use Microsoft Surface Dock Firmware Update, newly redesigned to update Surface Dock firmware while running in the background on your Surface device. -ms.localizationpriority: medium -ms.prod: w10 -ms.mktglfcycl: manage -ms.sitesec: library -author: greg-lindsay -ms.author: greglin -ms.topic: article -ms.reviewer: scottmca -manager: dansimp -ms.audience: itpro ---- -# Microsoft Surface Dock Firmware Update - -This article explains how to use Microsoft Surface Dock Firmware Update to update Surface Dock firmware. When installed on your Surface device, it will update any Surface Dock attached to your Surface device. The file is released in the following naming format: **Surface_Dock_FwUpdate_X.XX.XXX_Win10_XXXXX_XX.XXX.XXXXX_X.MSI** (ex: Surface_Dock_FwUpdate_1.42.139_Win10_17134_19.084.31680_0.msi) and installs by default to C:\Program Files\SurfaceUpdate. - -Microsoft Surface Dock Firmware Update supersedes the earlier Microsoft Surface Dock Updater tool, previously available for download as part of Surface Tools for IT. It was named Surface_Dock_Updater_vx.xx.xxx.x.msi (where x indicates the version of the tool). The earlier tool has been retired, is no longer available for download, and should not be used. - -> [!IMPORTANT] ->Microsoft periodically releases new versions of Surface Dock Firmware Update. The MSI file is not self-updating. If you have deployed the MSI to Surface devices and a new version of the firmware is released, you will need to deploy the new version. - -## Monitor the Surface Dock Firmare Update - ->The procedures in this section provide an overview of how to monitor installation of the firmware update. This section is optional. - -For more detailed information about monitoring the update process, see the following sections in this article: - - [How to verify completion of firmware update](#how-to-verify-completion-of-the-firmware-update) - - [Event logging](#event-logging) - - [Troubleshooting tips](#troubleshooting-tips) - - [Versions reference](#versions-reference) - -To monitor the update: - -1. Open Event Viewer, browse to **Windows Logs > Application**, and then under **Actions** in the right-hand pane click **Filter Current Log**, enter **SurfaceDockFwUpdate** next to **Event sources**, and then click **OK**. -2. Type the following command at an elevated command prompt: - - ```cmd - Reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\SurfaceDockFwUpdate\Parameters" - ``` -3. Install the update as described in the next section. -4. Event 2007 with the following text indicates a successful update: **Firmware update finished. hr=0 DriverTelementry EventCode = 2007**. - - If the update is not successful, then event ID 2007 will be displayed as an **Error** event rather than **Information**. Additionally, the version reported in the Windows Registry will not be current. -5. When the update is complete, you will see the following DWORD values will be displayed in the Windows Registry: - - Component10CurrentFwVersion 0x04ac3970 (78395760) - - Component20CurrentFwVersion 0x04915a70 (76634736) - ->Note: If you see "The description for Event ID xxxx from source SurfaceDockFwUpdate cannot be found" in event text, this is expected and can be ignored. - -## Run the Surface Dock firmware update - -This section describes how to install the firmware update. - -1. Download and install [Microsoft Surface Dock Firmware Update](https://www.microsoft.com/download/details.aspx?id=46703). - - The update requires a Surface device running Windows 10, version 1803 or later. - - Installing the MSI file may prompt you to restart Surface. However, restarting is not required to perform the update. - -2. Disconnect your Surface device from the Surface Dock (using the power adapter), wait 5 seconds, and then reconnect. The Surface Dock Firmware Update will update the dock silently in background. The process can take a few minutes to complete and will continue even if interrupted. - -## Network deployment - -You can use Windows Installer commands (Msiexec.exe) to deploy Surface Dock Firmware Update to multiple devices across your network. When using Microsoft Endpoint Configuration Manager or other deployment tool, enter the following syntax to ensure the installation is silent: - -- **Msiexec.exe /i /quiet /norestart** - -> [!NOTE] -> A log file is not created by default. In order to create a log file, you will need to append "/l*v [path]". For example: Msiexec.exe /i /l*v %windir%\logs\ SurfaceDockFWI.log" - -For more information, refer to [Command line options](https://docs.microsoft.com/windows/win32/msi/command-line-options) documentation. - -> [!IMPORTANT] -> If you want to keep your Surface Dock updated using any other method, refer to [Update your Surface Dock](https://support.microsoft.com/help/4023478/surface-update-your-surface-dock) for details. - -## Intune deployment - -You can use Intune to distribute Surface Dock Firmware Update to your devices. First you will need to convert the MSI file to the .intunewin format, as described in the following documentation: [Intune Standalone - Win32 app management](https://docs.microsoft.com/intune/apps/apps-win32-app-management). - -Use the following command: - - **msiexec /i /quiet /q** - -## How to verify completion of the firmware update - -Surface dock firmware consists of two components: - -- **Component10:** Micro controller unit (MCU) firmware -- **Component20:** Display port (DP) firmware. - -Successful completion of Surface Dock Firmware Update results in new registry key values for these firmware components. - -**To verify updates:** - -1. Open Regedit and navigate to the following registry path: - -- **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\SurfaceDockFwUpdate\Parameters** - -2. Look for the registry keys: **Component10CurrentFwVersion and Component20CurrentFwVersion**, which refer to the firmware that is currently on the device. - - ![Surface Dock Firmware Update installation process](images/regeditDock.png) - -3. Verify the new registry key values match the updated registry key values listed in the Versions reference at the end of this document. If the values match, the firmware was updated successfully. - -4. If unable to verify, review Event logging and Troubleshooting tips in the next section. - -## Event logging - -**Table 1. Log files for Surface Dock Firmware Update** - -| Log | Location | Notes | -| -------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Surface Dock Firmware Update log | Path needs to be specified (see note) | Earlier versions of this tool wrote events to Applications and Services Logs\Microsoft Surface Dock Updater. | -| Windows Device Install log | %windir%\inf\setupapi.dev.log | For more information about using Device Install Log, refer to [SetupAPI Logging](https://docs.microsoft.com/windows-hardware/drivers/install/setupapi-logging--windows-vista-and-later-) documentation. | - - -**Table 2. Event log IDs for Surface Dock Firmware Update**
-Events are logged in the Application Event Log. Note: Earlier versions of this tool wrote events to Applications and Services Logs\Microsoft Surface Dock Updater. - -| Event ID | Event type | -| -------- | -------------------------------------------------------------------- | -| 2001 | Dock firmware update has started. | -| 2002 | Dock firmware update skipped because dock is known to be up to date. | -| 2003 | Dock firmware update failed to get firmware version. | -| 2004 | Querying the firmware version. | -| 2005 | Dock firmware failed to start update. | -| 2006 | Failed to send offer/payload pairs. | -| 2007 | Firmware update finished. | -| 2008 | BEGIN dock telemetry. | -| 2011 | END dock telemetry. | - -## Troubleshooting tips - -- Completely disconnect power for Surface dock from the AC power to reset the Surface Dock. -- Disconnect all peripherals except for the Surface Dock. -- Uninstall any current Surface Dock Firmware Update and then install the latest version. -- Ensure that the Surface Dock is disconnected, and then allow enough time for the update to complete as monitored via an LED in the Ethernet port of the dock. Wait until the LED stops blinking before you unplug Surface Dock from power. -- Connect the Surface Dock to a different device to see if it is able to update the dock. - -## Versions reference -### Version 1.42.139 -*Release Date: September 18 2019* - -This version, contained in Surface_Dock_FwUpdate_1.42.139_Win10_17134_19.084.31680_0.MSI, updates firmware in the background. -**Updated registry key values:**
- -- Component10CurrentFwVersion updated to **4ac3970**. -- Component20CurrentFwVersion updated to **4a1d570**. - -It adds support for Surface Pro 7 and Surface Laptop 3. - -## Legacy versions - -### Version 2.23.139.0 -*Release Date: 10 October 2018* - -This version of Surface Dock Updater adds support for the following: - -- Add support for Surface Pro 6 -- Add support for Surface Laptop 2 - - -### Version 2.22.139.0 -*Release Date: 26 July 2018* - -This version of Surface Dock Updater adds support for the following: - -- Increase update reliability -- Add support for Surface Go - -### Version 2.12.136.0 -*Release Date: 29 January 2018* - -This version of Surface Dock Updater adds support for the following: -* Update for Surface Dock Main Chipset Firmware -* Update for Surface Dock DisplayPort Firmware -* Improved display stability for external displays when used with Surface Book or Surface Book 2 - -Additionally, installation of this version of Surface Dock Updater on Surface Book devices includes the following: -* Update for Surface Book Base Firmware -* Added support for Surface Dock firmware updates with improvements targeted to Surface Book devices - - -### Version 2.9.136.0 -*Release date: November 3, 2017* - -This version of Surface Dock Updater adds support for the following: - -* Update for Surface Dock DisplayPort Firmware -* Resolves an issue with audio over passive display port adapters - -### Version 2.1.15.0 -*Release date: June 19, 2017* - -This version of Surface Dock Updater adds support for the following: - -* Surface Laptop -* Surface Pro - -### Version 2.1.6.0 -*Release date: April 7, 2017* - -This version of Surface Dock Updater adds support for the following: - -* Update for Surface Dock DisplayPort firmware -* Requires Windows 10 - -### Version 2.0.22.0 -*Release date: October 21, 2016* - -This version of Surface Dock Updater adds support for the following: - -* Update for Surface Dock USB firmware -* Improved reliability of Ethernet, audio, and USB ports - -### Version 1.0.8.0 -*Release date: April 26, 2016* - -This version of Surface Dock Updater adds support for the following: - -* Update for Surface Dock Main Chipset firmware -* Update for Surface Dock DisplayPort firmware - From 0b040e73c76a5b74c3abd5126d04ca4de0b5c8d1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 10 Feb 2020 10:34:30 -0800 Subject: [PATCH 028/393] something --- .../surface/surface-dock-firmware-update.md | 207 ++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 devices/surface/surface-dock-firmware-update.md diff --git a/devices/surface/surface-dock-firmware-update.md b/devices/surface/surface-dock-firmware-update.md new file mode 100644 index 0000000000..dc3e5b41f0 --- /dev/null +++ b/devices/surface/surface-dock-firmware-update.md @@ -0,0 +1,207 @@ +--- +title: Microsoft Surface Dock Firmware Update +description: This article explains how to use Microsoft Surface Dock Firmware Update, newly redesigned to update Surface Dock firmware while running in the background on your Surface device. +ms.localizationpriority: medium +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +author: dansimp +ms.author: dansimp +ms.topic: article +ms.date: 10/09/2019 +ms.reviewer: scottmca +manager: dansimp +ms.audience: itpro +--- +# Microsoft Surface Dock Firmware Update + +This article explains how to use Microsoft Surface Dock Firmware Update, newly redesigned to update Surface Dock firmware while running in the background on your Surface device. Once installed, it will update any Surface Dock attached to your Surface device. + +> [!NOTE] +>Microsoft Surface Dock Firmware Update supersedes the earlier Microsoft Surface Dock Updater tool, previously available for download as part of Surface Tools for IT. It was named Surface_Dock_Updater_vx.xx.xxx.x.msi (where x indicates the version of the tool). The earlier tool has been retired, is no longer available for download, and should not be used. + +## To run Surface Dock Firmware Update + +1. Download and install [Microsoft Surface Dock Firmware Update](https://www.microsoft.com/download/details.aspx?id=46703). + - The file is released in the following naming format: **Surface_Dock_FwUpdate_X.XX.XXX_Win10_XXXXX_XX.XXX.XXXXX_X.MSI** and installs by default to C:\Program Files\SurfaceUpdate. + - Requires Surface devices running at least Windows 10 version 1803 or later. + +2. After you connect Surface Dock to your Surface device, the tool checks the firmware status while running in the background. + +4. After several seconds, disconnect your Surface Dock from your device and then wait for 5 seconds before reconnecting. The Surface Dock Firmware Update will normally update the dock silently in background after you disconnect from the dock and reconnect. The process can take a few minutes to complete and will continue even if interrupted. + +### Manual installation +If preferred, you can manually complete the update as follows: + +- Reconnect your Surface Dock for 2 minutes and then disconnect it from your device. The DisplayPort firmware update will be installed while the hardware is disconnected. The LED in the Ethernet port of the dock will blink while the update is in progress. Please wait until the LED stops blinking before you unplug your Surface Dock from power. + +> [!NOTE] +> +> - Manually installing the MSI file may prompt you to restart Surface; however, restarting is optional and not required. +> - You will need to disconnect and reconnect the dock twice before the update fully completes. +> - To create a log file, specify the path in the Msiexec command. For example, append /l*v %windir%\logs\ SurfaceDockFWI.log". + +## Network deployment + +You can use Windows Installer commands (Msiexec.exe) to deploy Surface Dock Firmware Update to multiple devices across your network. When using Microsoft Endpoint Configuration Manager or other deployment tool, enter the following syntax to ensure the installation is silent: + +- **Msiexec.exe /i /quiet /norestart** + +> [!NOTE] +> A log file is not created by default. In order to create a log file, you will need to append "/l*v [path]" + +For more information, refer to [Command line options](https://docs.microsoft.com/windows/win32/msi/command-line-options) documentation. + +> [!IMPORTANT] +> If you want to keep your Surface Dock updated using any other method, refer to [Update your Surface Dock](https://support.microsoft.com/help/4023478/surface-update-your-surface-dock) for details. + +## Intune deployment +You can use Intune to distribute Surface Dock Firmware Update to your devices. First you will need to convert the MSI file to the .intunewin format, as described in the following documentation: [Intune Standalone - Win32 app management](https://docs.microsoft.com/intune/apps/apps-win32-app-management). + +Use the following command: + - **msiexec /i /quiet /q** + +## How to verify completion of firmware update + +Surface dock firmware consists of two components: + +- **Component10:** Micro controller unit (MCU) firmware +- **Component20:** Display port (DP) firmware. + +Successful completion of Surface Dock Firmware Update results in new registry key values for these firmware components. + +**To verify updates:** + +1. Open Regedit and navigate to the following registry path: + +- **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\SurfaceDockFwUpdate\Parameters** + +2. Look for the registry keys: **Component10CurrentFwVersion and Component20CurrentFwVersion**, which refer to the firmware that is currently on the device. + + ![Surface Dock Firmware Update installation process](images/regeditDock.png) + +3. Verify the new registry key values match the updated registry key values listed in the Versions reference at the end of this document. If the values match, the firmware was updated successfully. + +4. If unable to verify, review Event logging and Troubleshooting tips in the next section. + +## Event logging + +**Table 1. Log files for Surface Dock Firmware Update** + +| Log | Location | Notes | +| -------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Surface Dock Firmware Update log | Path needs to be specified (see note) | Earlier versions of this tool wrote events to Applications and Services Logs\Microsoft Surface Dock Updater. | +| Windows Device Install log | %windir%\inf\setupapi.dev.log | For more information about using Device Install Log, refer to [SetupAPI Logging](https://docs.microsoft.com/windows-hardware/drivers/install/setupapi-logging--windows-vista-and-later-) documentation. | + + +**Table 2. Event log IDs for Surface Dock Firmware Update**
+Events are logged in the Application Event Log. Note: Earlier versions of this tool wrote events to Applications and Services Logs\Microsoft Surface Dock Updater. + +| Event ID | Event type | +| -------- | -------------------------------------------------------------------- | +| 2001 | Dock firmware update has started. | +| 2002 | Dock firmware update skipped because dock is known to be up to date. | +| 2003 | Dock firmware update failed to get firmware version. | +| 2004 | Querying the firmware version. | +| 2005 | Dock firmware failed to start update. | +| 2006 | Failed to send offer/payload pairs. | +| 2007 | Firmware update finished. | +| 2008 | BEGIN dock telemetry. | +| 2011 | END dock telemetry. | + +## Troubleshooting tips + +- Completely disconnect power for Surface dock from the AC power to reset the Surface Dock. +- Disconnect all peripherals except for the Surface Dock. +- Uninstall any current Surface Dock Firmware Update and then install the latest version. +- Ensure that the Surface Dock is disconnected, and then allow enough time for the update to complete as monitored via an LED in the Ethernet port of the dock. Wait until the LED stops blinking before you unplug Surface Dock from power. +- Connect the Surface Dock to a different device to see if it is able to update the dock. + +## Changes and updates + +Microsoft periodically releases new versions of Surface Dock Firmware Update.Note that the MSI file is not self-updating. If you have deployed the MSI to Surface devices and a new version of the firmware is released, you will need to deploy the new version of the MSI. + +## Versions reference +### Version 1.42.139 +*Release Date: September 18 2019* + +This version, contained in Surface_Dock_FwUpdate_1.42.139_Win10_17134_19.084.31680_0.MSI, updates firmware in the background. +**Updated registry key values:**
+ +- Component10CurrentFwVersion updated to **4ac3970**. +- Component20CurrentFwVersion updated to **4a1d570**. + +It adds support for Surface Pro 7 and Surface Laptop 3. + +## Legacy versions + +### Version 2.23.139.0 +*Release Date: 10 October 2018* + +This version of Surface Dock Updater adds support for the following: + +- Add support for Surface Pro 6 +- Add support for Surface Laptop 2 + + +### Version 2.22.139.0 +*Release Date: 26 July 2018* + +This version of Surface Dock Updater adds support for the following: + +- Increase update reliability +- Add support for Surface Go + +### Version 2.12.136.0 +*Release Date: 29 January 2018* + +This version of Surface Dock Updater adds support for the following: +* Update for Surface Dock Main Chipset Firmware +* Update for Surface Dock DisplayPort Firmware +* Improved display stability for external displays when used with Surface Book or Surface Book 2 + +Additionally, installation of this version of Surface Dock Updater on Surface Book devices includes the following: +* Update for Surface Book Base Firmware +* Added support for Surface Dock firmware updates with improvements targeted to Surface Book devices + + +### Version 2.9.136.0 +*Release date: November 3, 2017* + +This version of Surface Dock Updater adds support for the following: + +* Update for Surface Dock DisplayPort Firmware +* Resolves an issue with audio over passive display port adapters + +### Version 2.1.15.0 +*Release date: June 19, 2017* + +This version of Surface Dock Updater adds support for the following: + +* Surface Laptop +* Surface Pro + +### Version 2.1.6.0 +*Release date: April 7, 2017* + +This version of Surface Dock Updater adds support for the following: + +* Update for Surface Dock DisplayPort firmware +* Requires Windows 10 + +### Version 2.0.22.0 +*Release date: October 21, 2016* + +This version of Surface Dock Updater adds support for the following: + +* Update for Surface Dock USB firmware +* Improved reliability of Ethernet, audio, and USB ports + +### Version 1.0.8.0 +*Release date: April 26, 2016* + +This version of Surface Dock Updater adds support for the following: + +* Update for Surface Dock Main Chipset firmware +* Update for Surface Dock DisplayPort firmware + From c56240770d9772c5a122f242120d9674983712d5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 12 Feb 2020 15:33:32 -0800 Subject: [PATCH 029/393] 01 --- windows/deployment/TOC.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 9f3665c21e..8e3b350ec4 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -1,8 +1,8 @@ -# [Deploy and update Windows 10](https://docs.microsoft.com/windows/deployment) -## [What's new in Windows 10 deployment](deploy-whats-new.md) -## [Windows as a service](update/windows-as-a-service.md) +# [Windows 10 deployment resources and documentation](https://docs.microsoft.com/windows/deployment) ## Explore +### [What's new in Windows 10 deployment](deploy-whats-new.md) +### [Windows as a service](update/windows-as-a-service.md) ### [Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) ### [Deployment process posters](windows-10-deployment-posters.md) ### [Deploy Windows 10 with Microsoft 365](deploy-m365.md) From 573cb3bc871b51fac744e7ed4f67bd2f41c1e0b0 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 12 Feb 2020 15:37:42 -0800 Subject: [PATCH 030/393] 01 --- windows/deployment/index.md | 213 ----------------------------------- windows/deployment/index.yml | 103 +++++++++++++++++ 2 files changed, 103 insertions(+), 213 deletions(-) delete mode 100644 windows/deployment/index.md create mode 100644 windows/deployment/index.yml diff --git a/windows/deployment/index.md b/windows/deployment/index.md deleted file mode 100644 index f7b26b31f0..0000000000 --- a/windows/deployment/index.md +++ /dev/null @@ -1,213 +0,0 @@ ---- -layout: HubPage -hide_bc: false -description: Windows 10 deployment resources and documentation for admins & IT professionals -ms.author: greglin -author: greg-lindsay -ms.topic: hub-page -keywords: Windows 10 Enterprise, deploy, plan, test -localization_priority: Normal -audience: itpro -ms.prod: w10 -title: Windows 10 deployment resources and documentation for admins & IT professionals -description: Windows 10 deployment resources and documentation for admins & IT professionals ---- -
-
-

Windows 10 deployment resources and documentation

-

Learn how to test, plan, and deploy Windows 10 in your organization.

-

- -
-
diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml new file mode 100644 index 0000000000..c1c4afa954 --- /dev/null +++ b/windows/deployment/index.yml @@ -0,0 +1,103 @@ +### YamlMime:Landing + +title: Microsoft 365 security documentation # < 60 chars +summary: Learn about the robust security solutions and services in Microsoft 365 Security so that you can better protect your enterprise across attack surfaces. # < 160 chars + +metadata: + title: Microsoft 365 security documentation # Required; page title displayed in search results. Include the brand. < 60 chars. + description: Learn about the robust security solutions and services in Microsoft 365 Security so that you can better protect your enterprise across attack surfaces # Required; article description that is displayed in search results. < 160 chars. + services: office-365-security-compliance + ms.service: O365-seccomp #Required; service per approved list. service slug assigned to your service by ACOM. + ms.subservice: subservice + ms.topic: landing-page # Required + ms.collection: m365-security-compliance + author: mjcaparas #Required; your GitHub user alias, with correct capitalization. + ms.author: macapara #Required; microsoft alias of author; optional team alias. + ms.date: 09/13/2019 #Required; mm/dd/yyyy format. + localization_priority: Priority + +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new + +landingContent: +# Cards and links should be based on top customer tasks or top subjects +# Start card title with a verb + # Card (optional) + - title: Microsoft Threat Protection + linkLists: + - linkListType: overview + links: + - text: What is Microsoft Threat Protection? + url: mtp/microsoft-threat-protection.md + - text: Microsoft 365 security center + url: mtp/overview-security-center.md + + # Card (optional) + - title: Microsoft Defender ATP + linkLists: + - linkListType: overview + links: + - text: What is Microsoft Defender ATP? + url: https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection + - text: Overview of capabilities + url: https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview + + # Card + - title: Office 365 ATP + linkLists: + - linkListType: overview + links: + - text: What is Office 365 ATP? + url: office-365-security/office-365-atp.md + - text: Office 365 ATP service description + url: https://docs.microsoft.com/office365/servicedescriptions/office-365-advanced-threat-protection-service-description + + # Card + - title: Azure ATP + linkLists: + - linkListType: overview + links: + - text: What is Azure ATP? + url: https://docs.microsoft.com/azure-advanced-threat-protection/what-is-atp + - text: Azure ATP architecture + url: https://docs.microsoft.com/azure-advanced-threat-protection/atp-architecture + + # Card (optional) + - title: Azure Security Center + linkLists: + - linkListType: overview + links: + - text: What is Azure Security Center? + url: https://docs.microsoft.com/azure/security-center/security-center-intro + - text: Supported features + url: https://docs.microsoft.com/azure/security-center/security-center-services + + # Card + - title: Microsoft Cloud App Security + linkLists: + - linkListType: overview + links: + - text: What is Microsoft Cloud App Security? + url: https://docs.microsoft.com/cloud-app-security/what-is-cloud-app-security + - text: Get started with Microsoft Cloud App Security + url: https://docs.microsoft.com/cloud-app-security/getting-started-with-cloud-app-security + + # Card + - title: Azure Sentinel (Preview) + linkLists: + - linkListType: overview + links: + - text: What is Azure Sentinel? (Preview) + url: https://docs.microsoft.com/azure/sentinel/overview + + # Card + - title: Security management + linkLists: + - linkListType: overview + links: + - text: Secure score + url: mtp/microsoft-secure-score.md + + + + + From 4f84ff37882ee5f5fc9204163ae26ec98fb3761d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 12 Feb 2020 15:53:08 -0800 Subject: [PATCH 031/393] 02 --- windows/deployment/TOC.md | 58 -------------------------------------- windows/deployment/TOC.yml | 24 ++++++++++++++++ 2 files changed, 24 insertions(+), 58 deletions(-) delete mode 100644 windows/deployment/TOC.md create mode 100644 windows/deployment/TOC.yml diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md deleted file mode 100644 index 8e3b350ec4..0000000000 --- a/windows/deployment/TOC.md +++ /dev/null @@ -1,58 +0,0 @@ -# [Windows 10 deployment resources and documentation](https://docs.microsoft.com/windows/deployment) - -## Explore -### [What's new in Windows 10 deployment](deploy-whats-new.md) -### [Windows as a service](update/windows-as-a-service.md) -### [Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) -### [Deployment process posters](windows-10-deployment-posters.md) -### [Deploy Windows 10 with Microsoft 365](deploy-m365.md) -### Windows 10 deployment lab -#### [Windows 10 deployment test lab](windows-10-poc.md) -#### [Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit](windows-10-poc-mdt.md) -#### [Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager](windows-10-poc-sc-config-mgr.md) - -## Plan for deployment -### [Windows 10 Enterprise FAQ for IT Pros](planning/windows-10-enterprise-faq-itpro.md) -### [Windows 10 deployment considerations](planning/windows-10-deployment-considerations.md) -### [Windows 10 compatibility](planning/windows-10-compatibility.md) -### [Windows 10 infrastructure requirements](planning/windows-10-infrastructure-requirements.md) - -## Deploy Windows 10 -### [Windows Autopilot](windows-autopilot/windows-autopilot.md) -### [Deploy Windows 10 with the Microsoft Deployment Toolkit](deploy-windows-mdt/deploy-windows-10-with-the-microsoft-deployment-toolkit.md) -### [Deploy Windows 10 with System Center 2012 R2 Configuration Manager](deploy-windows-sccm/deploy-windows-10-with-system-center-2012-r2-configuration-manager.md) -### Subscription Activation -#### [Windows 10 Subscription Activation](windows-10-subscription-activation.md) -#### [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md) -#### [Configure VDA for Subscription Activation](vda-subscription-activation.md) -#### [Deploy Windows 10 Enterprise licenses](deploy-enterprise-licenses.md) - -## Manage Windows 10 updates -### [Windows as a service - introduction](update/windows-as-a-service.md) -### [Quick guide to Windows as a service](update/waas-quick-start.md) -### [Servicing stack updates](update/servicing-stack-updates.md) -### [Overview of Windows as a service](update/waas-overview.md) - -## Reference -### Resolve upgrade errors -#### [Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) -#### [Quick fixes](upgrade\quick-fixes.md) -#### [SetupDiag](upgrade/setupdiag.md) -#### [Troubleshooting upgrade errors](upgrade/troubleshoot-upgrade-errors.md) -#### [Windows error reporting](upgrade/windows-error-reporting.md) -#### [Upgrade error codes](upgrade/upgrade-error-codes.md) -#### [Log files](upgrade/log-files.md) -#### [Resolution procedures](upgrade/resolution-procedures.md) -#### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) - -### [Windows 10 in S mode](s-mode.md) -#### [Switch to Windows 10 Pro/Enterprise from S mode](windows-10-pro-in-s-mode.md) - -#### [Volume Activation [client]](volume-activation/volume-activation-windows-10.md) -##### [Plan for volume activation [client]](volume-activation/plan-for-volume-activation-client.md) -##### [Activate using Key Management Service [client]](volume-activation/activate-using-key-management-service-vamt.md) -##### [Activate using Active Directory-based activation [client]](volume-activation/activate-using-active-directory-based-activation-client.md) -##### [Activate clients running Windows 10](volume-activation/activate-windows-10-clients-vamt.md) -##### [Monitor activation [client]](volume-activation/monitor-activation-client.md) -##### [Use the Volume Activation Management Tool [client]](volume-activation/use-the-volume-activation-management-tool-client.md) -##### [Appendix: Information sent to Microsoft during activation [client]](volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml new file mode 100644 index 0000000000..964e1e0e9c --- /dev/null +++ b/windows/deployment/TOC.yml @@ -0,0 +1,24 @@ +- name: Windows 10 deployment resources and documentation + href: index.yml + items: + - name: Explore + items: + - name: Windows 10 deployment scenarios + href: windows-10-deployment-scenarios.md + - name: H2 + href: windows-10-deployment-scenarios.md + items: + - name: H3 + href: windows-10-deployment-scenarios.md + items: + - name: H4 + href: windows-10-deployment-scenarios.md + items: + - name: H5 + href: windows-10-deployment-scenarios.md + items: + - name: H6 + href: windows-10-deployment-scenarios.md + items: + - name: H7 + href: windows-10-deployment-scenarios.md \ No newline at end of file From f3d5b830ad6d20ac6b85d1e86b2f3623f42fe228 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 12 Feb 2020 16:19:13 -0800 Subject: [PATCH 032/393] 02 --- windows/deployment/TOC.yml | 7 ++---- windows/deployment/index.yml | 47 ++++++++++++------------------------ 2 files changed, 18 insertions(+), 36 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 964e1e0e9c..50a3a04cfb 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -9,16 +9,13 @@ href: windows-10-deployment-scenarios.md items: - name: H3 - href: windows-10-deployment-scenarios.md items: - name: H4 - href: windows-10-deployment-scenarios.md items: - name: H5 - href: windows-10-deployment-scenarios.md items: - name: H6 - href: windows-10-deployment-scenarios.md items: - name: H7 - href: windows-10-deployment-scenarios.md \ No newline at end of file + items: + - name: foo diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index c1c4afa954..c9d7ffcd89 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -1,20 +1,20 @@ ### YamlMime:Landing -title: Microsoft 365 security documentation # < 60 chars -summary: Learn about the robust security solutions and services in Microsoft 365 Security so that you can better protect your enterprise across attack surfaces. # < 160 chars +title: Windows 10 deployment resources and documentation # < 60 chars +summary: Learn about deploying Windows 10 and keeping it up to date in your organization. # < 160 chars metadata: - title: Microsoft 365 security documentation # Required; page title displayed in search results. Include the brand. < 60 chars. - description: Learn about the robust security solutions and services in Microsoft 365 Security so that you can better protect your enterprise across attack surfaces # Required; article description that is displayed in search results. < 160 chars. - services: office-365-security-compliance - ms.service: O365-seccomp #Required; service per approved list. service slug assigned to your service by ACOM. + title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. + description: Learn about deploying Windows 10 and keeping it up to date in your organization. # Required; article description that is displayed in search results. < 160 chars. + services: windows-10 + ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM. ms.subservice: subservice ms.topic: landing-page # Required - ms.collection: m365-security-compliance - author: mjcaparas #Required; your GitHub user alias, with correct capitalization. - ms.author: macapara #Required; microsoft alias of author; optional team alias. + ms.collection: windows-10 + author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. + ms.author: greglin #Required; microsoft alias of author; optional team alias. ms.date: 09/13/2019 #Required; mm/dd/yyyy format. - localization_priority: Priority + localization_priority: medium # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new @@ -22,7 +22,7 @@ landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb # Card (optional) - - title: Microsoft Threat Protection + - title: Plan for deployment linkLists: - linkListType: overview links: @@ -32,7 +32,7 @@ landingContent: url: mtp/overview-security-center.md # Card (optional) - - title: Microsoft Defender ATP + - title: Deploy Windows 10 linkLists: - linkListType: overview links: @@ -42,7 +42,7 @@ landingContent: url: https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview # Card - - title: Office 365 ATP + - title: Update Windows 10 linkLists: - linkListType: overview links: @@ -52,7 +52,7 @@ landingContent: url: https://docs.microsoft.com/office365/servicedescriptions/office-365-advanced-threat-protection-service-description # Card - - title: Azure ATP + - title: Troubleshooting linkLists: - linkListType: overview links: @@ -62,7 +62,7 @@ landingContent: url: https://docs.microsoft.com/azure-advanced-threat-protection/atp-architecture # Card (optional) - - title: Azure Security Center + - title: Tools linkLists: - linkListType: overview links: @@ -72,7 +72,7 @@ landingContent: url: https://docs.microsoft.com/azure/security-center/security-center-services # Card - - title: Microsoft Cloud App Security + - title: Lab guides linkLists: - linkListType: overview links: @@ -81,21 +81,6 @@ landingContent: - text: Get started with Microsoft Cloud App Security url: https://docs.microsoft.com/cloud-app-security/getting-started-with-cloud-app-security - # Card - - title: Azure Sentinel (Preview) - linkLists: - - linkListType: overview - links: - - text: What is Azure Sentinel? (Preview) - url: https://docs.microsoft.com/azure/sentinel/overview - - # Card - - title: Security management - linkLists: - - linkListType: overview - links: - - text: Secure score - url: mtp/microsoft-secure-score.md From a194121b240637c00740f1c7c64b9b3c62fdc7e9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 11:00:46 -0800 Subject: [PATCH 033/393] starting to build toc --- windows/deployment/TOC.yml | 48 +++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 50a3a04cfb..77d73ed44b 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -5,17 +5,39 @@ items: - name: Windows 10 deployment scenarios href: windows-10-deployment-scenarios.md - - name: H2 - href: windows-10-deployment-scenarios.md + - name: Deployment test lab items: - - name: H3 - items: - - name: H4 - items: - - name: H5 - items: - - name: H6 - items: - - name: H7 - items: - - name: foo + - name: Windows 10 deployment test lab + href: windows-10-deployment-scenarios.md + - name: Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit + href: windows-10-poc-mdt.md + - name: Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager + href: windows-10-poc-sc-config-mgr.md + + - name: Plan + items: + - name: item1 + href: file1.md + - name: item2 + href: file2.md + + - name: Deploy Windows 10 + items: + - name: item1 + href: file1.md + - name: item2 + href: file2.md + + - name: Manage Windows 10 updates + items: + - name: item1 + href: file1.md + - name: item2 + href: file2.md + + - name: Reference + items: + - name: item1 + href: file1.md + - name: item2 + href: file2.md \ No newline at end of file From 3d72ae59ec20d3a1e0beba78fbecf495d7e87c9a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 11:40:17 -0800 Subject: [PATCH 034/393] toc --- windows/deployment/TOC.yml | 36 ++++++++++++++++++++++++------------ windows/deployment/file1.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 windows/deployment/file1.md diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 77d73ed44b..6c2a689ec8 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -5,6 +5,8 @@ items: - name: Windows 10 deployment scenarios href: windows-10-deployment-scenarios.md + - name: Windows as a service + href: file1.md - name: Deployment test lab items: - name: Windows 10 deployment test lab @@ -16,28 +18,38 @@ - name: Plan items: - - name: item1 + - name: Windows 10 deployment considerations + href: file1.md + - name: Windows update resources + href: file1.md + - name: Features removed or planned for replacement href: file1.md - - name: item2 - href: file2.md - name: Deploy Windows 10 items: - - name: item1 + - name: Deploy with Windows Autopilot + href: file1.md + - name: Deploy with Configuration Manager + href: file1.md + - name: Deploy with Microsoft Deployment Toolkit href: file1.md - - name: item2 - href: file2.md - name: Manage Windows 10 updates items: - - name: item1 + - name: Manage with Configuration Manager + href: file1.md + - name: Manage with Group Policy + href: file1.md + - name: Manage with WSUS + href: file1.md + - name: Monitor updates href: file1.md - - name: item2 - href: file2.md - name: Reference items: - - name: item1 + - name: Windows 10 upgrade paths href: file1.md - - name: item2 - href: file2.md \ No newline at end of file + - name: Windows 10 edition upgrade + href: file1.md + - name: Windows 10 in S mode + href: file1.md \ No newline at end of file diff --git a/windows/deployment/file1.md b/windows/deployment/file1.md new file mode 100644 index 0000000000..44279dc9af --- /dev/null +++ b/windows/deployment/file1.md @@ -0,0 +1,32 @@ +--- +title: Configure a test lab to deploy Windows 10 +ms.reviewer: +manager: laurawi +ms.audience: itpro +author: greg-lindsay +description: Concepts and procedures for deploying Windows 10 in a proof of concept lab environment. +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +keywords: deployment, automate, tools, configure, mdt, sccm +ms.localizationpriority: medium +audience: itpro +author: greg-lindsay +ms.topic: article +--- + +# Step by step guide: Configure a test lab to deploy Windows 10 + +**Applies to** + +- Windows 10 + +This is a placeholder file to be deleted. + + + + + + + From 0d9f01a6a975d116dd3eeed1d9f04faa56e243fa Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 12:37:31 -0800 Subject: [PATCH 035/393] toc --- windows/deployment/index.yml | 87 +++++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index c9d7ffcd89..218ea980fa 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -1,7 +1,7 @@ ### YamlMime:Landing title: Windows 10 deployment resources and documentation # < 60 chars -summary: Learn about deploying Windows 10 and keeping it up to date in your organization. # < 160 chars +summary: Learn about deploying and and keeping Windows 10 up to date. # < 160 chars metadata: title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. @@ -22,64 +22,77 @@ landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb # Card (optional) - - title: Plan for deployment + - title: Get started linkLists: - linkListType: overview links: - - text: What is Microsoft Threat Protection? - url: mtp/microsoft-threat-protection.md - - text: Microsoft 365 security center - url: mtp/overview-security-center.md - + - text: What's new? + url: file1.md + - text: Deployment scenarios + url: file1.md + - text: Windows as a service + url: file1.md + + # Card (optional) + - title: Prepare for deployment + linkLists: + - linkListType: overview + links: + - text: Assess your current environment + url: file1.md + - text: Choose a deployment method + url: file1.md + - text: Design an update strategy + url: file1.md + # Card (optional) - title: Deploy Windows 10 linkLists: - linkListType: overview links: - - text: What is Microsoft Defender ATP? - url: https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/microsoft-defender-advanced-threat-protection - - text: Overview of capabilities - url: https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview + - text: Deploy Windows 10 + url: file1.md + - text: Deploy Windows 10 updates + url: file1.md + - text: Monitor your deployment + url: file1.md # Card - - title: Update Windows 10 + - title: Monitor and manage updates linkLists: - linkListType: overview links: - - text: What is Office 365 ATP? - url: office-365-security/office-365-atp.md - - text: Office 365 ATP service description - url: https://docs.microsoft.com/office365/servicedescriptions/office-365-advanced-threat-protection-service-description + - text: Monitor Windows 10 updates + url: file1.md + - text: Manage updates + url: file1.md + - text: Optimize update delivery + url: file1.md # Card - - title: Troubleshooting + - title: Troubleshooting resources linkLists: - linkListType: overview links: - - text: What is Azure ATP? - url: https://docs.microsoft.com/azure-advanced-threat-protection/what-is-atp - - text: Azure ATP architecture - url: https://docs.microsoft.com/azure-advanced-threat-protection/atp-architecture - - # Card (optional) - - title: Tools - linkLists: - - linkListType: overview - links: - - text: What is Azure Security Center? - url: https://docs.microsoft.com/azure/security-center/security-center-intro - - text: Supported features - url: https://docs.microsoft.com/azure/security-center/security-center-services + - text: Resolve upgrade errors + url: file1.md + - text: Troubleshoot Windows Update + url: file1.md + - text: Troubleshoot Windows Autopilot + url: file1.md - # Card - - title: Lab guides + # Card (optional) + - title: Additional resources linkLists: - linkListType: overview links: - - text: What is Microsoft Cloud App Security? - url: https://docs.microsoft.com/cloud-app-security/what-is-cloud-app-security - - text: Get started with Microsoft Cloud App Security - url: https://docs.microsoft.com/cloud-app-security/getting-started-with-cloud-app-security + - text: Windows 10 release information + url: file1.md + - text: What's new in Windows 10 + url: file1.md + - text: Desktop Deployment Center + url: https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home + From 40aa595d96c0e61dcbf9f0447e29528931432368 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 12:45:23 -0800 Subject: [PATCH 036/393] toc --- windows/deployment/TOC.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 6c2a689ec8..12479ddab4 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -18,11 +18,11 @@ - name: Plan items: - - name: Windows 10 deployment considerations + - name: Plan your Windows 10 deployment href: file1.md - - name: Windows update resources + - name: Plan an update management strategy href: file1.md - - name: Features removed or planned for replacement + - name: Review application compatibility href: file1.md - name: Deploy Windows 10 From 39140540bc62e448adbd615336248356577dacc5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 15:18:33 -0800 Subject: [PATCH 037/393] generalize landing page --- windows/deployment/index.yml | 50 ++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 218ea980fa..1ad83ae3ad 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -22,76 +22,76 @@ landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb # Card (optional) - - title: Get started + - title: Title1 linkLists: - linkListType: overview links: - - text: What's new? + - text: Article1a url: file1.md - - text: Deployment scenarios + - text: Article1b url: file1.md - text: Windows as a service - url: file1.md + url: Article1c # Card (optional) - - title: Prepare for deployment + - title: Title2 linkLists: - linkListType: overview links: - - text: Assess your current environment + - text: Article2a url: file1.md - - text: Choose a deployment method + - text: Article2b url: file1.md - - text: Design an update strategy + - text: Article2c url: file1.md # Card (optional) - - title: Deploy Windows 10 + - title: Title3 linkLists: - linkListType: overview links: - - text: Deploy Windows 10 + - text: Article3a url: file1.md - - text: Deploy Windows 10 updates + - text: Article3b url: file1.md - - text: Monitor your deployment + - text: Article3c url: file1.md # Card - - title: Monitor and manage updates + - title: Title4 linkLists: - linkListType: overview links: - - text: Monitor Windows 10 updates + - text: Article4a url: file1.md - - text: Manage updates + - text: Article4b url: file1.md - - text: Optimize update delivery + - text: Article4c url: file1.md # Card - - title: Troubleshooting resources + - title: Title5 linkLists: - linkListType: overview links: - - text: Resolve upgrade errors + - text: Article5a url: file1.md - - text: Troubleshoot Windows Update + - text: Article5b url: file1.md - - text: Troubleshoot Windows Autopilot + - text: Article5c url: file1.md # Card (optional) - - title: Additional resources + - title: Title6 linkLists: - linkListType: overview links: - - text: Windows 10 release information + - text: Article6a url: file1.md - - text: What's new in Windows 10 + - text: Article6b + url: file1.md + - text: Article6c url: file1.md - - text: Desktop Deployment Center - url: https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home From 95eaf992f37e027f2163dfe2c0be09caf54a77c9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Feb 2020 16:00:55 -0800 Subject: [PATCH 038/393] toc update --- windows/deployment/TOC.yml | 40 +++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 12479ddab4..879ca23d6b 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,20 +1,22 @@ - name: Windows 10 deployment resources and documentation href: index.yml items: - - name: Explore + - name: Get started items: - - name: Windows 10 deployment scenarios - href: windows-10-deployment-scenarios.md - - name: Windows as a service + - name: Deployment tools and methods href: file1.md - - name: Deployment test lab + - name: Understand Windows as a service + href: file1.md + - name: Calendar of operations + href: file1.md + - name: Deployment test lab items: - name: Windows 10 deployment test lab - href: windows-10-deployment-scenarios.md + href: file1.md - name: Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit - href: windows-10-poc-mdt.md + href: file1.md - name: Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager - href: windows-10-poc-sc-config-mgr.md + href: file1.md - name: Plan items: @@ -36,14 +38,20 @@ - name: Manage Windows 10 updates items: - - name: Manage with Configuration Manager - href: file1.md - - name: Manage with Group Policy - href: file1.md - - name: Manage with WSUS - href: file1.md - - name: Monitor updates - href: file1.md + - name: Manage updates locally + items: + - name: Manage updates with WSUS + href: file1.md + - name: Manage updates using images + href: file1.md + - name: Manage updates from the cloud + items: + - name: Manage updates with Configuration Manager + href: file1.md + - name: Manage updates with Intune + href: file1.md + - name: Manage with Group Policy + href: file1.md - name: Reference items: From 5260a1043190ad58c1847c6206a5c77d0700cc4b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 14 Feb 2020 16:34:35 -0800 Subject: [PATCH 039/393] toc update --- windows/deployment/TOC.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 879ca23d6b..92ae98ee15 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,13 +1,15 @@ - name: Windows 10 deployment resources and documentation href: index.yml items: + - name: What's new in Windows 10 deployment + href: file1.md - name: Get started items: - name: Deployment tools and methods href: file1.md - - name: Understand Windows as a service + - name: Deployment process posters href: file1.md - - name: Calendar of operations + - name: Windows as a service href: file1.md - name: Deployment test lab items: @@ -21,7 +23,23 @@ - name: Plan items: - name: Plan your Windows 10 deployment - href: file1.md + items: + - name: Windows 10 compatibility + href: file1.md + - name: Windows 10 infrastructure requirements + href: file1.md + - name: Windows 10 volume license media + href: file1.md + - name: Plan for volume activation + href: file1.md + - name: Features removed or planned for replacement + items: + - name: Windows 10 features lifecycle + href: file1.md + - name: Features we're no longer developing + href: file1.md + - name: Features we removed + href: file1.md - name: Plan an update management strategy href: file1.md - name: Review application compatibility From cfe2c09231e79921cd962ca5eb0b5de13fc2c248 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 14 Feb 2020 20:52:07 -0800 Subject: [PATCH 040/393] update --- windows/deployment/index.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 1ad83ae3ad..76995cff39 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -30,8 +30,8 @@ landingContent: url: file1.md - text: Article1b url: file1.md - - text: Windows as a service - url: Article1c + - text: Article1c + url: file1.md # Card (optional) - title: Title2 From 275dbeaaecdf63eb641e379b39d8b966427f33c3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 19 Feb 2020 09:32:25 -0800 Subject: [PATCH 041/393] toc update --- windows/deployment/TOC.yml | 62 ++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 92ae98ee15..7fde2915a3 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,16 +1,18 @@ - name: Windows 10 deployment resources and documentation href: index.yml items: - - name: What's new in Windows 10 deployment - href: file1.md - name: Get started items: + - name: What's new in Windows 10 deployment + href: file1.md - name: Deployment tools and methods href: file1.md - name: Deployment process posters href: file1.md - name: Windows as a service - href: file1.md + items: + - name: Recommended calendar of operations + href: file1.md - name: Deployment test lab items: - name: Windows 10 deployment test lab @@ -40,10 +42,26 @@ href: file1.md - name: Features we removed href: file1.md - - name: Plan an update management strategy - href: file1.md - - name: Review application compatibility - href: file1.md + - name: Plan your update strategy + items: + - name: Plan image-based management + href: file1.md + - name: Plan cloud (Waas management) + items: + - name: Designate rings, channels, and policies + href: file1.md + - name: Chooose a delivery optimization strategy + href: file1.md + - name: Choose a monitoring approach + href: file1.md + - name: Assess apps + items: + - name: With Desktop Analytics + href: file1.md + - name: By other means + href: file1.md + - name: Other prep activities + href: file1.md - name: Deploy Windows 10 items: @@ -65,11 +83,37 @@ - name: Manage updates from the cloud items: - name: Manage updates with Configuration Manager - href: file1.md + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment + href: file1.md + - name: Perform a broad deployment + href: file1.md - name: Manage updates with Intune - href: file1.md + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment + href: file1.md + - name: Perform a broad deployment + href: file1.md - name: Manage with Group Policy + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment + href: file1.md + - name: Perform a broad deployment + href: file1.md + - name: Monitor updates + items: + - name: Monitor updates with Update Compliance href: file1.md + - name: Monitor updates with Desktop Analytics + href: file1.md + - name: Monitor Delivery Optimization + href: file1.md - name: Reference items: From b67dfe83ee47d8a3e4a4bb9eb6c5e78b9b038f40 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 19 Feb 2020 11:57:00 -0800 Subject: [PATCH 042/393] toc update --- windows/deployment/TOC.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 7fde2915a3..74b7af91c7 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -3,6 +3,8 @@ items: - name: Get started items: + - name: Learn about Windows 10 (new) + href: file1.md - name: What's new in Windows 10 deployment href: file1.md - name: Deployment tools and methods @@ -11,7 +13,7 @@ href: file1.md - name: Windows as a service items: - - name: Recommended calendar of operations + - name: Recommended calendar of operations (new) href: file1.md - name: Deployment test lab items: @@ -44,8 +46,6 @@ href: file1.md - name: Plan your update strategy items: - - name: Plan image-based management - href: file1.md - name: Plan cloud (Waas management) items: - name: Designate rings, channels, and policies @@ -62,6 +62,8 @@ href: file1.md - name: Other prep activities href: file1.md + - name: Plan image-based management + href: file1.md - name: Deploy Windows 10 items: @@ -74,12 +76,6 @@ - name: Manage Windows 10 updates items: - - name: Manage updates locally - items: - - name: Manage updates with WSUS - href: file1.md - - name: Manage updates using images - href: file1.md - name: Manage updates from the cloud items: - name: Manage updates with Configuration Manager @@ -106,6 +102,12 @@ href: file1.md - name: Perform a broad deployment href: file1.md + - name: Manage updates locally + items: + - name: Manage updates with WSUS + href: file1.md + - name: Manage updates using images + href: file1.md - name: Monitor updates items: - name: Monitor updates with Update Compliance From ae7cd1ee87e1e7296c2a005599a171cbde4e6f93 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 10:35:09 -0800 Subject: [PATCH 043/393] TOC update --- windows/deployment/TOC.yml | 332 +++++++++++++++++++++++++++++++++++-- 1 file changed, 319 insertions(+), 13 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 74b7af91c7..986344a5cd 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -19,9 +19,9 @@ items: - name: Windows 10 deployment test lab href: file1.md - - name: Deploy Windows 10 in a test lab using Microsoft Deployment Toolkit + - name: Deploy Windows 10 in a test lab using MDT href: file1.md - - name: Deploy Windows 10 in a test lab using Microsoft Endpoint Configuration Manager + - name: Deploy Windows 10 in a test lab using Configuration Manager href: file1.md - name: Plan @@ -46,7 +46,7 @@ href: file1.md - name: Plan your update strategy items: - - name: Plan cloud (Waas management) + - name: Plan cloud management items: - name: Designate rings, channels, and policies href: file1.md @@ -54,13 +54,13 @@ href: file1.md - name: Choose a monitoring approach href: file1.md - - name: Assess apps + - name: Assess apps (new) items: - name: With Desktop Analytics href: file1.md - - name: By other means + - name: By other means (new) href: file1.md - - name: Other prep activities + - name: Other prep activities (new) href: file1.md - name: Plan image-based management href: file1.md @@ -82,7 +82,7 @@ items: - name: Set up rings, channels, optimization, polices href: file1.md - - name: Perform a pilot deployment + - name: Perform a pilot deployment (new) href: file1.md - name: Perform a broad deployment href: file1.md @@ -90,7 +90,7 @@ items: - name: Set up rings, channels, optimization, polices href: file1.md - - name: Perform a pilot deployment + - name: Perform a pilot deployment (new) href: file1.md - name: Perform a broad deployment href: file1.md @@ -98,7 +98,7 @@ items: - name: Set up rings, channels, optimization, polices href: file1.md - - name: Perform a pilot deployment + - name: Perform a pilot deployment (new) href: file1.md - name: Perform a broad deployment href: file1.md @@ -118,10 +118,316 @@ href: file1.md - name: Reference - items: + items: - name: Windows 10 upgrade paths href: file1.md - - name: Windows 10 edition upgrade + - name: Windows 10 edition upgrade href: file1.md - - name: Windows 10 in S mode - href: file1.md \ No newline at end of file + - name: Deploy Windows 10 with Microsoft 365 + href: file1.md + - name: Subscription Activation + items: + - name: Windows 10 Subscription Activation + href: file1.md + - name: Windows 10 Enterprise E3 in CSP + href: file1.md + - name: Configure VDA for Subscription Activation + href: file1.md + - name: Deploy Windows 10 Enterprise licenses + href: file1.md + - name: Resolve upgrade errors + items: + - name: Resolve Windows 10 upgrade errors + href: file1.md + - name: Quick fixes + href: file1.md + - name: SetupDiag + href: file1.md + - name: Troubleshooting upgrade errors + href: file1.md + - name: Windows error reporting + href: file1.md + - name: Upgrade error codes + href: file1.md + - name: Log files + href: file1.md + - name: Resolution procedures + href: file1.md + - name: Submit Windows 10 upgrade errors + href: file1.md + - name: How Windows Update works (new) + href: file1.md + - name: Additional Windows Update settings + href: file1.md + - name: Delivery Optimization reference + href: file1.md + + - name: Windows 10 deployment tools + items: + - name: Windows 10 deployment scenarios and tools + items: + - name: Convert MBR partition to GPT + - name: Configure a PXE server to load Windows PE + - name: Windows ADK for Windows 10 scenarios for IT Pros + - name: Windows To Go + items: + - name: Deploy Windows To Go in your organization + href: file1.md + - name: Feature overview + items: + - name: Windows To Go - feature overview + href: file1.md + - name: Best practice recommendations for Windows To Go + href: file1.md + - name: Deployment considerations for Windows To Go + href: file1.md + - name: Prepare your organization for Windows To Go + href: file1.md + - name: Security and data protection considerations for Windows To Go + href: file1.md + - name: Windows To Go - frequently asked questions + href: file1.md + + - name: Volume Activation Management Tool (VAMT) technical reference + items: + - name: VAMT technical reference + href: file1.md + - name: Introduction to VAMT + href: file1.md + - name: Active Directory-Based Activation Overview + href: file1.md + - name: Install and Configure VAMT + href: file1.md + - name: VAMT Requirements + href: file1.md + - name: Install VAMT + href: file1.md + - name: Configure Client Computers + href: file1.md + - name: Add and Manage Products + href: file1.md + - name: Add and Remove Computers + href: file1.md + - name: Update Product Status + href: file1.md + - name: Remove Products + href: file1.md + - name: Manage Product Keys + href: file1.md + - name: Add and Remove a Product Key + href: file1.md + - name: Install a Product Key + href: file1.md + - name: Install a KMS Client Key + href: file1.md + - name: Manage Activations + href: file1.md + - name: Perform Online Activation + href: file1.md + - name: Perform Proxy Activation + href: file1.md + - name: Perform KMS Activation + href: file1.md + - name: Perform Local Reactivation + href: file1.md + - name: Activate an Active Directory Forest Online + href: file1.md + - name: Activate by Proxy an Active Directory Forest + href: file1.md + - name: Manage VAMT Data + href: file1.md + - name: Import and Export VAMT Data + href: file1.md + - name: Use VAMT in Windows PowerShell + href: file1.md + - name: VAMT Step-by-Step Scenarios + href: file1.md + - name: Scenario 1: Online Activation + href: file1.md + - name: Scenario 2: Proxy Activation + href: file1.md + - name: Scenario 3: KMS Client Activation + href: file1.md + - name: VAMT Known Issues + href: file1.md + + - name: User State Migration Tool (USMT) technical reference + items: + - name: USMT overview topics + items: + - name: USMT overview + href: file1.md + - name: Getting started with the USMT + href: file1.md + - name: Windows upgrade and migration considerations + href: file1.md + - name: USMT How-to topics + items: + - name: Exclude Files and Settings + href: file1.md + - name: Extract Files from a Compressed USMT Migration Store + href: file1.md + - name: Include Files and Settings + href: file1.md + - name: Migrate Application Settings + href: file1.md + - name: Migrate EFS Files and Certificates + href: file1.md + - name: Migrate User Accounts + href: file1.md + - name: Reroute Files and Settings + href: file1.md + - name: Verify the Condition of a Compressed Migration Store + href: file1.md + - name: USMT Troubleshooting + href: file1.md + - name: Common Issues + href: file1.md + - name: Frequently Asked Questions + href: file1.md + - name: Log Files + href: file1.md + - name: Return Codes + href: file1.md + - name: USMT Resources + href: file1.md + + - name: USMT Reference + items: + - name: USMT Requirements + href: file1.md + - name: USMT Best Practices + href: file1.md + - name: How USMT Works + href: file1.md + - name: Plan Your Migration + href: file1.md + - name: Common Migration Scenarios + href: file1.md + - name: What Does USMT Migrate? + href: file1.md + - name: Choose a Migration Store Type + href: file1.md + - name: Migration Store Types Overview + href: file1.md + - name: Estimate Migration Store Size + href: file1.md + - name: Hard-Link Migration Store + href: file1.md + - name: Migration Store Encryption + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Identify Applications Settings + href: file1.md + - name: Identify Operating System Settings + href: file1.md + - name: Identify File Types, Files, and Folders + href: file1.md + - name: Test Your Migration + href: file1.md + - name: USMT Command-line Syntax + href: file1.md + - name: ScanState Syntax + href: file1.md + - name: LoadState Syntax + href: file1.md + - name: UsmtUtils Syntax + href: file1.md + - name: USMT XML Reference + href: file1.md + - name: Understanding Migration XML Files + href: file1.md + - name: Config.xml File + href: file1.md + - name: Customize USMT XML Files + href: file1.md + - name: Custom XML Examples + href: file1.md + - name: Conflicts and Precedence + href: file1.md + - name: General Conventions + href: file1.md + - name: XML File Requirements + href: file1.md + - name: Recognized Environment Variables + href: file1.md + - name: XML Elements Library + href: file1.md + - name: Offline Migration Reference + href: file1.md + + - name: Application Compatibility Toolkit (ACT) Technical Reference + items: + - name: SUA User's Guide + href: file1.md + - name: Using the SUA Wizard + href: file1.md + - name: Using the SUA Tool + href: file1.md + - name: Tabs on the SUA Tool Interface + href: file1.md + - name: Showing Messages Generated by the SUA Tool + href: file1.md + - name: Applying Filters to Data in the SUA Tool + href: file1.md + - name: Fixing Applications by Using the SUA Tool + href: file1.md + - name: Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista + href: file1.md + - name: Compatibility Administrator User's Guide + href: file1.md + - name: Using the Compatibility Administrator Tool + href: file1.md + - name: Available Data Types and Operators in Compatibility Administrator + href: file1.md + - name: Searching for Fixed Applications in Compatibility Administrator + href: file1.md + - name: Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Fix in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Mode in Compatibility Administrator + href: file1.md + - name: Creating an AppHelp Message in Compatibility Administrator + href: file1.md + - name: Viewing the Events Screen in Compatibility Administrator + href: file1.md + - name: Enabling and Disabling Compatibility Fixes in Compatibility Administrator + href: file1.md + - name: Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator + href: file1.md + - name: Managing Application-Compatibility Fixes and Custom Fix Databases + href: file1.md + - name: Understanding and Using Compatibility Fixes + href: file1.md + - name: Compatibility Fix Database Management Strategies and Deployment + href: file1.md + - name: Testing Your Application Mitigation Packages + href: file1.md + - name: Using the Sdbinst.exe Command-Line Tool + href: file1.md + - name: Volume Activation [client] + href: file1.md + - name: Plan for volume activation [client] + href: file1.md + - name: Activate using Key Management Service [client] + href: file1.md + - name: Activate using Active Directory-based activation [client] + href: file1.md + - name: Activate clients running Windows 10 + href: file1.md + - name: Monitor activation [client] + href: file1.md + - name: Use the Volume Activation Management Tool [client] + href: file1.md + - name: Appendix: Information sent to Microsoft during activation [client] + href: file1.md + - name: Windows 10 in S mode + items: + - name: Switch to Windows 10 Pro/Enterprise from S mode + href: file1.md + - name: Install fonts in Windows 10 + href: file1.md \ No newline at end of file From 0687c34d3f951c519cde38d34ab1e87cf423ced4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 10:49:50 -0800 Subject: [PATCH 044/393] TOC update --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 986344a5cd..e616b75d13 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -191,7 +191,7 @@ - name: Volume Activation Management Tool (VAMT) technical reference items: - name: VAMT technical reference - href: file1.md + href: file1.md - name: Introduction to VAMT href: file1.md - name: Active Directory-Based Activation Overview From 119a508b2a32b54645cb3096a72a0a4e31d2ed91 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 11:05:03 -0800 Subject: [PATCH 045/393] remove colons --- windows/deployment/TOC.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index e616b75d13..ba7635b511 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -242,11 +242,11 @@ href: file1.md - name: VAMT Step-by-Step Scenarios href: file1.md - - name: Scenario 1: Online Activation + - name: Scenario 1 - Online Activation href: file1.md - - name: Scenario 2: Proxy Activation + - name: Scenario 2 - Proxy Activation href: file1.md - - name: Scenario 3: KMS Client Activation + - name: Scenario 3 - KMS Client Activation href: file1.md - name: VAMT Known Issues href: file1.md @@ -423,7 +423,7 @@ href: file1.md - name: Use the Volume Activation Management Tool [client] href: file1.md - - name: Appendix: Information sent to Microsoft during activation [client] + - name: Appendix - Information sent to Microsoft during activation [client] href: file1.md - name: Windows 10 in S mode items: From 54b5103c167588b3fc6c79419c310cca376eb780 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 11:10:05 -0800 Subject: [PATCH 046/393] use quotes for titles with colons --- windows/deployment/TOC.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index ba7635b511..462e56c54b 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -175,7 +175,7 @@ href: file1.md - name: Feature overview items: - - name: Windows To Go - feature overview + - name: "Windows To Go: feature overview" href: file1.md - name: Best practice recommendations for Windows To Go href: file1.md @@ -185,7 +185,7 @@ href: file1.md - name: Security and data protection considerations for Windows To Go href: file1.md - - name: Windows To Go - frequently asked questions + - name: "Windows To Go: frequently asked questions" href: file1.md - name: Volume Activation Management Tool (VAMT) technical reference @@ -242,11 +242,11 @@ href: file1.md - name: VAMT Step-by-Step Scenarios href: file1.md - - name: Scenario 1 - Online Activation + - name: "Scenario 1: Online Activation" href: file1.md - - name: Scenario 2 - Proxy Activation + - name: "Scenario 2: Proxy Activation" href: file1.md - - name: Scenario 3 - KMS Client Activation + - name: "Scenario 3: KMS Client Activation" href: file1.md - name: VAMT Known Issues href: file1.md @@ -423,7 +423,7 @@ href: file1.md - name: Use the Volume Activation Management Tool [client] href: file1.md - - name: Appendix - Information sent to Microsoft during activation [client] + - name: "Appendix: Information sent to Microsoft during activation [client]"" href: file1.md - name: Windows 10 in S mode items: From 36f3046239d824a49e1db7d9886671b34edf53a2 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 11:31:30 -0800 Subject: [PATCH 047/393] fix some indents --- windows/deployment/TOC.yml | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 462e56c54b..61cc965e45 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -125,6 +125,18 @@ href: file1.md - name: Deploy Windows 10 with Microsoft 365 href: file1.md + - name: How Windows Update works (new) + href: file1.md + - name: Additional Windows Update settings + href: file1.md + - name: Delivery Optimization reference + href: file1.md + - name: Windows 10 in S mode + items: + - name: Windows 10 in S mode overview + href: file1.md + - name: Switch to Windows 10 Pro/Enterprise from S mode + href: file1.md - name: Subscription Activation items: - name: Windows 10 Subscription Activation @@ -155,12 +167,7 @@ href: file1.md - name: Submit Windows 10 upgrade errors href: file1.md - - name: How Windows Update works (new) - href: file1.md - - name: Additional Windows Update settings - href: file1.md - - name: Delivery Optimization reference - href: file1.md + - name: Windows 10 deployment tools items: @@ -423,11 +430,8 @@ href: file1.md - name: Use the Volume Activation Management Tool [client] href: file1.md - - name: "Appendix: Information sent to Microsoft during activation [client]"" + - name: "Appendix: Information sent to Microsoft during activation [client]" href: file1.md - - name: Windows 10 in S mode - items: - - name: Switch to Windows 10 Pro/Enterprise from S mode - href: file1.md - - name: Install fonts in Windows 10 - href: file1.md \ No newline at end of file + + - name: Install fonts in Windows 10 + href: file1.md \ No newline at end of file From 45bd5494372a76a444dee3dd8e4cad5050cdf971 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 12:08:29 -0800 Subject: [PATCH 048/393] added deploy toc items --- windows/deployment/TOC.yml | 130 +++++++++++++++++++++++++++++++++++-- 1 file changed, 126 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 61cc965e45..6cc0756364 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -68,11 +68,133 @@ - name: Deploy Windows 10 items: - name: Deploy with Windows Autopilot - href: file1.md + items: + - name: Windows Autopilot deployment + href: file1.md + - name: What's new in Windows Autopilot + href: file1.md + - name: Understand Windows Autopilot + items: + - name: Overview + href: file1.md + - name: Requirements + href: file1.md + - name: Scenarios and capabilities + href: file1.md + - name: Get started + href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md + - name: Administer Windows Autopilot + items: + - name: Register devices + href: file1.md + - name: Configure device profiles + href: file1.md + - name: Enrollment Status Page + href: file1.md + - name: BitLocker encryption + href: file1.md + - name: DFCI management + href: file1.md + - name: Windows Autopilot update + href: file1.md + - name: Troubleshooting + href: file1.md + - name: Known issues + href: file1.md + - name: Support + items: + - name: FAQ + href: file1.md + - name: Contacts + href: file1.md + - name: Registration authorization + href: file1.md + - name: Device guidelines + href: file1.md + - name: Motherboard replacement + href: file1.md - name: Deploy with Configuration Manager - href: file1.md - - name: Deploy with Microsoft Deployment Toolkit - href: file1.md + items: + - name: Integrate Configuration Manager with MDT + href: file1.md + - name: Prepare for Zero Touch Installation of Windows 10 with Configuration Manager + href: file1.md + - name: Create a custom Windows PE boot image with Configuration Manager + href: file1.md + - name: Add a Windows 10 operating system image using Configuration Manager + href: file1.md + - name: Create an application to deploy with Windows 10 using Configuration Manager + href: file1.md + - name: Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager + href: file1.md + - name: Create a task sequence with Configuration Manager and MDT + href: file1.md + - name: Finalize the operating system configuration for Windows 10 deployment with Configuration Manager + href: file1.md + - name: Deploy Windows 10 using PXE and Configuration Manager + href: file1.md + - name: Monitor the Windows 10 deployment with Configuration Manager + href: file1.md + - name: Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager + href: file1.md + - name: Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager + href: file1.md + - name: Perform an in-place upgrade to Windows 10 using Configuration Manager + href: file1.md + - name: Deploy with the Microsoft Deployment Toolkit + items: + - name: Get started with MDT + href: file1.md + - name: Deploy Windows 10 with MDT + items: + - name: Prepare for deployment with MDT + href: file1.md + - name: Create a Windows 10 reference image + href: file1.md + - name: Deploy a Windows 10 reference image using MDT + href: file1.md + - name: Build a distributed environment for Windows 10 deployment + href: file1.md + - name: Refresh a Windows 7 computer with Windows 10 + href: file1.md + - name: Replace a Windows 7 computer with Windows 10 + href: file1.md + - name: Perform an in-place upgrade to Windows 10 with MDT + href: file1.md + - name: Customize MDT + items: + - name: Configure MDT settings + href: file1.md + - name: Set up MDT for BitLocker + href: file1.md + - name: Configure MDT deployment share rules + href: file1.md + - name: Configure MDT UserExit scripts + href: file1.md + - name: Simulate a Windows 10 deployment in a test environment + href: file1.md + - name: Use the MDT database to state Windows 10 deployment information + href: file1.md + - name: Assign applications using roles in MDT + href: file1.md + - name: Use web services in MDT + href: file1.md + - name: Use Orchestrator runbooks with MDT + href: file1.md - name: Manage Windows 10 updates items: From d99ac9e76071ff7eaf7e1c89dfd071c55a920852 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 12:39:44 -0800 Subject: [PATCH 049/393] testing ap toc --- windows/deployment/windows-autopilot/TOC.yml | 490 ++++++++++++++++++ .../windows-autopilot/{TOC.md => old.TOC.md} | 0 2 files changed, 490 insertions(+) create mode 100644 windows/deployment/windows-autopilot/TOC.yml rename windows/deployment/windows-autopilot/{TOC.md => old.TOC.md} (100%) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml new file mode 100644 index 0000000000..fc9e510e05 --- /dev/null +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -0,0 +1,490 @@ + - name: Deploy with Windows Autopilot + items: + - name: Windows Autopilot deployment + href: file1.md + - name: What's new in Windows Autopilot + href: file1.md + - name: Understand Windows Autopilot + items: + - name: Overview + href: file1.md + - name: Requirements + href: file1.md + - name: Scenarios and capabilities + href: file1.md + - name: Get started + href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md + - name: Administer Windows Autopilot + items: + - name: Register devices + href: file1.md + - name: Configure device profiles + href: file1.md + - name: Enrollment Status Page + href: file1.md + - name: BitLocker encryption + href: file1.md + - name: DFCI management + href: file1.md + - name: Windows Autopilot update + href: file1.md + - name: Troubleshooting + href: file1.md + - name: Known issues + href: file1.md + - name: Support + items: + - name: FAQ + href: file1.md + - name: Contacts + href: file1.md + - name: Registration authorization + href: file1.md + - name: Device guidelines + href: file1.md + - name: Motherboard replacement + href: file1.md + - name: Deploy with Configuration Manager + items: + - name: Integrate Configuration Manager with MDT + href: file1.md + - name: Prepare for Zero Touch Installation of Windows 10 with Configuration Manager + href: file1.md + - name: Create a custom Windows PE boot image with Configuration Manager + href: file1.md + - name: Add a Windows 10 operating system image using Configuration Manager + href: file1.md + - name: Create an application to deploy with Windows 10 using Configuration Manager + href: file1.md + - name: Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager + href: file1.md + - name: Create a task sequence with Configuration Manager and MDT + href: file1.md + - name: Finalize the operating system configuration for Windows 10 deployment with Configuration Manager + href: file1.md + - name: Deploy Windows 10 using PXE and Configuration Manager + href: file1.md + - name: Monitor the Windows 10 deployment with Configuration Manager + href: file1.md + - name: Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager + href: file1.md + - name: Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager + href: file1.md + - name: Perform an in-place upgrade to Windows 10 using Configuration Manager + href: file1.md + - name: Deploy with the Microsoft Deployment Toolkit + items: + - name: Get started with MDT + href: file1.md + - name: Deploy Windows 10 with MDT + items: + - name: Prepare for deployment with MDT + href: file1.md + - name: Create a Windows 10 reference image + href: file1.md + - name: Deploy a Windows 10 reference image using MDT + href: file1.md + - name: Build a distributed environment for Windows 10 deployment + href: file1.md + - name: Refresh a Windows 7 computer with Windows 10 + href: file1.md + - name: Replace a Windows 7 computer with Windows 10 + href: file1.md + - name: Perform an in-place upgrade to Windows 10 with MDT + href: file1.md + - name: Customize MDT + items: + - name: Configure MDT settings + href: file1.md + - name: Set up MDT for BitLocker + href: file1.md + - name: Configure MDT deployment share rules + href: file1.md + - name: Configure MDT UserExit scripts + href: file1.md + - name: Simulate a Windows 10 deployment in a test environment + href: file1.md + - name: Use the MDT database to state Windows 10 deployment information + href: file1.md + - name: Assign applications using roles in MDT + href: file1.md + - name: Use web services in MDT + href: file1.md + - name: Use Orchestrator runbooks with MDT + href: file1.md + + - name: Manage Windows 10 updates + items: + - name: Manage updates from the cloud + items: + - name: Manage updates with Configuration Manager + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment (new) + href: file1.md + - name: Perform a broad deployment + href: file1.md + - name: Manage updates with Intune + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment (new) + href: file1.md + - name: Perform a broad deployment + href: file1.md + - name: Manage with Group Policy + items: + - name: Set up rings, channels, optimization, polices + href: file1.md + - name: Perform a pilot deployment (new) + href: file1.md + - name: Perform a broad deployment + href: file1.md + - name: Manage updates locally + items: + - name: Manage updates with WSUS + href: file1.md + - name: Manage updates using images + href: file1.md + - name: Monitor updates + items: + - name: Monitor updates with Update Compliance + href: file1.md + - name: Monitor updates with Desktop Analytics + href: file1.md + - name: Monitor Delivery Optimization + href: file1.md + + - name: Reference + items: + - name: Windows 10 upgrade paths + href: file1.md + - name: Windows 10 edition upgrade + href: file1.md + - name: Deploy Windows 10 with Microsoft 365 + href: file1.md + - name: How Windows Update works (new) + href: file1.md + - name: Additional Windows Update settings + href: file1.md + - name: Delivery Optimization reference + href: file1.md + - name: Windows 10 in S mode + items: + - name: Windows 10 in S mode overview + href: file1.md + - name: Switch to Windows 10 Pro/Enterprise from S mode + href: file1.md + - name: Subscription Activation + items: + - name: Windows 10 Subscription Activation + href: file1.md + - name: Windows 10 Enterprise E3 in CSP + href: file1.md + - name: Configure VDA for Subscription Activation + href: file1.md + - name: Deploy Windows 10 Enterprise licenses + href: file1.md + - name: Resolve upgrade errors + items: + - name: Resolve Windows 10 upgrade errors + href: file1.md + - name: Quick fixes + href: file1.md + - name: SetupDiag + href: file1.md + - name: Troubleshooting upgrade errors + href: file1.md + - name: Windows error reporting + href: file1.md + - name: Upgrade error codes + href: file1.md + - name: Log files + href: file1.md + - name: Resolution procedures + href: file1.md + - name: Submit Windows 10 upgrade errors + href: file1.md + + + - name: Windows 10 deployment tools + items: + - name: Windows 10 deployment scenarios and tools + items: + - name: Convert MBR partition to GPT + - name: Configure a PXE server to load Windows PE + - name: Windows ADK for Windows 10 scenarios for IT Pros + - name: Windows To Go + items: + - name: Deploy Windows To Go in your organization + href: file1.md + - name: Feature overview + items: + - name: "Windows To Go: feature overview" + href: file1.md + - name: Best practice recommendations for Windows To Go + href: file1.md + - name: Deployment considerations for Windows To Go + href: file1.md + - name: Prepare your organization for Windows To Go + href: file1.md + - name: Security and data protection considerations for Windows To Go + href: file1.md + - name: "Windows To Go: frequently asked questions" + href: file1.md + + - name: Volume Activation Management Tool (VAMT) technical reference + items: + - name: VAMT technical reference + href: file1.md + - name: Introduction to VAMT + href: file1.md + - name: Active Directory-Based Activation Overview + href: file1.md + - name: Install and Configure VAMT + href: file1.md + - name: VAMT Requirements + href: file1.md + - name: Install VAMT + href: file1.md + - name: Configure Client Computers + href: file1.md + - name: Add and Manage Products + href: file1.md + - name: Add and Remove Computers + href: file1.md + - name: Update Product Status + href: file1.md + - name: Remove Products + href: file1.md + - name: Manage Product Keys + href: file1.md + - name: Add and Remove a Product Key + href: file1.md + - name: Install a Product Key + href: file1.md + - name: Install a KMS Client Key + href: file1.md + - name: Manage Activations + href: file1.md + - name: Perform Online Activation + href: file1.md + - name: Perform Proxy Activation + href: file1.md + - name: Perform KMS Activation + href: file1.md + - name: Perform Local Reactivation + href: file1.md + - name: Activate an Active Directory Forest Online + href: file1.md + - name: Activate by Proxy an Active Directory Forest + href: file1.md + - name: Manage VAMT Data + href: file1.md + - name: Import and Export VAMT Data + href: file1.md + - name: Use VAMT in Windows PowerShell + href: file1.md + - name: VAMT Step-by-Step Scenarios + href: file1.md + - name: "Scenario 1: Online Activation" + href: file1.md + - name: "Scenario 2: Proxy Activation" + href: file1.md + - name: "Scenario 3: KMS Client Activation" + href: file1.md + - name: VAMT Known Issues + href: file1.md + + - name: User State Migration Tool (USMT) technical reference + items: + - name: USMT overview topics + items: + - name: USMT overview + href: file1.md + - name: Getting started with the USMT + href: file1.md + - name: Windows upgrade and migration considerations + href: file1.md + - name: USMT How-to topics + items: + - name: Exclude Files and Settings + href: file1.md + - name: Extract Files from a Compressed USMT Migration Store + href: file1.md + - name: Include Files and Settings + href: file1.md + - name: Migrate Application Settings + href: file1.md + - name: Migrate EFS Files and Certificates + href: file1.md + - name: Migrate User Accounts + href: file1.md + - name: Reroute Files and Settings + href: file1.md + - name: Verify the Condition of a Compressed Migration Store + href: file1.md + - name: USMT Troubleshooting + href: file1.md + - name: Common Issues + href: file1.md + - name: Frequently Asked Questions + href: file1.md + - name: Log Files + href: file1.md + - name: Return Codes + href: file1.md + - name: USMT Resources + href: file1.md + + - name: USMT Reference + items: + - name: USMT Requirements + href: file1.md + - name: USMT Best Practices + href: file1.md + - name: How USMT Works + href: file1.md + - name: Plan Your Migration + href: file1.md + - name: Common Migration Scenarios + href: file1.md + - name: What Does USMT Migrate? + href: file1.md + - name: Choose a Migration Store Type + href: file1.md + - name: Migration Store Types Overview + href: file1.md + - name: Estimate Migration Store Size + href: file1.md + - name: Hard-Link Migration Store + href: file1.md + - name: Migration Store Encryption + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Identify Applications Settings + href: file1.md + - name: Identify Operating System Settings + href: file1.md + - name: Identify File Types, Files, and Folders + href: file1.md + - name: Test Your Migration + href: file1.md + - name: USMT Command-line Syntax + href: file1.md + - name: ScanState Syntax + href: file1.md + - name: LoadState Syntax + href: file1.md + - name: UsmtUtils Syntax + href: file1.md + - name: USMT XML Reference + href: file1.md + - name: Understanding Migration XML Files + href: file1.md + - name: Config.xml File + href: file1.md + - name: Customize USMT XML Files + href: file1.md + - name: Custom XML Examples + href: file1.md + - name: Conflicts and Precedence + href: file1.md + - name: General Conventions + href: file1.md + - name: XML File Requirements + href: file1.md + - name: Recognized Environment Variables + href: file1.md + - name: XML Elements Library + href: file1.md + - name: Offline Migration Reference + href: file1.md + + - name: Application Compatibility Toolkit (ACT) Technical Reference + items: + - name: SUA User's Guide + href: file1.md + - name: Using the SUA Wizard + href: file1.md + - name: Using the SUA Tool + href: file1.md + - name: Tabs on the SUA Tool Interface + href: file1.md + - name: Showing Messages Generated by the SUA Tool + href: file1.md + - name: Applying Filters to Data in the SUA Tool + href: file1.md + - name: Fixing Applications by Using the SUA Tool + href: file1.md + - name: Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista + href: file1.md + - name: Compatibility Administrator User's Guide + href: file1.md + - name: Using the Compatibility Administrator Tool + href: file1.md + - name: Available Data Types and Operators in Compatibility Administrator + href: file1.md + - name: Searching for Fixed Applications in Compatibility Administrator + href: file1.md + - name: Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Fix in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Mode in Compatibility Administrator + href: file1.md + - name: Creating an AppHelp Message in Compatibility Administrator + href: file1.md + - name: Viewing the Events Screen in Compatibility Administrator + href: file1.md + - name: Enabling and Disabling Compatibility Fixes in Compatibility Administrator + href: file1.md + - name: Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator + href: file1.md + - name: Managing Application-Compatibility Fixes and Custom Fix Databases + href: file1.md + - name: Understanding and Using Compatibility Fixes + href: file1.md + - name: Compatibility Fix Database Management Strategies and Deployment + href: file1.md + - name: Testing Your Application Mitigation Packages + href: file1.md + - name: Using the Sdbinst.exe Command-Line Tool + href: file1.md + - name: Volume Activation [client] + href: file1.md + - name: Plan for volume activation [client] + href: file1.md + - name: Activate using Key Management Service [client] + href: file1.md + - name: Activate using Active Directory-based activation [client] + href: file1.md + - name: Activate clients running Windows 10 + href: file1.md + - name: Monitor activation [client] + href: file1.md + - name: Use the Volume Activation Management Tool [client] + href: file1.md + - name: "Appendix: Information sent to Microsoft during activation [client]" + href: file1.md + + - name: Install fonts in Windows 10 + href: file1.md \ No newline at end of file diff --git a/windows/deployment/windows-autopilot/TOC.md b/windows/deployment/windows-autopilot/old.TOC.md similarity index 100% rename from windows/deployment/windows-autopilot/TOC.md rename to windows/deployment/windows-autopilot/old.TOC.md From 85968beef0eea938a869a95068e1cab9c43b0b40 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 12:48:32 -0800 Subject: [PATCH 050/393] testing ap toc --- windows/deployment/windows-autopilot/TOC.yml | 550 ++----------------- 1 file changed, 60 insertions(+), 490 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index fc9e510e05..8d7648fd4f 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -1,490 +1,60 @@ - - name: Deploy with Windows Autopilot - items: - - name: Windows Autopilot deployment - href: file1.md - - name: What's new in Windows Autopilot - href: file1.md - - name: Understand Windows Autopilot - items: - - name: Overview - href: file1.md - - name: Requirements - href: file1.md - - name: Scenarios and capabilities - href: file1.md - - name: Get started - href: file1.md - - name: Deployment scenarios - items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md - - name: Administer Windows Autopilot - items: - - name: Register devices - href: file1.md - - name: Configure device profiles - href: file1.md - - name: Enrollment Status Page - href: file1.md - - name: BitLocker encryption - href: file1.md - - name: DFCI management - href: file1.md - - name: Windows Autopilot update - href: file1.md - - name: Troubleshooting - href: file1.md - - name: Known issues - href: file1.md - - name: Support - items: - - name: FAQ - href: file1.md - - name: Contacts - href: file1.md - - name: Registration authorization - href: file1.md - - name: Device guidelines - href: file1.md - - name: Motherboard replacement - href: file1.md - - name: Deploy with Configuration Manager - items: - - name: Integrate Configuration Manager with MDT - href: file1.md - - name: Prepare for Zero Touch Installation of Windows 10 with Configuration Manager - href: file1.md - - name: Create a custom Windows PE boot image with Configuration Manager - href: file1.md - - name: Add a Windows 10 operating system image using Configuration Manager - href: file1.md - - name: Create an application to deploy with Windows 10 using Configuration Manager - href: file1.md - - name: Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager - href: file1.md - - name: Create a task sequence with Configuration Manager and MDT - href: file1.md - - name: Finalize the operating system configuration for Windows 10 deployment with Configuration Manager - href: file1.md - - name: Deploy Windows 10 using PXE and Configuration Manager - href: file1.md - - name: Monitor the Windows 10 deployment with Configuration Manager - href: file1.md - - name: Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager - href: file1.md - - name: Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager - href: file1.md - - name: Perform an in-place upgrade to Windows 10 using Configuration Manager - href: file1.md - - name: Deploy with the Microsoft Deployment Toolkit - items: - - name: Get started with MDT - href: file1.md - - name: Deploy Windows 10 with MDT - items: - - name: Prepare for deployment with MDT - href: file1.md - - name: Create a Windows 10 reference image - href: file1.md - - name: Deploy a Windows 10 reference image using MDT - href: file1.md - - name: Build a distributed environment for Windows 10 deployment - href: file1.md - - name: Refresh a Windows 7 computer with Windows 10 - href: file1.md - - name: Replace a Windows 7 computer with Windows 10 - href: file1.md - - name: Perform an in-place upgrade to Windows 10 with MDT - href: file1.md - - name: Customize MDT - items: - - name: Configure MDT settings - href: file1.md - - name: Set up MDT for BitLocker - href: file1.md - - name: Configure MDT deployment share rules - href: file1.md - - name: Configure MDT UserExit scripts - href: file1.md - - name: Simulate a Windows 10 deployment in a test environment - href: file1.md - - name: Use the MDT database to state Windows 10 deployment information - href: file1.md - - name: Assign applications using roles in MDT - href: file1.md - - name: Use web services in MDT - href: file1.md - - name: Use Orchestrator runbooks with MDT - href: file1.md - - - name: Manage Windows 10 updates - items: - - name: Manage updates from the cloud - items: - - name: Manage updates with Configuration Manager - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage updates with Intune - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage with Group Policy - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage updates locally - items: - - name: Manage updates with WSUS - href: file1.md - - name: Manage updates using images - href: file1.md - - name: Monitor updates - items: - - name: Monitor updates with Update Compliance - href: file1.md - - name: Monitor updates with Desktop Analytics - href: file1.md - - name: Monitor Delivery Optimization - href: file1.md - - - name: Reference - items: - - name: Windows 10 upgrade paths - href: file1.md - - name: Windows 10 edition upgrade - href: file1.md - - name: Deploy Windows 10 with Microsoft 365 - href: file1.md - - name: How Windows Update works (new) - href: file1.md - - name: Additional Windows Update settings - href: file1.md - - name: Delivery Optimization reference - href: file1.md - - name: Windows 10 in S mode - items: - - name: Windows 10 in S mode overview - href: file1.md - - name: Switch to Windows 10 Pro/Enterprise from S mode - href: file1.md - - name: Subscription Activation - items: - - name: Windows 10 Subscription Activation - href: file1.md - - name: Windows 10 Enterprise E3 in CSP - href: file1.md - - name: Configure VDA for Subscription Activation - href: file1.md - - name: Deploy Windows 10 Enterprise licenses - href: file1.md - - name: Resolve upgrade errors - items: - - name: Resolve Windows 10 upgrade errors - href: file1.md - - name: Quick fixes - href: file1.md - - name: SetupDiag - href: file1.md - - name: Troubleshooting upgrade errors - href: file1.md - - name: Windows error reporting - href: file1.md - - name: Upgrade error codes - href: file1.md - - name: Log files - href: file1.md - - name: Resolution procedures - href: file1.md - - name: Submit Windows 10 upgrade errors - href: file1.md - - - - name: Windows 10 deployment tools - items: - - name: Windows 10 deployment scenarios and tools - items: - - name: Convert MBR partition to GPT - - name: Configure a PXE server to load Windows PE - - name: Windows ADK for Windows 10 scenarios for IT Pros - - name: Windows To Go - items: - - name: Deploy Windows To Go in your organization - href: file1.md - - name: Feature overview - items: - - name: "Windows To Go: feature overview" - href: file1.md - - name: Best practice recommendations for Windows To Go - href: file1.md - - name: Deployment considerations for Windows To Go - href: file1.md - - name: Prepare your organization for Windows To Go - href: file1.md - - name: Security and data protection considerations for Windows To Go - href: file1.md - - name: "Windows To Go: frequently asked questions" - href: file1.md - - - name: Volume Activation Management Tool (VAMT) technical reference - items: - - name: VAMT technical reference - href: file1.md - - name: Introduction to VAMT - href: file1.md - - name: Active Directory-Based Activation Overview - href: file1.md - - name: Install and Configure VAMT - href: file1.md - - name: VAMT Requirements - href: file1.md - - name: Install VAMT - href: file1.md - - name: Configure Client Computers - href: file1.md - - name: Add and Manage Products - href: file1.md - - name: Add and Remove Computers - href: file1.md - - name: Update Product Status - href: file1.md - - name: Remove Products - href: file1.md - - name: Manage Product Keys - href: file1.md - - name: Add and Remove a Product Key - href: file1.md - - name: Install a Product Key - href: file1.md - - name: Install a KMS Client Key - href: file1.md - - name: Manage Activations - href: file1.md - - name: Perform Online Activation - href: file1.md - - name: Perform Proxy Activation - href: file1.md - - name: Perform KMS Activation - href: file1.md - - name: Perform Local Reactivation - href: file1.md - - name: Activate an Active Directory Forest Online - href: file1.md - - name: Activate by Proxy an Active Directory Forest - href: file1.md - - name: Manage VAMT Data - href: file1.md - - name: Import and Export VAMT Data - href: file1.md - - name: Use VAMT in Windows PowerShell - href: file1.md - - name: VAMT Step-by-Step Scenarios - href: file1.md - - name: "Scenario 1: Online Activation" - href: file1.md - - name: "Scenario 2: Proxy Activation" - href: file1.md - - name: "Scenario 3: KMS Client Activation" - href: file1.md - - name: VAMT Known Issues - href: file1.md - - - name: User State Migration Tool (USMT) technical reference - items: - - name: USMT overview topics - items: - - name: USMT overview - href: file1.md - - name: Getting started with the USMT - href: file1.md - - name: Windows upgrade and migration considerations - href: file1.md - - name: USMT How-to topics - items: - - name: Exclude Files and Settings - href: file1.md - - name: Extract Files from a Compressed USMT Migration Store - href: file1.md - - name: Include Files and Settings - href: file1.md - - name: Migrate Application Settings - href: file1.md - - name: Migrate EFS Files and Certificates - href: file1.md - - name: Migrate User Accounts - href: file1.md - - name: Reroute Files and Settings - href: file1.md - - name: Verify the Condition of a Compressed Migration Store - href: file1.md - - name: USMT Troubleshooting - href: file1.md - - name: Common Issues - href: file1.md - - name: Frequently Asked Questions - href: file1.md - - name: Log Files - href: file1.md - - name: Return Codes - href: file1.md - - name: USMT Resources - href: file1.md - - - name: USMT Reference - items: - - name: USMT Requirements - href: file1.md - - name: USMT Best Practices - href: file1.md - - name: How USMT Works - href: file1.md - - name: Plan Your Migration - href: file1.md - - name: Common Migration Scenarios - href: file1.md - - name: What Does USMT Migrate? - href: file1.md - - name: Choose a Migration Store Type - href: file1.md - - name: Migration Store Types Overview - href: file1.md - - name: Estimate Migration Store Size - href: file1.md - - name: Hard-Link Migration Store - href: file1.md - - name: Migration Store Encryption - href: file1.md - - name: Determine What to Migrate - href: file1.md - - name: Determine What to Migrate - href: file1.md - - name: Identify Applications Settings - href: file1.md - - name: Identify Operating System Settings - href: file1.md - - name: Identify File Types, Files, and Folders - href: file1.md - - name: Test Your Migration - href: file1.md - - name: USMT Command-line Syntax - href: file1.md - - name: ScanState Syntax - href: file1.md - - name: LoadState Syntax - href: file1.md - - name: UsmtUtils Syntax - href: file1.md - - name: USMT XML Reference - href: file1.md - - name: Understanding Migration XML Files - href: file1.md - - name: Config.xml File - href: file1.md - - name: Customize USMT XML Files - href: file1.md - - name: Custom XML Examples - href: file1.md - - name: Conflicts and Precedence - href: file1.md - - name: General Conventions - href: file1.md - - name: XML File Requirements - href: file1.md - - name: Recognized Environment Variables - href: file1.md - - name: XML Elements Library - href: file1.md - - name: Offline Migration Reference - href: file1.md - - - name: Application Compatibility Toolkit (ACT) Technical Reference - items: - - name: SUA User's Guide - href: file1.md - - name: Using the SUA Wizard - href: file1.md - - name: Using the SUA Tool - href: file1.md - - name: Tabs on the SUA Tool Interface - href: file1.md - - name: Showing Messages Generated by the SUA Tool - href: file1.md - - name: Applying Filters to Data in the SUA Tool - href: file1.md - - name: Fixing Applications by Using the SUA Tool - href: file1.md - - name: Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista - href: file1.md - - name: Compatibility Administrator User's Guide - href: file1.md - - name: Using the Compatibility Administrator Tool - href: file1.md - - name: Available Data Types and Operators in Compatibility Administrator - href: file1.md - - name: Searching for Fixed Applications in Compatibility Administrator - href: file1.md - - name: Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator - href: file1.md - - name: Creating a Custom Compatibility Fix in Compatibility Administrator - href: file1.md - - name: Creating a Custom Compatibility Mode in Compatibility Administrator - href: file1.md - - name: Creating an AppHelp Message in Compatibility Administrator - href: file1.md - - name: Viewing the Events Screen in Compatibility Administrator - href: file1.md - - name: Enabling and Disabling Compatibility Fixes in Compatibility Administrator - href: file1.md - - name: Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator - href: file1.md - - name: Managing Application-Compatibility Fixes and Custom Fix Databases - href: file1.md - - name: Understanding and Using Compatibility Fixes - href: file1.md - - name: Compatibility Fix Database Management Strategies and Deployment - href: file1.md - - name: Testing Your Application Mitigation Packages - href: file1.md - - name: Using the Sdbinst.exe Command-Line Tool - href: file1.md - - name: Volume Activation [client] - href: file1.md - - name: Plan for volume activation [client] - href: file1.md - - name: Activate using Key Management Service [client] - href: file1.md - - name: Activate using Active Directory-based activation [client] - href: file1.md - - name: Activate clients running Windows 10 - href: file1.md - - name: Monitor activation [client] - href: file1.md - - name: Use the Volume Activation Management Tool [client] - href: file1.md - - name: "Appendix: Information sent to Microsoft during activation [client]" - href: file1.md - - - name: Install fonts in Windows 10 - href: file1.md \ No newline at end of file +- name: Deploy with Windows Autopilot + items: + - name: Windows Autopilot deployment + href: file1.md + - name: What's new in Windows Autopilot + href: file1.md + - name: Understand Windows Autopilot + items: + - name: Overview + href: file1.md + - name: Requirements + href: file1.md + - name: Scenarios and capabilities + href: file1.md + - name: Get started + href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md + - name: Administer Windows Autopilot + items: + - name: Register devices + href: file1.md + - name: Configure device profiles + href: file1.md + - name: Enrollment Status Page + href: file1.md + - name: BitLocker encryption + href: file1.md + - name: DFCI management + href: file1.md + - name: Windows Autopilot update + href: file1.md + - name: Troubleshooting + href: file1.md + - name: Known issues + href: file1.md + - name: Support + items: + - name: FAQ + href: file1.md + - name: Contacts + href: file1.md + - name: Registration authorization + href: file1.md + - name: Device guidelines + href: file1.md + - name: Motherboard replacement + href: file1.md \ No newline at end of file From 47cdf0859b57530a6bd45a012a140e4696d8f565 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 12:50:09 -0800 Subject: [PATCH 051/393] formatting --- windows/deployment/windows-autopilot/TOC.yml | 118 +++++++++---------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index 8d7648fd4f..86d1957236 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -1,60 +1,60 @@ - name: Deploy with Windows Autopilot - items: - - name: Windows Autopilot deployment - href: file1.md - - name: What's new in Windows Autopilot - href: file1.md - - name: Understand Windows Autopilot - items: - - name: Overview - href: file1.md - - name: Requirements - href: file1.md - - name: Scenarios and capabilities - href: file1.md - - name: Get started - href: file1.md - - name: Deployment scenarios - items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md - - name: Administer Windows Autopilot - items: - - name: Register devices - href: file1.md - - name: Configure device profiles - href: file1.md - - name: Enrollment Status Page - href: file1.md - - name: BitLocker encryption - href: file1.md - - name: DFCI management - href: file1.md - - name: Windows Autopilot update - href: file1.md - - name: Troubleshooting - href: file1.md - - name: Known issues - href: file1.md - - name: Support - items: - - name: FAQ - href: file1.md - - name: Contacts - href: file1.md - - name: Registration authorization - href: file1.md - - name: Device guidelines - href: file1.md - - name: Motherboard replacement - href: file1.md \ No newline at end of file + items: + - name: Windows Autopilot deployment + href: file1.md + - name: What's new in Windows Autopilot + href: file1.md + - name: Understand Windows Autopilot + items: + - name: Overview + href: file1.md + - name: Requirements + href: file1.md + - name: Scenarios and capabilities + href: file1.md + - name: Get started + href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md + - name: Administer Windows Autopilot + items: + - name: Register devices + href: file1.md + - name: Configure device profiles + href: file1.md + - name: Enrollment Status Page + href: file1.md + - name: BitLocker encryption + href: file1.md + - name: DFCI management + href: file1.md + - name: Windows Autopilot update + href: file1.md + - name: Troubleshooting + href: file1.md + - name: Known issues + href: file1.md + - name: Support + items: + - name: FAQ + href: file1.md + - name: Contacts + href: file1.md + - name: Registration authorization + href: file1.md + - name: Device guidelines + href: file1.md + - name: Motherboard replacement + href: file1.md \ No newline at end of file From fbd9b905db337b7338717317fda92e9e94085d7f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 12:55:47 -0800 Subject: [PATCH 052/393] fix old toc --- .../deployment/windows-autopilot/old.TOC.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/windows/deployment/windows-autopilot/old.TOC.md b/windows/deployment/windows-autopilot/old.TOC.md index d94b04fdcb..cc6bf8b6f2 100644 --- a/windows/deployment/windows-autopilot/old.TOC.md +++ b/windows/deployment/windows-autopilot/old.TOC.md @@ -1,32 +1,32 @@ # [Windows Autopilot deployment](index.md) -# [What's new](windows-autopilot-whats-new.md) -# Understanding Windows Autopilot -## [Overview](windows-autopilot.md) -## [Requirements](windows-autopilot-requirements.md) -## [Scenarios and capabilities](windows-autopilot-scenarios.md) -## [Get started](demonstrate-deployment-on-vm.md) +## [What's new](windows-autopilot-whats-new.md) +## Understanding Windows Autopilot +### [Overview](windows-autopilot.md) +### [Requirements](windows-autopilot-requirements.md) +### [Scenarios and capabilities](windows-autopilot-scenarios.md) +### [Get started](demonstrate-deployment-on-vm.md) -# Deployment scenarios -## [Deployment processes](deployment-process.md) -## [User-driven mode](user-driven.md) -## [Self-deploying mode](self-deploying.md) -## [Windows Autopilot Reset](windows-autopilot-reset.md) -## [White glove](white-glove.md) -## [Support for existing devices](existing-devices.md) +## Deployment scenarios +### [Deployment processes](deployment-process.md) +### [User-driven mode](user-driven.md) +### [Self-deploying mode](self-deploying.md) +### [Windows Autopilot Reset](windows-autopilot-reset.md) +### [White glove](white-glove.md) +### [Support for existing devices](existing-devices.md) -# Administering Windows Autopilot -## [Registering devices](add-devices.md) -## [Configuring device profiles](profiles.md) -## [Enrollment Status Page](enrollment-status.md) -## [BitLocker encryption](bitlocker.md) -## [DFCI management](dfci-management.md) -## [Windows Autopilot update](autopilot-update.md) -## [Troubleshooting](troubleshooting.md) -## [Known issues](known-issues.md) +## Administering Windows Autopilot +### [Registering devices](add-devices.md) +### [Configuring device profiles](profiles.md) +### [Enrollment Status Page](enrollment-status.md) +### [BitLocker encryption](bitlocker.md) +### [DFCI management](dfci-management.md) +### [Windows Autopilot update](autopilot-update.md) +### [Troubleshooting](troubleshooting.md) +### [Known issues](known-issues.md) -# Support -## [FAQ](autopilot-faq.md) -## [Contacts](autopilot-support.md) -## [Registration authorization](registration-auth.md) -## [Device guidelines](autopilot-device-guidelines.md) -## [Motherboard replacement](autopilot-mbr.md) +## Support +### [FAQ](autopilot-faq.md) +### [Contacts](autopilot-support.md) +### [Registration authorization](registration-auth.md) +### [Device guidelines](autopilot-device-guidelines.md) +### [Motherboard replacement](autopilot-mbr.md) From 4cd52de20935c650d26dadafec606ed355753d70 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 13:05:46 -0800 Subject: [PATCH 053/393] fix yaml toc --- windows/deployment/windows-autopilot/TOC.yml | 98 ++++++++++---------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index 86d1957236..881b11a440 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -1,51 +1,49 @@ -- name: Deploy with Windows Autopilot - items: - - name: Windows Autopilot deployment - href: file1.md - - name: What's new in Windows Autopilot - href: file1.md - - name: Understand Windows Autopilot - items: - - name: Overview - href: file1.md - - name: Requirements - href: file1.md - - name: Scenarios and capabilities - href: file1.md - - name: Get started - href: file1.md - - name: Deployment scenarios - items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md - - name: Administer Windows Autopilot - items: - - name: Register devices - href: file1.md - - name: Configure device profiles - href: file1.md - - name: Enrollment Status Page - href: file1.md - - name: BitLocker encryption - href: file1.md - - name: DFCI management - href: file1.md - - name: Windows Autopilot update - href: file1.md - - name: Troubleshooting - href: file1.md - - name: Known issues - href: file1.md + - name: Windows Autopilot deployment + href: file1.md + - name: What's new in Windows Autopilot + href: file1.md + - name: Understand Windows Autopilot + items: + - name: Overview + href: file1.md + - name: Requirements + href: file1.md + - name: Scenarios and capabilities + href: file1.md + - name: Get started + href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md + - name: Administer Windows Autopilot + items: + - name: Register devices + href: file1.md + - name: Configure device profiles + href: file1.md + - name: Enrollment Status Page + href: file1.md + - name: BitLocker encryption + href: file1.md + - name: DFCI management + href: file1.md + - name: Windows Autopilot update + href: file1.md + - name: Troubleshooting + href: file1.md + - name: Known issues + href: file1.md - name: Support items: - name: FAQ @@ -55,6 +53,6 @@ - name: Registration authorization href: file1.md - name: Device guidelines - href: file1.md + href: file1.md - name: Motherboard replacement - href: file1.md \ No newline at end of file + href: file1.md \ No newline at end of file From a583735407cd850fadc543d1eb4c2ab620c90c3a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 13:21:54 -0800 Subject: [PATCH 054/393] rename --- windows/deployment/windows-autopilot/{old.TOC.md => old.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename windows/deployment/windows-autopilot/{old.TOC.md => old.md} (100%) diff --git a/windows/deployment/windows-autopilot/old.TOC.md b/windows/deployment/windows-autopilot/old.md similarity index 100% rename from windows/deployment/windows-autopilot/old.TOC.md rename to windows/deployment/windows-autopilot/old.md From bc26514bc4a916afa946ca053dc3c304d9c18274 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 13:27:23 -0800 Subject: [PATCH 055/393] yaml is picky --- windows/deployment/windows-autopilot/TOC.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index 881b11a440..ff75aa758d 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -5,13 +5,13 @@ - name: Understand Windows Autopilot items: - name: Overview - href: file1.md + href: file1.md - name: Requirements href: file1.md - name: Scenarios and capabilities href: file1.md - name: Get started - href: file1.md + href: file1.md - name: Deployment scenarios items: - name: Deployment processes @@ -53,6 +53,6 @@ - name: Registration authorization href: file1.md - name: Device guidelines - href: file1.md + href: file1.md - name: Motherboard replacement - href: file1.md \ No newline at end of file + href: file1.md \ No newline at end of file From 82c8dc1e6a36dd0e16c1d10971e3bfd54e94b32d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 13:58:02 -0800 Subject: [PATCH 056/393] yaml is picky --- windows/deployment/windows-autopilot/TOC.yml | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index ff75aa758d..491fe40589 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -14,18 +14,18 @@ href: file1.md - name: Deployment scenarios items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md - name: Administer Windows Autopilot items: - name: Register devices From 0d69d16d398e8be8503227536eb5f90e8d0965f3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 15:19:16 -0800 Subject: [PATCH 057/393] yaml is picky --- windows/deployment/windows-autopilot/TOC.yml | 52 ++++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.yml b/windows/deployment/windows-autopilot/TOC.yml index 491fe40589..e8420a1841 100644 --- a/windows/deployment/windows-autopilot/TOC.yml +++ b/windows/deployment/windows-autopilot/TOC.yml @@ -12,20 +12,20 @@ href: file1.md - name: Get started href: file1.md - - name: Deployment scenarios - items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md + - name: Deployment scenarios + items: + - name: Deployment processes + href: file1.md + - name: User-driven mode + href: file1.md + - name: Self-deploying mode + href: file1.md + - name: Windows Autopilot Reset + href: file1.md + - name: White glove + href: file1.md + - name: Support for existing devices + href: file1.md - name: Administer Windows Autopilot items: - name: Register devices @@ -44,15 +44,15 @@ href: file1.md - name: Known issues href: file1.md - - name: Support - items: - - name: FAQ - href: file1.md - - name: Contacts - href: file1.md - - name: Registration authorization - href: file1.md - - name: Device guidelines - href: file1.md - - name: Motherboard replacement - href: file1.md \ No newline at end of file + - name: Support + items: + - name: FAQ + href: file1.md + - name: Contacts + href: file1.md + - name: Registration authorization + href: file1.md + - name: Device guidelines + href: file1.md + - name: Motherboard replacement + href: file1.md \ No newline at end of file From bb93c4e30c630e618293c34e33485f1adae0b898 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 20 Feb 2020 15:41:51 -0800 Subject: [PATCH 058/393] yaml is picky --- windows/deployment/windows-autopilot/file1.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 windows/deployment/windows-autopilot/file1.md diff --git a/windows/deployment/windows-autopilot/file1.md b/windows/deployment/windows-autopilot/file1.md new file mode 100644 index 0000000000..234ae17fcc --- /dev/null +++ b/windows/deployment/windows-autopilot/file1.md @@ -0,0 +1,54 @@ +--- +title: Setting the BitLocker encryption algorithm for Autopilot devices +ms.reviewer: +manager: laurawi +description: Microsoft Intune provides a comprehensive set of configuration options to manage BitLocker on Windows 10 devices. +keywords: Autopilot, BitLocker, encryption, 256-bit, Windows 10 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +ms.localizationpriority: medium +audience: itpro +author: greg-lindsay +ms.author: greglin +ms.collection: M365-modern-desktop +ms.topic: article +--- + + +# Setting the BitLocker encryption algorithm for Autopilot devices + +**Applies to** + +- Windows 10 + +With Windows Autopilot, you can configure the BitLocker encryption settings to be applied before automatic encryption is started. This ensures that the default encrytion algorithm is not applied automatically when this is not the desired setting. Other BitLocker policies that must be applied prior to encryption can also be delivered before automatic BitLocker encryption begins. + +The BitLocker encryption algorithm is used when BitLocker is first enabled, and sets the strength to which full volume encryption should occur. Available encryption algorithms are: AES-CBC 128-bit, AES-CBC 256-bit, XTS-AES 128-bit or XTS-AES 256-bit encryption. The default value is XTS-AES 128-bit encryption. See [BitLocker CSP](https://docs.microsoft.com/windows/client-management/mdm/bitlocker-csp) for information about the recommended encryption algorithms to use. + +To ensure the desired BitLocker encryption algorithm is set before automatic encryption occurs for Autopilot devices: + +1. Configure the [encryption method settings](https://docs.microsoft.com/intune/endpoint-protection-windows-10#windows-encryption) in the Windows 10 Endpoint Protection profile to the desired encryption algorithm. +2. [Assign the policy](https://docs.microsoft.com/intune/device-profile-assign) to your Autopilot device group. + - **IMPORTANT**: The encryption policy must be assigned to **devices** in the group, not users. +3. Enable the Autopilot [Enrollment Status Page](https://docs.microsoft.com/windows/deployment/windows-autopilot/enrollment-status) (ESP) for these devices. + - **IMPORTANT**: If the ESP is not enabled, the policy will not apply before encryption starts. + +An example of Microsoft Intune Windows Encryption settings is shown below. + + ![BitLocker encryption settings](images/bitlocker-encryption.png) + +Note that a device which is encrypted automatically will need to be decrypted prior to changing the encyption algorithm. + +The settings are available under Device Configuration -> Profiles -> Create profile -> Platform = Windows 10 and later, Profile type = Endpoint protection -> Configure -> Windows Encryption -> BitLocker base settings, Configure encryption methods = Enable. + +Note: It is also recommended to set Windows Encryption -> Windows Settings -> Encrypt = **Require**. + +## Requirements + +Windows 10, version 1809 or later. + +## See also + +[Bitlocker overview](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview) From feec655a60c3248ab9a26782efe626430cae4777 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 18 Mar 2020 14:55:28 -0700 Subject: [PATCH 059/393] first update for loc analysis --- ...ndows-diagnostic-events-and-fields-1703.md | 100 +- ...ndows-diagnostic-events-and-fields-1709.md | 56 +- ...ndows-diagnostic-events-and-fields-1803.md | 320 +- ...ndows-diagnostic-events-and-fields-1809.md | 589 +- ...ndows-diagnostic-events-and-fields-1903.md | 543 +- ...ndows-diagnostic-events-and-fields-2005.md | 7666 +++++++++++++++++ 6 files changed, 8812 insertions(+), 462 deletions(-) create mode 100644 windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index b679ecf92c..5f8ec20717 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 01/04/2020 +ms.date: 03/17/2020 ms.reviewer: --- @@ -1321,9 +1321,9 @@ The following fields are available: - **IsEDPEnabled** Represents if Enterprise data protected on the device. - **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. - **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise Microsoft Endpoint Configuration Manager environment. +- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise System Center Configuration Manager (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 Microsoft Endpoint Configuration Manager ID is an anonymized one-way hash of the Active Directory Organization identifier. +- **SystemCenterID** The SCCM ID is an anonymized one-way hash of the Active Directory Organization identifier. ### Census.Firmware @@ -2477,44 +2477,6 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event represents the basic metadata about a plug and play (PNP) device and its associated driver. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class unique identifier of the driver package loaded on the device. -- **COMPID** The list of “Compatible IDs” for this device. See [COMPID](#compid). -- **ContainerId** The system-supplied unique identifier that specifies which group(s) the device(s) installed on the parent (main) device belong to. -- **Description** The description of the device. -- **DeviceState** Identifies the current state of the parent (main) device. -- **DriverId** The unique identifier for the installed driver. -- **DriverName** The name of the driver image file. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **DriverVerDate** The date of the driver loaded for the device -- **DriverVerVersion** The version of the driver loaded for the device -- **Enumerator** Identifies the bus that enumerated the device. -- **HWID** A list of hardware IDs for the device. See [HWID](#hwid). -- **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx -- **InventoryVersion** The version number of the inventory process generating the events. -- **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. -- **LowerFilters** The identifiers of the Lower filters installed for the device. -- **Manufacturer** The manufacturer of the device. -- **MatchingID** The Hardware ID or Compatible ID that Windows uses to install a device instance. -- **Model** Identifies the model of the device. -- **ParentId** The Device Instance ID of the parent of the device. -- **ProblemCode** The error code currently returned by the device, if applicable. -- **Provider** Identifies the device provider. -- **Service** The name of the device service. -- **STACKID** The list of hardware IDs for the stack. See [STACKID](#stackid). -- **UpperClassFilters** The identifiers of the Upper Class filters installed for the device. -- **UpperFilters** The identifiers of the Upper filters installed for the device. - - ### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove This event indicates that the InventoryDevicePnpRemove object is no longer present. @@ -3077,6 +3039,56 @@ The following fields are available: - **resetSettingsResult** The return code of the action to correct the known issue. +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Download of latest cumulative update payload. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Install of latest cumulative update payload. + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -3129,7 +3141,7 @@ The following fields are available: - **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. - **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. - **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Microsoft Endpoint Configuration Manager. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). - **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. - **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. - **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. @@ -4528,7 +4540,7 @@ The following fields are available: - **DeviceIsMdmManaged** This device is MDM managed. - **IsNetworkAvailable** If the device network is not available. - **IsNetworkMetered** If network is metered. -- **IsSccmManaged** This device is managed by Microsoft Endpoint Configuration Manager. +- **IsSccmManaged** This device is SCCM managed. - **NewlyInstalledOs** OS is newly installed quiet period. - **PausedByPolicy** Updates are paused by policy. - **RecoveredFromRS3** Previously recovered from RS3. @@ -5139,7 +5151,7 @@ The following fields are available: - **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. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index e6d8367682..ceb3110306 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 01/04/2020 +ms.date: 03/18/2020 ms.reviewer: --- @@ -2502,7 +2502,7 @@ The following fields are available: - **Enumerator** Identifies the bus that enumerated the device. - **HWID** A list of hardware IDs for the device. - **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** The version number of the inventory process generating the events. - **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. - **LowerFilters** The identifiers of the Lower filters installed for the device. @@ -3225,6 +3225,56 @@ The following fields are available: - **resetSettingsResult** The return code of the action to correct the known issue. +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Download of latest cumulative update payload. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Install of latest cumulative update payload. + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -3276,7 +3326,7 @@ The following fields are available: - **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. - **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. - **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Microsoft Endpoint Configuration Manager. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). - **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. - **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. - **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 81f8c0c5fc..8e96e6db04 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 01/04/2020 +ms.date: 03/18/2020 ms.reviewer: --- @@ -3464,7 +3464,7 @@ The following fields are available: - **Enumerator** Identifies the bus that enumerated the device. - **HWID** A list of hardware IDs for the device. - **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** The version number of the inventory process generating the events. - **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. - **LowerFilters** The identifiers of the Lower filters installed for the device. @@ -4091,71 +4091,71 @@ The following fields are available: ### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. ### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. ### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. ### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config @@ -4164,43 +4164,135 @@ This config event sends basic device connectivity and configuration information The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. ### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping -This 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. +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. The following fields are available: -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''. -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. +- **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'. +- **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'. +- **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'. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. + + +### Microsoft.WebBrowser.Installer.EdgeUpdate.Ping + +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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. - **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. - **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: ''. @@ -4208,24 +4300,23 @@ The following fields are available: - **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: ''. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. -- **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 representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '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'. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. @@ -4240,40 +4331,17 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. - **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. - **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Default: ''. +- **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 sessionid. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. - **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt should have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **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 @@ -4552,6 +4620,56 @@ The following fields are available: - **resetSettingsResult** The return code of the action to correct the known issue. +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Download of latest cumulative update payload. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **PackageVersion** Current package version of quality update assistant. +- **Result** Install of latest cumulative update payload. + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -4604,7 +4722,7 @@ The following fields are available: - **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. - **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. - **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Microsoft Endpoint Configuration Manager. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). - **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. - **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. - **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index 8048327d37..a2f82e13f6 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 01/04/2020 +ms.date: 03/18/2020 ms.reviewer: --- @@ -312,6 +312,7 @@ The following fields are available: - **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_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. @@ -327,6 +328,7 @@ The following fields are available: - **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_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. @@ -342,6 +344,7 @@ The following fields are available: - **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_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. @@ -357,6 +360,7 @@ The following fields are available: - **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_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. @@ -372,6 +376,7 @@ The following fields are available: - **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_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. @@ -387,6 +392,7 @@ The following fields are available: - **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_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. @@ -402,6 +408,7 @@ The following fields are available: - **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_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. @@ -417,6 +424,7 @@ The following fields are available: - **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_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. @@ -432,6 +440,7 @@ The following fields are available: - **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_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. @@ -447,6 +456,7 @@ The following fields are available: - **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_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. @@ -462,6 +472,7 @@ The following fields are available: - **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_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. @@ -477,6 +488,7 @@ The following fields are available: - **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_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. @@ -492,6 +504,7 @@ The following fields are available: - **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_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. @@ -507,6 +520,7 @@ The following fields are available: - **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_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. @@ -522,6 +536,7 @@ The following fields are available: - **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_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. @@ -534,6 +549,7 @@ The following fields are available: - **DecisionSystemBios_TH2** The count of the number of this particular object type present on this device. - **DecisionSystemProcessor_RS2** 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_21H1Setup** The count of the number of this particular object type present on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. - **InventoryDeviceContainer** A count of device container objects in cache. @@ -563,6 +579,7 @@ The following fields are available: - **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 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. @@ -1838,6 +1855,38 @@ 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. See [MicCoords](#miccoords). +- **usFrequencyBandHi** The high end of the frequency range for the microphone. +- **usFrequencyBandLo** The low end of the frequency range for the microphone. +- **usMicArrayType** The type of the microphone array. +- **usNumberOfMicrophones** The number of microphones in the array. +- **usVersion** The version of the microphone array specification. +- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). +- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). +- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). +- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). + + +### MicCoords + +This event provides information about the location and orientation of the microphone element. + +The following fields are available: + +- **usType** The type of microphone. +- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). +- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). +- **wXCoord** The x-coordinate of the microphone. +- **wYCoord** The y-coordinate of the microphone. +- **wZCoord** The z-coordinate of the microphone. + + ### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. @@ -1860,22 +1909,6 @@ The following fields are available: - **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). - **persistentId** A unique ID for this endpoint which is retained across migrations. -### 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). ## Census events @@ -2529,21 +2562,6 @@ The following fields are available: - **xid** A list of base10-encoded XBOX User IDs. -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - ## Compatibility events ### Microsoft.Windows.Compatibility.Apphelp.SdbFix @@ -2774,6 +2792,75 @@ The following fields are available: ## Diagnostic data events +### TelClientSynthetic.AbnormalShutdown_0 + +This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. + +The following fields are available: + +- **AbnormalShutdownBootId** BootId of the abnormal shutdown being reported by this event. +- **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** Indicates whether crash dumps are 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. +- **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 the Out-Of-Box-Experience is running. +- **OSSetupInProgress** Identifies if the operating system setup is running. +- **PowerButtonCumulativePressCount** Indicates the number of times the power button has been pressed ("pressed" not to be confused with "released"). +- **PowerButtonCumulativeReleaseCount** Indicates the number of times the power button has been released ("released" not to be confused with "pressed"). +- **PowerButtonErrorCount** Indicates the number of times there was an error attempting to record Power Button metrics (e.g.: due to a failure to lock/update the bootstat file). +- **PowerButtonLastPressBootId** BootId of the last time the Power Button was detected to have been pressed ("pressed" not to be confused with "released"). +- **PowerButtonLastPressTime** Date/time of the last time the Power Button was pressed ("pressed" not to be confused with "released"). +- **PowerButtonLastReleaseBootId** The Boot ID of the last time the Power Button was released ("released" not to be confused with "pressed"). +- **PowerButtonLastReleaseTime** The date and time the Power Button was most recently released ("released" not to be confused with "pressed"). +- **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** The last stage completed when the Power Button was most recently pressed. +- **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** The Boot ID of the captured transition information. +- **TransitionInfoCSCount** The total number of times the system transitioned from "Connected Standby" mode to "On" when the last marker was saved. +- **TransitionInfoCSEntryReason** Indicates the reason the device last entered "Connected Standby" mode ("entered" not to be confused with "exited"). +- **TransitionInfoCSExitReason** Indicates the reason the device last exited "Connected Standby" mode ("exited" not to be confused with "entered"). +- **TransitionInfoCSInProgress** Indicates whether the system was in or entering Connected Standby mode when the last marker was saved. +- **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 most recent date and time when the Power Button was pressed (collected via a different mechanism than PowerButtonLastPressTime). +- **TransitionInfoSleepInProgress** Indicates whether the system was in or entering Sleep mode when the last marker was saved. +- **TransitionInfoSleepTranstionsToOn** The total number of times the system transitioned from Sleep mode to on, when the last marker was saved. +- **TransitionInfoSystemRunning** Indicates whether the system was running when the last marker was saved. +- **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 sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. @@ -2994,7 +3081,7 @@ The following fields are available: - **IsDeviceNetworkMetered** Indicates whether the device is connected to a metered network. - **IsDeviceOobeBlocked** Indicates whether user approval is required to install updates on the device. - **IsDeviceRequireUpdateApproval** Indicates whether user approval is required to install updates on the device. -- **IsDeviceSccmManaged** Indicates whether the device is running the Microsoft Endpoint Configuration Manager client to keep the operating system and applications up to date. +- **IsDeviceSccmManaged** Indicates whether the device is running the Microsoft SCCM (System Center Configuration Manager) to keep the operating system and applications up to date. - **IsDeviceUninstallActive** Indicates whether the OS (operating system) on the device was recently updated. - **IsDeviceUpdateNotificationLevel** Indicates whether the device has a set policy to control update notifications. - **IsDeviceUpdateServiceManaged** Indicates whether the device uses WSUS (Windows Server Update Services). @@ -3642,26 +3729,27 @@ The following fields are available: - **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. - **DDIInterfaceVersion** The device driver interface version. - **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemo** Amount of dedicated video memory in bytes. - **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). - **DisplayAdapterLuid** The display adapter LUID. - **DriverDate** The date of the display driver. - **DriverRank** The rank of the display driver. - **DriverVersion** The display driver version. -- **DriverWorkarounds** Bitfield data for specific driver workarounds enabled for this device. -- **DriverWorkarounds.Length** The length of the DriverWorkarounds bitfield. +- **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. +- **DX12U** File path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. - **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. - **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. - **GPUDeviceID** The GPU device ID. - **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. - **GPURevisionID** The GPU revision ID. - **GPUVendorID** The GPU vendor ID. -- **InterfaceFuncPointersProvided1** The number of device driver interface function pointers provided. -- **InterfaceFuncPointersProvided2** The number of device driver interface function pointers provided. +- **InterfaceFuncPointersProvided1** Number of device driver interface function pointers provided. +- **InterfaceFuncPointersProvided2** Number of device driver interface function pointers provided. - **InterfaceId** The GPU interface ID. - **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHwSchEnabled** Indicates whether Hardware Scheduling is enabled. +- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. - **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. - **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? - **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? @@ -4116,7 +4204,7 @@ The following fields are available: This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device.De~iceInventoryChange](#msdevicede~iceinventorychange). The following fields are available: @@ -4207,7 +4295,7 @@ The following fields are available: This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.De~ice.DeviceInventoryChange](#msde~icedeviceinventorychange). The following fields are available: @@ -4276,9 +4364,11 @@ The following fields are available: - **Date** The driver package date. - **Directory** The path to the driver package. - **DriverInBox** Is the driver included with the operating system? +- **FlightIds** Driver Flight IDs. - **Inf** The INF name of the driver package. - **InventoryVersion** The version of the inventory file generating the events. - **Provider** The provider for the driver package. +- **RecoveryIds** Driver recovery IDs. - **SubmissionId** The HLK submission ID for the driver package. - **Version** The version of the driver package. @@ -4678,7 +4768,7 @@ The following fields are available: These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device.DeviceInventoryChangd](#msdevicedeviceinventorychangd). The following fields are available: @@ -4704,16 +4794,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic ## Kernel events -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - ### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch OS information collected during Boot, used to evaluate the success of the upgrade process. @@ -4804,71 +4884,79 @@ The following fields are available: ### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). - **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config @@ -4877,43 +4965,46 @@ This config event sends basic device connectivity and configuration information The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping -This 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. +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. The following fields are available: -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''. -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. +- **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'. - **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: ''. @@ -4921,24 +5012,121 @@ The following fields are available: - **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: ''. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **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 representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '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'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Microsoft.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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. @@ -4953,40 +5141,17 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. - **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. - **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Default: ''. +- **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 sessionid. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. - **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt should have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **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 @@ -5240,26 +5405,11 @@ This event provides a Windows Internal Library context used for Product and Serv 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. -## Privacy notifier events +## Privacy notifier events ### Microsoft.Windows.Shell.PrivacyNotifierLogging.PrivacyNotifierCompleted @@ -5276,6 +5426,85 @@ The following fields are available: - **resetSettingsResult** The return code of the action to correct the known issue. +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **IsApplicable** Indicates whether the update is applicable to this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Provides information on reasons why the update is not applicable to the device. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateReadinessProcessorMaxSpeed** Processor max speed. +- **Reason** Indicates why the device did not pass the readiness check. +- **Result** Device readiness check for quality update assistant. +- **VirtualMemoryUsedByCurrentProcess** Virtual memory in use by the Quality Update Assistant process. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. +- **DownloadMode** Indicates how the quality update was downloaded. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. +- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. +- **Result** Download of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **DismInstallHResult** Internal result code from DISM when used to install the quality update. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. +- **KBNumber** KBNumber of the update being installed. +- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. +- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. +- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. +- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. +- **Result** Install of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. +- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -5410,7 +5639,7 @@ The following fields are available: - **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. - **RemediationShellDeviceProSku** Indicates whether a Windows 10 Professional edition is detected. - **RemediationShellDeviceQualityUpdatesPaused** Indicates whether Quality Updates are paused on the device. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Microsoft Endpoint Configuration Manager. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). - **RemediationShellDeviceSedimentMutexInUse** Indicates whether the Sediment Pack mutual exclusion object (mutex) is in use. - **RemediationShellDeviceSetupMutexInUse** Indicates whether device setup is in progress. - **RemediationShellDeviceWuRegistryBlocked** Indicates whether the Windows Update is blocked on the device via the registry. @@ -7112,18 +7341,6 @@ The following fields are available: - **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise - **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). -### Value - -This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. - -The following fields are available: - -- **Algorithm** The algorithm used to preserve privacy. -- **DPRange** The upper bound of the range being measured. -- **DPValue** The randomized response returned by the client. -- **Epsilon** The level of privacy to be applied. -- **HistType** The histogram type if the algorithm is a histogram algorithm. -- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. ## Windows Error Reporting MTT events @@ -7650,7 +7867,7 @@ The following fields are available: - **groupConnectionCount** The total number of connections made to peers in the same group. - **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. - **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. -- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). +- **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. @@ -8623,6 +8840,22 @@ The following fields are available: - **wuDeviceid** The Windows Update device GUID. +### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsPushNotificationStatus + +This event is received when there is status on a push notification. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of UpdateHealthTools. +- **UpdateHealthToolsDeviceUri** The URI to be used for push notifications on this device. +- **UpdateHealthToolsEnterpriseActionType** Enum describing the type of action requested by the push. +- **UpdateHealthToolsPushCurrentRequestId** The request ID for the push. +- **UpdateHealthToolsPushCurrentResults** The results from the push request. +- **UpdateHealthToolsPushCurrentStep** The current step for the push notification + + ## Windows Update mitigation events ### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 894a0dd764..0b1bdb7f6d 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -1,6 +1,6 @@ --- -description: Use this article to learn more about what Windows diagnostic data is gathered at the basic level. Specific to Windows 10, version 1903. -title: Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields (Windows 10) +description: Use this article to learn more about what required Windows diagnostic data is gathered. +title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) keywords: privacy, telemetry ms.prod: w10 ms.mktglfcycl: manage @@ -13,11 +13,16 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 12/10/2019 +ms.date: 03/18/2020 --- -# Windows 10, version 1903 and Windows 10, version 1909 basic level Windows diagnostic events and fields +# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields + + +> [!IMPORTANT] +> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. + **Applies to** @@ -25,9 +30,9 @@ ms.date: 12/10/2019 - Windows 10, version 1903 -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. +Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. -The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. +Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. @@ -269,6 +274,7 @@ The following fields are available: - **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_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. @@ -280,6 +286,7 @@ The following fields are available: - **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_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. @@ -294,6 +301,7 @@ The following fields are available: - **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_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. @@ -308,6 +316,7 @@ The following fields are available: - **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_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. @@ -319,6 +328,7 @@ The following fields are available: - **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_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. @@ -326,11 +336,11 @@ The following fields are available: - **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. -- **DataSourceMatchingInfoPoltUpgrade_20H1** 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_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. @@ -343,6 +353,7 @@ The following fields are available: - **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_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. @@ -357,6 +368,7 @@ The following fields are available: - **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_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. @@ -368,6 +380,7 @@ The following fields are available: - **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_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. @@ -382,6 +395,7 @@ The following fields are available: - **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_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. @@ -396,6 +410,7 @@ The following fields are available: - **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_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. @@ -407,6 +422,7 @@ The following fields are available: - **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_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. @@ -414,11 +430,11 @@ The following fields are available: - **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. -- **DecisionMatchingInfoPoltUpgrade_20H1** 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_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. @@ -430,6 +446,7 @@ The following fields are available: - **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_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. @@ -442,6 +459,7 @@ The following fields are available: - **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_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. @@ -454,6 +472,7 @@ The following fields are available: - **DecisionSystemBios_TH2** The count of the number of this particular object type present on this device. - **DecisionSystemProcessor_RS2** 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_21H1Setup** The count of the number of this particular object type present on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. - **InventoryDeviceContainer** A count of device container objects in cache. @@ -482,6 +501,7 @@ The following fields are available: - **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_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. @@ -616,6 +636,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic 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.DataSourceMatchingInfoBlockStartSync @@ -847,10 +868,12 @@ 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.DecisionMatchingInfoBlockStartSync @@ -1732,9 +1755,10 @@ The following fields are available: - **IsDomainJoined** Indicates whether a machine is joined to a domain. - **IsEDPEnabled** Represents if Enterprise data protected on the device. - **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. +- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. - **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID - **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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. +- **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 @@ -1781,6 +1805,7 @@ The following fields are available: - **DeviceName** The device name that is set by the user. - **DigitizerSupport** Is a digitizer supported? - **DUID** The device unique ID. +- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. - **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). - **InventoryId** The device ID used for compatibility testing. - **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). @@ -2109,7 +2134,7 @@ The following fields are available: - **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. - **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. - **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. -- **VMId** A string that uniquely identifies a virtual machine. +- **VMId** A string that identifies a virtual machine. ### Census.WU @@ -2276,6 +2301,7 @@ The following fields are available: - **providerGuid** The ETW provider ID associated with the provider name. - **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. - **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. - **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. - **wcmp** The Windows Shell Composer ID. - **wPId** The Windows Core OS product ID. @@ -2610,6 +2636,22 @@ The following fields are available: - **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. +### TelClientSynthetic.EventMonitor_0 + +This event provides statistics for specific diagnostic events. + +The following fields are available: + +- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. +- **EventName** The name of the event being monitored. +- **EventSnFirst** The expected first event serial number. +- **EventSnLast** The expected last event serial number. +- **EventStoreCount** The number of events reaching the event store. +- **MonitorSn** The serial number of the monitor. +- **TriggerCount** The number of events reaching the trigger buffer. +- **UploadedCount** The number of events uploaded. + + ### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. @@ -2809,6 +2851,22 @@ This event is a low latency health alert that is part of the 4Nines device healt +## Direct to update events + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure + +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **CV_new** New correlation vector +- **hResult** HRESULT of the failure + + ## DISM events ### Microsoft.Windows.StartRepairCore.DISMLatestInstalledLCU @@ -3007,12 +3065,12 @@ The following fields are available: - **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. - **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). - **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **Display1UMDFilePath** File path to the location of the Display User Mode Driver in the Driver Store. +- **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 enabled for this device. +- **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. @@ -3203,21 +3261,6 @@ The following fields are available: ## 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 following fields are available: - -- **ClassGuid** Windows Mixed Reality device class GUID. -- **DeviceInterfaceId** Windows Mixed Reality device interface ID. -- **DeviceName** Windows Mixed Reality device name. -- **DriverVersion** Windows Mixed Reality device driver version. -- **FirmwareVersion** Windows Mixed Reality firmware version. -- **Manufacturer** Windows Mixed Reality device manufacturer. -- **ModelName** Windows Mixed Reality device model name. -- **SerialNumber** Windows Mixed Reality device serial number. - ### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. @@ -3327,7 +3370,6 @@ The following fields are available: - **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache - **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache - **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache -- **InventoryVersion** The version of the inventory file generating the events. - **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. @@ -3365,7 +3407,7 @@ The following fields are available: This event sends basic metadata about an application on the system to help keep Windows up to date. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). The following fields are available: @@ -3467,7 +3509,7 @@ The following fields are available: This event indicates that a new set of InventoryDevicePnpAdd events will be sent. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). The following fields are available: @@ -3478,7 +3520,7 @@ The following fields are available: This event indicates that a new set of InventoryApplicationAdd events will be sent. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). The following fields are available: @@ -3638,7 +3680,7 @@ The following fields are available: - **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 +- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/en-us/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 @@ -3762,9 +3804,11 @@ The following fields are available: - **Date** The driver package date. - **Directory** The path to the driver package. - **DriverInBox** Is the driver included with the operating system? +- **FlightIds** Driver Flight IDs. - **Inf** The INF name of the driver package. - **InventoryVersion** The version of the inventory file generating the events. - **Provider** The provider for the driver package. +- **RecoveryIds** Driver recovery IDs. - **SubmissionId** The HLK submission ID for the driver package. - **Version** The version of the driver package. @@ -3934,7 +3978,7 @@ The following fields are available: This event provides insight data on the installed Office products -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). +This event includes fields from [Ms.Device.DeviceInvdntoryChange](#msdevicedeviceinvdntorychange). The following fields are available: @@ -4301,71 +4345,81 @@ The following fields are available: ### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config -This event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config @@ -4374,43 +4428,46 @@ This config event sends basic device connectivity and configuration information The following fields are available: -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, 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). +- **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). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. - **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). - **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. - **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. ### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping -This 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. +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. The following fields are available: -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''. -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. +- **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'. - **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: ''. @@ -4418,24 +4475,123 @@ The following fields are available: - **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: ''. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **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 representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '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'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Microsoft.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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. @@ -4450,41 +4606,19 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. - **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. - **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Default: ''. +- **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 sessionid. 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: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Microsoft Edge build version string. -- **appConsentState** Bit flags that describe the consent for data collection on the device, or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth -- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. -- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level -- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - ## Migration events ### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr @@ -4596,6 +4730,24 @@ The following fields are available: - **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. +## Mixed Reality events + +### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded + +This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. + +The following fields are available: + +- **ClassGuid** Windows Mixed Reality device class GUID. +- **DeviceInterfaceId** Windows Mixed Reality device interface ID. +- **DeviceName** Windows Mixed Reality device name. +- **DriverVersion** Windows Mixed Reality device driver version. +- **FirmwareVersion** Windows Mixed Reality firmware version. +- **Manufacturer** Windows Mixed Reality device manufacturer. +- **ModelName** Windows Mixed Reality device model name. +- **SerialNumber** Windows Mixed Reality device serial number. + + ## OneDrive events ### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation @@ -4613,6 +4765,7 @@ The following fields are available: - **SourceOSBuildNumber** The source build number of the operating system. - **SourceOSVersion** The source version of the operating system. + ## Privacy consent logging events ### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted @@ -4749,6 +4902,7 @@ The following fields are available: - **apiName** Name of the API command that completed. - **errorCode** Error code if an error occurred during the API call. - **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation is successfully completed. - **success** Indicates whether the API call was successful. - **timestamp** Timestamp of this push-button reset event. @@ -4818,6 +4972,7 @@ This event is sent when construction of the operation queue for push-button rese The following fields are available: - **error** The result code for operation queue construction. +- **errorCode** Represents any error code during the API call. - **sessionID** The ID of this push-button reset session. - **succeeded** Indicates whether the operation successfully completed. - **timestamp** Timestamp of this push-button reset event. @@ -4856,6 +5011,18 @@ The following fields are available: - **SPPhase** The last phase of the Setup Platform operation. +### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionSucceed + +This event is sent when the push-button reset operation succeeds in constructing a new copy of the operating system. + +The following fields are available: + +- **CBSPackageCount** The Component Based Servicing package count. +- **CustomizationPackageCount** The Customization package count. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + ### Microsoft.Windows.PBR.PBRFailed This event is sent when the push-button reset operation fails and rolls back to the previous state. @@ -4881,6 +5048,34 @@ The following fields are available: - **SessionID** The ID of this push-button reset session. +### Microsoft.Windows.PBR.PBRFormatOSVolumeSucceed + +This event is sent when the operation to format the operating system volume succeeds during push-button reset (PBR). + +The following fields are available: + +- **JustDeleteFiles** Indicates whether disk formatting was skipped. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRIOCTLErasureSucceed + +This event is sent when the erasure operation succeeds during push-button reset (PBR). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRLayoutImageFailed + +This event is sent when push-button reset fails to create a new image of Windows. + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + ### Microsoft.Windows.PBR.PBROEM1Failed This event is sent when the first OEM extensibility operation is successfully completed. @@ -5191,6 +5386,7 @@ This event returns data when System Info Sense is finished. The following fields are available: - **error** The error code if an error occurred while querying for system information. +- **errorCode** Represents any error code during the API call. - **sessionID** The ID of this push-button reset session. - **succeeded** Indicates whether the query for system information was successful. - **timestamp** The timestamp of this push-button reset event. @@ -5259,6 +5455,81 @@ The following fields are available: - **timestamp** The timestamp for this push-button reset event. +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Provides information on reasons why the update is not applicable to the device. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Indicates why the device did not pass the readiness check. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. +- **DownloadMode** Indicates how the quality update was downloaded. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. +- **Result** Download of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **DismInstallHResult** Internal result code from DISM when used to install the quality update. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. +- **KBNumber** KBNumber of the update being installed. +- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. +- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. +- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. +- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. +- **Result** Install of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. +- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. + + ## Sediment events ### Microsoft.Windows.Sediment.Info.DetailedState @@ -6820,7 +7091,7 @@ 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 identity of the test build (flight) associated with 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). @@ -6830,7 +7101,7 @@ The following fields are available: - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this happening after a device restore? - **IsUpdate** Is this an update? -- **ParentBundleId** The product identifier of the parent if this product is part of a bundle. +- **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. @@ -7242,7 +7513,7 @@ The following fields are available: - **groupConnectionCount** The total number of connections made to peers in the same group. - **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. - **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. -- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). +- **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. @@ -7973,13 +8244,13 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorScheduleWorkInvalidCmd -Event to indicate a critical error with the callback binary requested by the updater +This event indicates a critical error with the callback binary requested by the updater. The following fields are available: -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** The Windows Update device identifier. +- **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.UnstickUpdate diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md new file mode 100644 index 0000000000..ec931ed25e --- /dev/null +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md @@ -0,0 +1,7666 @@ +--- +description: Use this article to learn more about what required Windows diagnostic data is gathered. +title: Windows 10, version Vibranium required diagnostic events and fields (Windows 10) +keywords: privacy, telemetry +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +localizationpriority: high +author: brianlic-msft +ms.author: brianlic +manager: dansimp +ms.collection: M365-security-compliance +ms.topic: article +audience: ITPro +ms.date: 03/18/2020 +--- + + +# Windows 10, version Vibranium required Windows diagnostic events and fields + + +> [!IMPORTANT] +> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. + + + **Applies to** + +- Windows 10, version Vibranium + + +Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. + +Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. + +Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. + +You can learn more about Windows functional and diagnostic data through these articles: + + +- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) +- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) +- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) +- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) +- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) +- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) + + + + +## Appraiser events + +### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount + +This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. + +The 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_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_RS5** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_RS5Setup** 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_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_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. +- **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_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_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. +- **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_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_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS5Setup** 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_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_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. +- **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_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_RS5** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_RS5Setup** 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_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_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. +- **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_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_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. +- **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_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_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_RS5Setup** 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_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_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. +- **DecisionTest_20H1** 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_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **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_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_RS5** The count of the number of this particular object type present on this device. +- **Wmdrm_RS5Setup** The count of the number of this particular object type present on this device. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd + +Represents the basic metadata about specific application files installed on the system. + +This event 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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd + +This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **ActiveNetworkConnection** Indicates whether the device is an active network device. +- **AppraiserVersion** The version of the appraiser file generating the events. +- **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. +- **IsBootCritical** Indicates whether the device boot is critical. +- **SdbEntries** Deprecated in RS3. +- **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.DatasourceDevicePnpRemove + +This event indicates that the DatasourceDevicePnp object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync + +This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. + +This event includes fields from [Ms.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. +- **SdbEntries** Deprecated in RS3. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove + +This event indicates that the DatasourceDriverPackage object is no longer present. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. +- **SdbEntries** Deprecated in RS3. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync + +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +This event includes fields from [Ms.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. +- **SdbEntries** Deprecated in RS3. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove + +This event indicates that the DataSourceMatchingInfoPassive object is no longer present. + +This event includes fields from [Ms.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 includes fields from [Ms.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. +- **SdbEntries** Deprecated in RS3. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove + +This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. + +This event includes fields from [Ms.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. +- **SdbEntries** Deprecated in RS3. + + +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync + +This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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 includes fields from [Ms.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 is no longer present. + +This event includes fields from [Ms.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 + +The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd + +This event sends decision data about driver package compatibility to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for this driver package. +- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? +- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? +- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? +- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? +- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? + + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove + +This event indicates that the DecisionDriverPackage object is no longer present. + +This event includes fields from [Ms.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 + +This event indicates that a new set of DecisionDriverPackageAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync + +This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync + +This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestAdd + +This event provides diagnostic data for testing decision add events. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary generating the events. +- **TestDecisionDataPoint1** Test data point 1. +- **TestDecisionDataPoint2** Test data point 2. + + +### Microsoft.Windows.Appraiser.General.DecisionTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.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. + +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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.InventoryLanguagePackStartSync + +This event indicates that a new set of InventoryLanguagePackAdd events will be sent. + +This event includes fields from [Ms.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.InventoryMediaCenterStartSync + +This event indicates that a new set of InventoryMediaCenterAdd events will be sent. + +This event includes fields from [Ms.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. + +This event 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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryTestAdd + +This event provides diagnostic data for testing event adds. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the component sending the data. +- **TestInvDataPoint1** Test inventory data point 1. +- **TestInvDataPoint2** Test inventory data point 2. + + +### Microsoft.Windows.Appraiser.General.InventoryTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd + +This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. + +This event 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.InventoryUplevelDriverPackageStartSync + +This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. + +This event includes fields from [Ms.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 indicates what should be expected in the data payload. + +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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync + +This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.SystemTouchStartSync + +This event indicates that a new set of SystemTouchAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWimStartSync + +This event indicates that a new set of SystemWimAdd events will be sent. + +This event includes fields from [Ms.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.SystemWindowsActivationStatusStartSync + +This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.TelemetryRunHealth + +This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. + +The following fields are available: + +- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. +- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. +- **AppraiserProcess** The name of the process that launched Appraiser. +- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. +- **AuxFinal** Obsolete, always set to false. +- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. +- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. +- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. +- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. +- **InboxDataVersion** The original version of the data files before retrieving any newer version. +- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. +- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. +- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. +- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. +- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. +- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. +- **RunOnline** Indicates if appraiser was able to connect to Windows Update and 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 + +This event indicates that a new set of WmdrmAdd events will be sent. + +This event 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 following fields are available: + +- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). +- **ContainerId** An identifier that uniquely groups the functional devices associated with a single-function or multifunction device. +- **DeviceInstanceId** The unique identifier for this instance of the device. +- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. +- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. +- **endpointEffectModule** Module name for the endpoint effect audio processing object. +- **EndpointFormFactor** The enumeration value for the form factor of the endpoint device (for example speaker, microphone, remote network device). +- **endpointID** The unique identifier for the audio endpoint. +- **endpointInstanceId** The unique identifier for the software audio endpoint. Used for joining to other audio event. +- **Flow** Indicates whether the endpoint is capture (1) or render (0). +- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. +- **globalEffectModule** Module name for the legacy global effect audio processing object. +- **HWID** The hardware identifier for the endpoint. +- **IsBluetooth** Indicates whether the device is a Bluetooth device. +- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. +- **IsSideband** Indicates whether the device is a sideband device. +- **IsUSB** Indicates whether the device is a USB device. +- **JackSubType** A unique ID representing the KS node type of the endpoint. +- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. +- **localEffectModule** Module name for the legacy local effect audio processing object. +- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). +- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. +- **modeEffectModule** Module name for the mode effect audio processing object. +- **persistentId** A unique ID for this endpoint which is retained across migrations. +- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. +- **streamEffectModule** Module name for the stream effect audio processing object. + + +## Census events + +### Census.App + +This event sends version data about the Apps running on this device, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. +- **AppraiserErrorCode** The error code of the last Appraiser run. +- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. +- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. +- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. +- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. +- **AppraiserTaskExitCode** The Appraiser task exist code. +- **AppraiserTaskLastRun** The last runtime for the Appraiser task. +- **CensusVersion** The version of Census that generated the current data for this device. +- **IEVersion** The version of Internet Explorer that is running on the device. + + +### Census.Azure + +This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. + +The 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, type to help keep Windows 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.Camera + +This event sends data about the resolution of cameras on the device, to help keep Windows up to date. + +The following fields are available: + +- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. +- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. + + +### 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 following fields are available: + +- **AADDeviceId** Azure Active Directory device ID. +- **AzureOSIDPresent** Represents the field used to identify an Azure machine. +- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. +- **CDJType** Represents the type of cloud domain joined for the machine. +- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. +- **ContainerType** The type of container, such as process or virtual machine hosted. +- **EnrollmentType** Defines the type of MDM enrollment on the device. +- **HashedDomain** The hashed representation of the user domain used for login. +- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false +- **IsDERequirementMet** Represents if the device can do device encryption. +- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption +- **IsDomainJoined** Indicates whether a machine is joined to a domain. +- **IsEDPEnabled** Represents if Enterprise data protected on the device. +- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. +- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. +- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID +- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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? +- **DUID** The device unique ID. +- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). +- **InventoryId** The device ID used for compatibility testing. +- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). +- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) +- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. +- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. +- **OEMModelBaseBoard** The baseboard model used by the OEM. +- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. +- **OEMModelName** The device model name. +- **OEMModelNumber** The device model number. +- **OEMModelSKU** The device edition that is defined by the manufacturer. +- **OEMModelSystemFamily** The system family set on the device by an OEM. +- **OEMModelSystemVersion** The system model version set on the device by the OEM. +- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. +- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. +- **PhoneManufacturer** The friendly name of the phone manufacturer. +- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. +- **SoCName** The firmware manufacturer of the device. +- **StudyID** Used to identify retail and non-retail device. +- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. +- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. +- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. +- **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, to help keep Windows 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), to help keep Windows up to date. + +The following fields are available: + +- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. +- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. +- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. +- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **NetworkAdapterGUID** The GUID of the primary network adapter. +- **NetworkCost** Represents the network cost associated with a connection. +- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. +- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. + + +### Census.OS + +This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows up to date. + +The following fields are available: + +- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. +- **AssignedAccessStatus** Kiosk configuration mode. +- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. +- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. +- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time +- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. +- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). +- **InstallLanguage** The first language installed on the user machine. +- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. +- **IsEduData** Returns Boolean if the education data policy is enabled. +- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go +- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. +- **LanguagePacks** The list of language packages installed on the device. +- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. +- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. +- **OSEdition** Retrieves the version of the current OS. +- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc +- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). +- **OSSKU** Retrieves the Friendly Name of OS Edition. +- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. +- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. +- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. +- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. +- **ProductActivationResult** Returns Boolean if the OS Activation was successful. +- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. +- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. +- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. +- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. +- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. +- **ServiceProductKeyID** Retrieves the License key of the KMS +- **SharedPCMode** Returns Boolean for 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. + +The following fields are available: + +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollection** Current state of the activity history collection setting. +- **AdvertisingId** Current state of the advertising ID setting. +- **AppDiagnostics** Current state of the app diagnostics setting. +- **Appointments** Current state of the calendar setting. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **CellularData** Current state of the cellular data capability setting. +- **Chat** Current state of the chat setting. +- **Contacts** Current state of the contacts setting. +- **DocumentsLibrary** Current state of the documents library setting. +- **Email** Current state of the email setting. +- **FindMyDevice** Current state of the "find my device" setting. +- **GazeInput** Current state of the gaze input setting. +- **HumanInterfaceDevice** Current state of the human interface device setting. +- **InkTypeImprovement** Current state of the improve inking and typing setting. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneCall** Current state of the phone call setting. +- **PhoneCallHistory** Current state of the call history setting. +- **PicturesLibrary** Current state of the pictures library setting. +- **Radios** Current state of the radios setting. +- **SensorsCustom** Current state of the custom sensor setting. +- **SerialCommunication** Current state of the serial communication setting. +- **Sms** Current state of the text messaging setting. +- **SpeechPersonalization** Current state of the speech services setting. +- **USB** Current state of the USB setting. +- **UserAccountInformation** Current state of the account information setting. +- **UserDataTasks** Current state of the tasks setting. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **WifiData** Current state of the Wi-Fi data setting. +- **WiFiDirect** Current state of the Wi-Fi direct setting. + + +### Census.Processor + +This event sends data about the processor to help keep Windows 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. + +The following fields are available: + +- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. +- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. +- **DGState** This field summarizes the Device Guard state. +- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. +- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. +- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. +- **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. +- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. +- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **SModeState** The Windows S mode trail state. +- **SystemGuardState** Indicates the SystemGuard state. NotCapable (0), Capable (1), Enabled (2), Error (0xFF). +- **TpmReadyState** Indicates the TPM ready state. NotReady (0), ReadyForStorage (1), ReadyForAttestation (2), Error (0xFF). +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. +- **WdagPolicyValue** The Windows Defender Application Guard policy. + + +### Census.Speech + +This event is used to gather basic speech settings on the device. + +The 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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 following fields are available: + +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollection** Current state of the activity history collection setting. +- **AdvertisingId** Current state of the advertising ID setting. +- **AppDiagnostics** Current state of the app diagnostics setting. +- **Appointments** Current state of the calendar setting. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **CellularData** Current state of the cellular data capability setting. +- **Chat** Current state of the chat setting. +- **Contacts** Current state of the contacts setting. +- **DocumentsLibrary** Current state of the documents library setting. +- **Email** Current state of the email setting. +- **GazeInput** Current state of the gaze input setting. +- **HumanInterfaceDevice** Current state of the human interface device setting. +- **InkTypeImprovement** Current state of the improve inking and typing setting. +- **InkTypePersonalization** Current state of the inking and typing personalization setting. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneCall** Current state of the phone call setting. +- **PhoneCallHistory** Current state of the call history setting. +- **PicturesLibrary** Current state of the pictures library setting. +- **Radios** Current state of the radios setting. +- **SensorsCustom** Current state of the custom sensor setting. +- **SerialCommunication** Current state of the serial communication setting. +- **Sms** Current state of the text messaging setting. +- **SpeechPersonalization** Current state of the speech services setting. +- **USB** Current state of the USB setting. +- **UserAccountInformation** Current state of the account information setting. +- **UserDataTasks** Current state of the tasks setting. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **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, to help keep Windows up to date. + +The following fields are available: + +- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. +- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. +- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. +- **IsVDI** Is the device using Virtual Desktop Infrastructure? +- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. +- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. +- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. +- **VMId** A string that identifies a virtual machine. + + +### Census.WU + +This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. +- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). +- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured +- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting +- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. +- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? +- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? +- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? +- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? +- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? +- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. +- **OSRollbackCount** The number of times feature updates have rolled back on the device. +- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. +- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . +- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. +- **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. +- **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). + + +## Common data extensions + +### Common Data Extensions.app + +Describes the properties of the running application. This extension could be populated by a client app or a web app. + +The following fields are available: + +- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. +- **env** The environment from which the event was logged. +- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. +- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. +- **locale** The locale of the app. +- **name** The name of the app. +- **userId** The userID as known by the application. +- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. + + +### Common Data Extensions.container + +Describes the properties of the container for events logged within a container. + +The following fields are available: + +- **epoch** An ID that's incremented for each SDK initialization. +- **localId** The device ID as known by the client. +- **osVer** The operating system version. +- **seq** An ID that's incremented for each event. +- **type** The container type. Examples: Process or VMHost + + +### Common Data Extensions.device + +Describes the device-related fields. + +The following fields are available: + +- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. +- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId +- **make** Device manufacturer. +- **model** Device model. + + +### Common Data Extensions.Envelope + +Represents an envelope that contains all of the common data extensions. + +The following fields are available: + +- **data** Represents the optional unique diagnostic data for a particular event schema. +- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). +- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). +- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). +- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). +- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). +- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). +- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). +- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). +- **iKey** Represents an ID for applications or other logical groupings of events. +- **name** Represents the uniquely qualified name for the event. +- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.mscv + +Describes the correlation vector-related fields. + +The following fields are available: + +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. + + +### Common Data Extensions.os + +Describes some properties of the operating system. + +The following fields are available: + +- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. +- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. +- **locale** Represents the locale of the operating system. +- **name** Represents the operating system name. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.sdk + +Used by platform specific libraries to record fields that are required for a specific SDK. + +The following fields are available: + +- **epoch** An ID that is incremented for each SDK initialization. +- **installId** An ID that's created during the initialization of the SDK for the first time. +- **libVer** The SDK version. +- **seq** An ID that is incremented for each event. +- **ver** The version of the logging SDK. + + +### Common Data Extensions.user + +Describes the fields related to a user. + +The following fields are available: + +- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. +- **locale** The language and region. +- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. + + +### Common Data Extensions.utc + +Describes the properties that could be populated by a logging library on Windows. + +The following fields are available: + +- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. +- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number +- **cat** Represents a bitmask of the ETW Keywords associated with the event. +- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. +- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **flags** Represents the bitmap that captures various Windows specific flags. +- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. +- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence +- **op** Represents the ETW Op Code. +- **pgName** The short form of the provider group name associated with the event. +- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. +- **providerGuid** The ETW provider ID associated with the provider name. +- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. +- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. +- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. +- **wcmp** The Windows Shell Composer ID. +- **wPId** The Windows Core OS product ID. +- **wsId** The Windows Core OS session ID. + + +### Common Data Extensions.xbl + +Describes the fields that are related to XBOX Live. + +The following fields are available: + +- **claims** Any additional claims whose short claim name hasn't been added to this structure. +- **did** XBOX device ID +- **dty** XBOX device type +- **dvr** The version of the operating system on the device. +- **eid** A unique ID that represents the developer entity. +- **exp** Expiration time +- **ip** The IP address of the client device. +- **nbf** Not before time +- **pid** A comma separated list of PUIDs listed as base10 numbers. +- **sbx** XBOX sandbox identifier +- **sid** The service instance ID. +- **sty** The service type. +- **tid** The XBOX Live title ID. +- **tvr** The XBOX Live title version. +- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. +- **xid** A list of base10-encoded XBOX User IDs. + + +## Component-based servicing events + +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update. + +The following fields are available: + +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionFinalize + +This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. + +The 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. + + + +## Diagnostic data events + +### TelClientSynthetic.AbnormalShutdown_0 + +This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. + +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 sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. + +The following fields are available: + +- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. +- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. +- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. +- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. +- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. +- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. +- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. +- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. +- **CanReportScenarios** True if we can report scenario completions, false otherwise. +- **PreviousPermissions** Bitmask of previous telemetry state. +- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. + + +### TelClientSynthetic.AuthorizationInfo_Startup + +Fired by UTC at startup to signal what data we are allowed to collect. + +The following fields are available: + +- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. +- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. +- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. +- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. +- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. +- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. +- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. +- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. +- **CanReportScenarios** True if we can report scenario completions, false otherwise. +- **PreviousPermissions** Bitmask of previous telemetry state. +- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. + + +### TelClientSynthetic.ConnectivityHeartBeat_0 + +This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. + +The following fields are available: + +- **CensusExitCode** Returns last execution codes from census client run. +- **CensusStartTime** Returns timestamp corresponding to last successful census run. +- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. +- **LastConnectivityLossTime** Retrieves the last time the device lost free network. +- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. +- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. +- **RestrictedNetworkTime** 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 following fields are available: + +- **dismInstalledLCUPackageName** The name of the latest installed package. + + +### Microsoft.Windows.StartRepairCore.DISMPendingInstall + +The DISM Pending Install event sends information to report pending package installation found. + +The following fields are available: + +- **dismPendingInstallPackageName** The name of the pending package. + + +### Microsoft.Windows.StartRepairCore.DISMUninstallLCU + +The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. + +The following fields are available: + +- **errorCode** The result code returned by the event. + + +### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd + +The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. + +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 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 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 following fields are available: + +- **srtRootCauseDiag** The scenario name for a diagnosis event. + + +## Driver installation events + +### Microsoft.Windows.DriverInstall.DeviceInstall + +This critical event sends information about the driver installation that took place. + +The following fields are available: + +- **ClassGuid** The unique ID for the device class. +- **ClassLowerFilters** The list of lower filter class drivers. +- **ClassUpperFilters** The list of upper filter class drivers. +- **CoInstallers** The list of coinstallers. +- **ConfigFlags** The device configuration flags. +- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. +- **DeviceInstalled** Indicates whether the legacy install code path was used. +- **DeviceInstanceId** The unique identifier of the device in the system. +- **DeviceStack** The device stack of the driver being installed. +- **DriverDate** The date of the driver. +- **DriverDescription** A description of the driver function. +- **DriverInfName** Name of the INF file (the setup information file) for the driver. +- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. +- **DriverPackageId** The ID of the driver package that is staged to the driver store. +- **DriverProvider** The driver manufacturer or provider. +- **DriverUpdated** Indicates whether the driver is replacing an old driver. +- **DriverVersion** The version of the driver file. +- **EndTime** The time the installation completed. +- **Error** Provides the WIN32 error code for the installation. +- **ExtensionDrivers** List of extension drivers that complement this installation. +- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. +- **FinishInstallUI** Indicates whether the installation process shows the user interface. +- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). +- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. +- **FlightIds** A list of the different Windows Insider builds on the device. +- **GenericDriver** Indicates whether the driver is a generic driver. +- **Inbox** Indicates whether the driver package is included with Windows. +- **InstallDate** The date the driver was installed. +- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. +- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. +- **LegacyInstallReasonError** The error code for the legacy installation. +- **LowerFilters** The list of lower filter drivers. +- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. +- **NeedReboot** Indicates whether the driver requires a reboot. +- **OriginalDriverInfName** The original name of the INF file before it was renamed. +- **ParentDeviceInstanceId** The device instance ID of the parent of the device. +- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. +- **Problem** Error code returned by the device after installation. +- **ProblemStatus** The status of the device after the driver installation. +- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. +- **SecondaryDevice** Indicates whether the device is a secondary device. +- **ServiceName** The service name of the driver. +- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. +- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. +- **StartTime** The time when the installation started. +- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. +- **UpperFilters** The list of upper filter drivers. + + +### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd + +This event sends data about the driver installation once it is completed. + +The 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 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. + + +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **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. +- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceFuncPointersProvided1** Number of device driver interface function pointers provided. +- **InterfaceFuncPointersProvided2** Number of device driver interface function pointers provided. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. +- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **SubSystemID** The subsystem ID. +- **SubVendorID** The GPU sub vendor ID. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **version** The event version. +- **WDDMVersion** The Windows Display Driver Model version. + + +## 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 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. + + + +## Hang Reporting events + +### Microsoft.Windows.HangReporting.AppHangEvent + +This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. + +The following fields are available: + +- **AppName** The name of the app that has hung. +- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. +- **AppVersion** The version of the app that has hung. +- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + +## Holographic events + +### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated + +This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. + +The following fields are available: + +- **HmdState** Windows Mixed Reality Headset HMD state. +- **NewHoloShellState** Windows Mixed Reality HoloShell state. +- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. +- **SimulationEnabled** Windows Mixed Reality Simulation state. + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated + +This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. + +The following fields are available: + +- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. +- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. +- **PackageVersion** Windows Mixed Reality Portal app package version. +- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. +- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming + +This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. + + + +### TraceLoggingOasisUsbHostApiProvider.DeviceInformation + +This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. + +The following fields are available: + +- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. +- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. +- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. +- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. +- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. +- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. +- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. +- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. +- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. +- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. +- **DeviceInfoFlags** Windows Mixed Reality device info flags. +- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. +- **DeviceReleaseNumber** Windows Mixed Reality device release number. +- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. +- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. +- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. +- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. +- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. +- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. +- **FriendlyName** Windows Mixed Reality device friendly name. +- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. +- **HeaderSize** Windows Mixed Reality device header size. +- **HeaderVersion** Windows Mixed Reality device header version. +- **LicenseKey** Windows Mixed Reality device header license key. +- **Make** Windows Mixed Reality device make. +- **ManufacturingDate** Windows Mixed Reality device manufacturing date. +- **Model** Windows Mixed Reality device model. +- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. +- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. +- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. +- **ProductBoardRevision** Windows Mixed Reality device product board revision number. +- **SerialNumber** Windows Mixed Reality device serial number. + + +## Inventory events + +### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum + +This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. + +The 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 +- **InventoryApplicationShortcut** A count of application shortcut objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. +- **InventoryDeviceUsbHubClass** A count of device usb objects in cache +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. +- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache +- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. +- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache +- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache +- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache +- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache +- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache +- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache +- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache +- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache +- **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 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 to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. +- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). +- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 +- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. +- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. +- **InventoryVersion** The version of the inventory file generating the events. +- **Language** The language code of the program. +- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. +- **MsiProductCode** A GUID that describe the MSI Product. +- **Name** The name of the application. +- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. +- **PackageFullName** The package full name for a Store application. +- **ProgramInstanceId** A hash of the file IDs in an app. +- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. +- **RootDirPath** The path to the root directory where the program was installed. +- **Source** How the program was installed (for example, ARP, MSI, Appx). +- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. +- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. +- **Version** The version number of the program. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd + +This event represents what drivers an application installs. + +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. + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **FileId** A hash that uniquely identifies a file. +- **Frameworks** The list of frameworks this file depends on. +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync + +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. + +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. + +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. + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Categories** A comma separated list of functional categories in which the container belongs. +- **DiscoveryMethod** The discovery method for the device container. +- **FriendlyName** The name of the device container. +- **Icon** Deprecated in RS3. The path or index to the icon file. +- **InventoryVersion** The version of the inventory file generating the events. +- **IsActive** Is the device connected, or has it been seen in the last 14 days? +- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. +- **IsMachineContainer** Is the container the root device itself? +- **IsNetworked** Is this a networked device? +- **IsPaired** Does the device container require pairing? +- **Manufacturer** The manufacturer name for the device container. +- **ModelId** A unique model ID. +- **ModelName** The model name. +- **ModelNumber** The model number for the device container. +- **PrimaryCategory** The primary category for the device container. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove + +This event indicates that the InventoryDeviceContainer object is no longer present. + +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. + +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. + +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. + +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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. + +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. + +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. + +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. + +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. + +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. + +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 provides the basic metadata about driver binaries running on the system. + +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. + +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. + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Class** The class name for the device driver. +- **ClassGuid** The class GUID for the device driver. +- **Date** The driver package date. +- **Directory** The path to the driver package. +- **DriverInBox** Is the driver included with the operating system? +- **FlightIds** Driver Flight IDs. +- **Inf** The INF name of the driver package. +- **InventoryVersion** The version of the inventory file generating the events. +- **Provider** The provider for the driver package. +- **RecoveryIds** Driver recovery IDs. +- **SubmissionId** The HLK submission ID for the driver package. +- **Version** The version of the driver package. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove + +This event indicates that the InventoryDriverPackageRemove object is no longer present. + +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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.General.AppHealthStaticAdd + +This event sends details collected for a specific application on the source device. + + + +### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync + +This event indicates the beginning of a series of AppHealthStaticAdd events. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd + +This event provides basic information about active memory slots on the device. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Capacity** Memory size in bytes. +- **Manufacturer** Name of the DRAM manufacturer. +- **Model** Model and submodel of the memory. +- **Slot** Slot the DRAM is plugged into the motherboard. +- **Speed** MHZ the memory is currently configured and used at. +- **Type** Reports DDR, etc. as an enumeration value per DMTF SMBIOS standard version 3.3.0, section 7.18.2. +- **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.InventoryMiscellaneousMemorySlotArrayInfoRemove + +This event indicates that this particular data object represented by the objectInstanceId is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync + +This diagnostic event indicates a new sync is being generated for this object type. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd + +Provides data on the installed Office Add-ins. + +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. +- **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. +- **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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Provides data on the Office identifiers. + +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 +- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit +- **OTenantId** Unique GUID representing the Microsoft O365 Tenant +- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 +- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Office-related Internet Explorer features. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Describes Office Products installed. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +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 + +Indicates a new sync is being generated for this object type. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Unified Update Platform (UUP) products and what version they are at. + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.Checksum + +This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. + +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 + +These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. + +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 a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. + +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 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 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 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 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 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 + +### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping + +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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **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'. +- **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'. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **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'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Microsoft.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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +## Migration events + +### Microsoft.Windows.MigrationCore.MigObjectCountDLSys + +This event is used to indicate object count for system paths during different phases of Windows feature update. + +The following fields are available: + +- **knownFoldersSys[i]** System Known folder path location. +- **migDiagSession->CString** Indicates the phase of the update. +- **objectCount** Number of files being tracked for the corresponding phase of the update. + + +### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr + +This event returns data to track the count of the migration objects across various phases during feature update. + +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 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 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 + +This event is logged when LdrMapAndVerifyResourceFile fails for an overlay module. + +The following fields are available: + +- **Culture** Language tag. +- **DevicePath** True if file path is a device path. +- **Flags** Flags used for verification in LdrMapAndVerifyResourceFile. +- **ResourceFileName** DLL path and name. +- **Status** Failing status code. + + +### MuiResourceLoaderTraceLogging.VerifyAlternateResourceModuleWithServiceChecksumFailure + +This event logs a failure when a MUI has an incompatible service checksum. + +The following fields are available: + +- **ActualServiceChecksum** The checksum in the MUI file. +- **ExpectedServiceChecksum** The checksum in the neutral binary. +- **ResourceFileName** DLL path and name which has a failing service checksum. + + +## OneDrive events + +### Microsoft.OneDrive.Sync.Setup.APIOperation + +This event includes basic data about install and uninstall OneDrive API operations. + +The following fields are available: + +- **APIName** The name of the API. +- **Duration** How long the operation took. +- **IsSuccess** Was the operation successful? +- **ResultCode** The result code. +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.EndExperience + +This event includes a success or failure summary of the installation. + +The 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 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 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 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 following fields are available: + +- **failedCheck** The error code returned by the operation. +- **winInetError** The HResult of the operation. + + +## Other events + +### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded + +This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. + +The following fields are available: + +- **ClassGuid** Windows Mixed Reality device class GUID. +- **DeviceInterfaceId** Windows Mixed Reality device interface ID. +- **DeviceName** Windows Mixed Reality device name. +- **DriverVersion** Windows Mixed Reality device driver version. +- **FirmwareVersion** Windows Mixed Reality firmware version. +- **Manufacturer** Windows Mixed Reality device manufacturer. +- **ModelName** Windows Mixed Reality device model name. +- **SerialNumber** Windows Mixed Reality device serial number. + + +### Microsoft.Windows.CbsLite.CbsLiteResetBegin + +No content is currently available. + +The following fields are available: + +- **cbsLiteSessionID** No content is currently available. +- **resetFlags** No content is currently available. +- **wipeDuration** No content is currently available. + + +### Microsoft.Windows.DxDiag.DxDiagExeStopEvent + +This event collects information when the DirectX diagnostics provider stops. + +The following fields are available: + +- **hResult** Numeric value indicating the result of the operation. + + +### Microsoft.Windows.DxDiag.DxDiagLogStopEvent + +This event collects information when the DirectX diagnostics provider stops. + +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. Data has not been properly collected in some queries. + +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 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 following fields are available: + +- **IsISV** Boolean value indicating that the provider is being used by a non-Microsoft application. + + +### Microsoft.Windows.Fundamentals.UserInitiatedFeedback.SimilarFeedbackSelection + +This event measures the usage for Similar Feedback section in Feedback Hub. + +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. + + +### Microsoft.Windows.QUALauncher.Applicable + +This event sends basic information when AQUA launches and checks for any self update. + +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. +- **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 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 following fields are available: + +- **activeProcesses** Number of active processes. +- **atleastOneMitigationSucceeded** Bool flag indicating if at least one mitigation succeeded. +- **callerId** Identifier (GUID) of the caller requesting a system initiated troubleshooter. +- **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 following fields are available: + +- **callerId** It is a GUID to identify the component that is calling into Mitigation Client APIs. It can be: Task Scheduler, Settings App, or GetHelp App. +- **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 following fields are available: + +- **activeProcesses** Number of active processes. +- **callerId** Identifier (GUID) of the caller requesting a system initiated troubleshooter. +- **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. +- **exitCode** Exit code of the execution of the mitigation. +- **exitCodeDefinition** String describing the meaning of the exit code returned by the mitigation (i.e. ProblemNotFound). +- **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.Sense.Client.PerformanceScript.OnboardingScript + +This event is triggered whenever WDATP onboarding script is run. + +The following fields are available: + +- **Message** Error message. + + +### Microsoft.Windows.Setup.WinSetupBoot.Success + +This event sends data indicating that the device has invoked the WinSetupBoot successfully. + +The following fields are available: + +- **Action** It indicates phase/stage of operation. As success event fires on exiting the operation, this value must be 'Exiting'. +- **Duration(ms)** Duration of filter setup instance operation in milliseconds. +- **Rollback** It is blank as this event triggers in success scenario only. + + +### Microsoft.Windows.Shell.UpdateAgent.LogCriticalFailure + +This event provides information about critical errors that occur during Shell package update. + +The following fields are available: + +- **Exception** Exception description. +- **HRresult** Error HResult. +- **Message** Error message. +- **Package** Package name. + + +### NetworkTelemetry.AccessPointData + +This event describes the wireless access point to which the Xbox is connected. Collected when a wireless network is joined. + + + +### NetworkTelemetry.FlightControllerInitialize + +This event is logged when the flight controller attempts to write the hosts file. + + + +## 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 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 + +Event tells us effectiveness of new privacy experience. + +The following fields are available: + +- **isAdmin** whether the person who is logging in is an admin +- **isExistingUser** whether the account existed in a downlevel OS +- **isLaunching** Whether or not the privacy consent experience will be launched +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience +- **userRegionCode** The current user's region setting + + +## Sediment events + +### Microsoft.Windows.Sediment.OSRSS.CheckingOneSettings + +This event indicates the parameters that the Operating System Remediation System Service (OSRSS) uses for a secure ping to Microsoft to help ensure Windows is up to date. + +The following fields are available: + +- **CustomVer** The registry value for targeting. +- **IsMetered** TRUE if the machine is on a metered network. +- **LastVer** The version of the last successful run. +- **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. + + +### 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 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 + +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### SetupPlatformTel.SetupPlatformTelActivityStarted + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + +The following fields are available: + +- **Name** The name of the dynamic update type. Example: GDR driver + + +### SetupPlatformTel.SetupPlatformTelActivityStopped + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + + + +### SetupPlatformTel.SetupPlatformTelEvent + +This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. + + +## SIH events + +### SIHEngineTelemetry.ExecuteAction + +This event is triggered with SIH attempts to execute (e.g. install) the update or action in question. Includes important information like if the update required a reboot. + +The following fields are available: + +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event, whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **RebootRequired** Indicates if a reboot was required to complete the action. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). +- **SihclientVersion** The SIH version. +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **UpdateID** A unique identifier for the action being acted upon. +- **WuapiVersion** The Windows Update API version. +- **WuaucltVersion** The Windows Update version identifier for SIH. +- **WuauengVersion** The Windows Update engine version identifier. +- **WUDeviceID** The unique identifier controlled by the software distribution client. + + +## Software update events + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **AllowCachedResults** Indicates if the scan allowed using cached results. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No data is currently reported in this field. Expected value for this field is 0. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). +- **DeferredUpdates** Update IDs which are currently being deferred until a later time +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). +- **ServiceUrl** The environment URL a device is configured to scan with +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncType** Describes the type of scan the event was +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **TargetReleaseVersion** The value selected for the target release version policy. +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.Commit + +This event tracks the commit process post the update installation when software update client is trying to update the device. + +The following fields are available: + +- **BiosFamily** Device family as defined in the system BIOS +- **BiosName** Name of the system BIOS +- **BiosReleaseDate** Release date of the system BIOS +- **BiosSKUNumber** Device SKU as defined in the system BIOS +- **BIOSVendor** Vendor of the system BIOS +- **BiosVersion** Version of the system BIOS +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClassificationId** Classification identifier of the update content. +- **ClientVersion** Version number of the software distribution client +- **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. +- **DeviceModel** Device model as defined in the system bios +- **EventInstanceID** A globally unique identifier for event instance +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". +- **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). +- **SystemBIOSMajorRelease** Major release version of the system bios +- **SystemBIOSMinorRelease** Minor release version of the system bios +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Download + +Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. +- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. +- **AppXScope** Indicates the scope of the app download. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). +- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. +- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. +- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **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. +- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. +- **FlightId** The specific ID of the flight (pre-release build) the device is getting. +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **HostName** The hostname URL the content is downloading from. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. +- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **PackageFullName** The package name of the content. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. +- **RegulationReason** The reason that the update is regulated +- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. +- **RepeatFailCount** Indicates whether this specific content has previously failed. +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. +- **RevisionNumber** The revision number of the specified piece of content. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. +- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. +- **TargetReleaseVersion** The value selected for the target release version policy. +- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. +- **TimeToEstablishConnection** Time (in ms) it took to establish the connection prior to beginning downloaded. +- **TotalExpectedBytes** The total count of bytes that the download is expected to be. +- **UpdateId** An identifier associated with the specific piece of content. +- **UpdateID** An identifier associated with the specific piece of content. +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedDO** Whether the download used the delivery optimization service. +- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.DownloadCheckpoint + +This event provides a checkpoint between each of the Windows Update download phases for UUP content + +The 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 following fields are available: + +- **BytesTotal** Total bytes to transfer for this content +- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** The version number of the software distribution client +- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat +- **CurrentError** Last (transient) error encountered by the active download +- **DownloadFlags** Flags indicating if power state is ignored +- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) +- **EventType** Possible values are "Child", "Bundle", or "Driver" +- **FlightId** The unique identifier for each flight +- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" +- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any +- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any +- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) +- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one +- **ResumeCount** Number of times this active download has resumed from a suspended state +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) +- **SuspendCount** Number of times this active download has entered a suspended state +- **SuspendReason** Last reason for why this active download entered a suspended state +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Install + +This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **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. +- **CurrentMobileOperator** The mobile operator to which the device is currently connected. +- **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. +- **DeviceModel** The device model. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether this update is a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. +- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. +- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. +- **RevisionNumber** The revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TargetReleaseVersion** The value selected for the target release version policy. +- **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 + +Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). + +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 + +Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). + +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). + +The following fields are available: + +- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. +- **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. +- **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 when a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). +- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBuildNumber** Indicates the build number of the flight. +- **FlightId** The specific ID of the flight the device is getting. +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). +- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether an update was a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. +- **IsWUfBDualScanEnabled** Flag indicating whether 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 previously failed. +- **RevisionNumber** Identifies the revision number of this specific piece of content. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **UpdateId** Identifier associated with the specific piece of content. +- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). +- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. +- **WUDeviceID** Unique device ID controlled by the software distribution client. + + +### SoftwareUpdateClientTelemetry.UpdateDetected + +This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. + +The 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 + +Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. + +The following fields are available: + +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **RevisionId** The revision ID for a specific piece of content. +- **RevisionNumber** The revision number for a specific piece of content. +- **ServiceGuid** Identifies the service to which the software distribution client is connected. Example: Windows Update or Microsoft Store +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** An encoded string of the timestamp token. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **UpdateId** The update ID for a specific piece of content. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. + + +## Update events + +### Update360Telemetry.Revert + +This event sends data relating to the Revert phase of updating Windows. + +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 following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentDownloadRequest + +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **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. +- **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 following fields are available: + +- **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 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 following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +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 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 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 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 following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **ObjectId** Unique value for each Update Agent mode. +- **PostRebootResult** Indicates the Hresult. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentReboot + +This event sends information indicating that a request has been sent to suspend an update. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. +- **ObjectId** The unique value for each Update Agent mode. +- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. + +The 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 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 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 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 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. +- **ReportId** Retrieves the report ID. +- **ScenarioId** Retrieves the deployment scenario. +- **Value** Retrieves the value associated with the corresponding FieldName. + + +### Setup360Telemetry.Setup360DynamicUpdate + +This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. +- **Operation** Facilitator's last known operation (scan, download, etc.). +- **ReportId** ID for tying together events stream side. +- **ResultCode** Result returned for the entire setup operation. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **ScenarioId** Identifies the update scenario. +- **TargetBranch** Branch of the target OS. +- **TargetBuild** Build of the target OS. + + +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + +The 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 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 following fields are available: + +- **ClientId** The Windows Update client ID passed to Setup. +- **Count** The count of applicable OneSettings for the device. +- **FlightData** The ID for the flight (test instance version). +- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **ReportId** The Update ID passed to Setup. +- **Result** The HResult of the event error. +- **ScenarioId** The update scenario ID. +- **Values** Values sent back to the device, if applicable. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.DetectionFailed + +This event is sent when WaaSMedic fails to apply the named diagnostic. + +The following fields are available: + +- **diagnostic** Parameter where the diagnostic failed. +- **hResult** Error code from attempting the diagnostic. +- **isDetected** Flag indicating whether the condition was detected. +- **pluginName** Name of the attempted diagnostic. +- **versionString** The version number of the remediation engine. + + +### Microsoft.Windows.WaaSMedic.RemediationFailed + +This event is sent when the WaaS Medic update stack remediation tool fails to apply a described resolution to a problem that is blocking Windows Update from operating correctly on a target device. + +The 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 + +Result of the WaaSMedic operation. + +The following fields are available: + +- **callerApplication** The name of the calling application. +- **capsuleCount** The number of Sediment Pack capsules. +- **capsuleFailureCount** The number of capsule failures. +- **detectionSummary** Result of each applicable detection that was run. +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. +- **hrEngineBlockReason** Indicates the reason for stopping WaaSMedic. +- **hrEngineResult** Error code from the engine operation. +- **hrLastSandboxError** The last error sent by the WaaSMedic sandbox. +- **initSummary** Summary data of the initialization method. +- **isInteractiveMode** The user started a run of WaaSMedic. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **pluginFailureCount** The number of plugins that have failed. +- **pluginsCount** The number of plugins. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. +- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. +- **versionString** Version of the WaaSMedic engine. +- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. + + +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). + + +## 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 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 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.WheaDriverErrorInternal + +This event is sent when a common platform hardware error is recorded by a WHEA error source driver. + +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.WheaDriverErrorInternalNonCritical + +This event is sent when a common platform hardware error is recorded by a WHEA error source driver. These records are for events that can happen at high rates. + +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 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 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. + + +### WheaProvider.WheaErrorRecordNonCritical + +This event reports a common platform hardware error recorded by WHEA. These records are for events that can happen at high rates like PCIe corrected errors. + +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. + + +## Windows Store events + +### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation + +This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The Item Bundle ID. +- **CategoryId** The Item Category ID. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed before this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Was this a mandatory update? +- **IsRemediation** Was this a remediation install? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Flag indicating if this is an update. +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The product family name of the product being installed. +- **ProductId** The identity of the package or packages being installed. +- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. +- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds + +This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare + +This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation + +This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. +- **AttemptNumber** Total number of installation attempts. +- **BundleId** The identity of the Windows Insider build that is associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this an automatic restore of a previously acquired product? +- **IsUpdate** Is this a product update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of all packages to be downloaded and installed. +- **PreviousHResult** The previous HResult code. +- **PreviousInstallState** Previous installation state before it was canceled. +- **ProductId** The name of the package or packages requested for installation. +- **RelatedCV** Correlation Vector of a previous performed action on this product. +- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. +- **UserAttemptNumber** Total number of user attempts to install before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest + +This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Product ID of the app being installed. +- **HResult** HResult code of the action being performed. +- **IsBundle** Is this a bundle? +- **PackageFamilyName** The name of the package being installed. +- **ProductId** The Store Product ID of the product being installed. +- **SkuId** Specific edition of the item being installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense + +This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. +- **AttemptNumber** The total number of attempts to acquire this product. +- **BundleId** The bundle ID +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** HResult code to show the result of the operation (success/failure). +- **IsBundle** Is this a bundle? +- **IsInteractive** Did the user initiate the installation? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this happening after a device restore? +- **IsUpdate** Is this an update? +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to acquire this product. +- **UserAttemptNumber** The number of attempts by the user to acquire this product +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndDownload + +This event is sent after an app is downloaded to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The identity of the Windows Insider build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **DownloadSize** The total size of the download. +- **ExtendedHResult** Any extended HResult error codes. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this initiated by the user? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this a restore of a previously acquired product? +- **IsUpdate** Is this an update? +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** The Product Family Name of the app being download. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to download. +- **UserAttemptNumber** The number of attempts by the user to download. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate + +This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds + +This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndInstall + +This event is sent after a product has been installed to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **ExtendedHResult** The extended HResult error code. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this an interactive installation? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates + +This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsApplicability** Is this request to only check if there are any applicable packages to install? +- **IsInteractive** Is this user requested? +- **IsOnline** Is the request doing an online check? + + +### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages + +This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData + +This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of system attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare + +This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete + +This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The name of the product catalog from which this app was chosen. +- **FailedRetry** Indicates whether the installation or update retry was successful. +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate + +This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The name of the product catalog from which this app was chosen. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **ProductId** The product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest + +This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **BundleId** The identity of the build associated with this product. +- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SkuId** Specific edition ID being installed. +- **VolumePath** The disk path of the installation. + + +### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation + +This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The Product Full Name. +- **PreviousHResult** The result code of the last action performed before this operation. +- **PreviousInstallState** Previous state before the installation or update was paused. +- **ProductId** The Store Product ID for the product being installed. +- **RelatedCV** Correlation Vector of a previous performed action on this product. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation + +This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed before this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **IsUserRetry** Did the user initiate the retry? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **PreviousHResult** The previous HResult error code. +- **PreviousInstallState** Previous state before the installation was paused. +- **ProductId** The Store Product ID for the product being installed. +- **RelatedCV** Correlation Vector for the original install before it was resumed. +- **ResumeClientId** The ID of the app that initiated the resume operation. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest + +This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ProductId** The Store Product ID for the product being installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest + +This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Catalog ID for the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SkuId** Specfic edition of the app being updated. + + +### Microsoft.Windows.StoreAgent.Telemetry.StateTransition + +Products in the process of being fulfilled (installed or updated) are maintained in a list. This event is sent any time there is a change in a product's fulfillment status (pending, working, paused, cancelled, or complete), to help keep Windows up to date and secure. + +The following fields are available: + +- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **HResult** The resulting HResult error/success code of this operation. +- **NewState** The current fulfillment state of this product. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **Prevstate** The previous fulfillment state of this product. +- **ProductId** Product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest + +This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **PFamN** The name of the app that is requested for update. + + +## Windows Update CSP events + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed + +This event sends basic telemetry on the failure of the Feature Rollback. + +The following fields are available: + +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **hResult** Failure error code. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. +- **sacDevice** This is the device info. +- **wUfBConnected** Result of 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 following fields are available: + +- **background** Is the download being done in the background? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP Address of the source CDN (Content Delivery Network). +- **cdnUrl** The URL of the source CDN (Content Delivery Network). +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **errorCode** The error code that was returned. +- **experimentId** When running a test, this is used to correlate events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **predefinedCallerName** The name of the API Caller. +- **reasonCode** Reason the action or event occurred. +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the file download session. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted + +This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **background** Is the download a background download? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **bytesRequested** The total number of bytes requested for download. +- **cacheServerConnectionCount** Number of connections made to cache hosts. +- **cdnConnectionCount** The total number of connections made to the CDN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP address of the source CDN. +- **cdnUrl** Url of the source Content Distribution Network (CDN). +- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). +- **downlinkUsageBps** The download speed (in bytes per second). +- **downloadMode** The download mode used for this file download session. +- **downloadModeReason** Reason for the download. +- **downloadModeSrc** Source of the DownloadMode setting. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **expiresAt** The time when the content will expire from the Delivery Optimization Cache. +- **fileID** The ID of the file being downloaded. +- **fileSize** The size of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **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). +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### 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 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 following fields are available: + +- **background** Indicates whether the download is happening in the background. +- **bytesRequested** Number of bytes requested for the download. +- **cdnUrl** The URL of the source Content Distribution Network (CDN). +- **costFlags** A set of flags representing network cost. +- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). +- **diceRoll** Random number used for determining if a client will use peering. +- **doClientVersion** The version of the Delivery Optimization client. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). +- **downloadModeReason** Reason for the download. +- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). +- **errorCode** The error code that was returned. +- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. +- **fileID** The ID of the file being downloaded. +- **filePath** The path to where the downloaded file will be written. +- **fileSize** Total file size of the file that was downloaded. +- **fileSizeCaller** Value for total file size provided by our caller. +- **groupID** ID for the group. +- **isEncrypted** Indicates whether the download is encrypted. +- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). +- **isVpn** Indicates whether the device is connected to a Virtual Private Network. +- **jobID** The ID of the Windows Update job. +- **peerID** The ID for this delivery optimization client. +- **predefinedCallerName** Name of the API caller. +- **routeToCacheServer** Cache server setting, source, and value. +- **sessionID** The ID for the file download session. +- **setConfigs** A JSON representation of the configurations that have been set, and their sources. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Indicates whether the download used memory streaming. + + +### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication + +This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The 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 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 + +This event sends data collected at the beginning of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. + +The following fields are available: + +- **CorrelationVectors** CVs associated with each phase. +- **MigrationMicrosoftPhases** The number of Microsoft-authored migrators scheduled to be ran by DMF for this upgrade +- **MigrationOEMPhases** The number of OEM-authored migrators scheduled to be ran by DMF for this upgrade +- **MigrationStartTime** The timestamp representing the beginning of the DMF migration +- **WuClientId** The GUID of the Windows Update client invoking DMF + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary + +This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **activated** Whether the entire device manifest update is considered activated and in use. +- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. +- **flightId** Unique ID for each flight. +- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. +- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. +- **objectId** Unique value for each diagnostics session. +- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. +- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. +- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. +- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. +- **updateId** The unique ID for each update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit + +This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **objectId** The unique GUID for each diagnostics session. +- **relatedCV** A correlation vector value generated from the latest USO scan. +- **result** Outcome of the initialization of the session. +- **scenarioId** Identifies the Update scenario. +- **sessionId** The unique value for each update session. +- **updateId** The unique identifier for each Update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest + +This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The 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 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 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 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 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 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.EnhancedEngagedRebootForcedWarningDialog + +This event indicates that the Enhanced Engaged "forced warning" dialog box was displayed. + +The following fields are available: + +- **DeviceLocalTime** The local time on the device sending the event. +- **EnterpriseAttributionValue** Indicates whether the dialog had enterprise attribution or not. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog + +This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. + +The 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 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 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 + +Indicates 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 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.ActivityRestrictedByActiveHoursPolicy + +This event indicates a policy is present that may restrict update activity to outside of active hours. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours + +This event indicates that update activity was blocked because it is within the active hours window. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel + +This event indicates that Windows Update activity was blocked due to low battery level. + +The following fields are available: + +- **batteryLevel** The current battery charge capacity. +- **batteryLevelThreshold** The battery capacity threshold to stop update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Device ID. + + +### Microsoft.Windows.Update.Orchestrator.CommitFailed + +This event indicates that a device was unable to restart after an update. + +The following fields are available: + +- **errorCode** The error code that was returned. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.Orchestrator.DeferRestart + +This event indicates that a restart required for installing updates was postponed. + +The following fields are available: + +- **displayNeededReason** List of reasons for needing display. +- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **gameModeReason** Name of the executable that caused the game mode state check to start. +- **ignoredReason** List of reasons that were intentionally ignored. +- **IgnoreReasonsForRestart** List of reasons why restart was deferred. +- **revisionNumber** Update ID revision number. +- **systemNeededReason** List of reasons why system is needed. +- **updateId** Update ID. +- **updateScenarioType** Update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.Detection + +This event indicates that a scan for a Windows Update occurred. + +The following fields are available: + +- **deferReason** Reason why the device could not check for updates. +- **detectionBlockingPolicy** State of update action. +- **detectionBlockreason** The reason detection did not complete. +- **detectionRetryMode** Indicates whether we will try to scan again. +- **errorCode** The error code returned for the current process. +- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session was user initiated. +- **networkStatus** Error info +- **revisionNumber** Update revision number. +- **scanTriggerSource** Source of the triggered scan. +- **updateId** Update ID. +- **updateScenarioType** Identifies the type of update session being performed. +- **wuDeviceid** The unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.DetectionActivity + +This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. + +The following fields are available: + +- **applicableUpdateIdList** The list of update identifiers. +- **applicableUpdateList** The list of available updates. +- **durationInSeconds** The amount of time (in seconds) it took for the event to run. +- **expeditedMode** Indicates whether Expedited Mode is on. +- **networkCostPolicy** The network cost. +- **scanTriggerSource** Indicates whether the scan is Interactive or Background. +- **scenario** The result code of the event. +- **scenarioReason** The reason for the result code (scenario). +- **seekerUpdateIdList** The list of “seeker” update identifiers. +- **seekerUpdateList** The list of “seeker” updates. +- **services** The list of services that were called during update. +- **wilActivity** The activity results. See [wilActivity](#wilactivity). + + +### Microsoft.Windows.Update.Orchestrator.DisplayNeeded + +This event indicates the reboot was postponed due to needing a display. + +The 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 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.EscalationRiskLevels + +This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. + +The following fields are available: + +- **configVersion** The escalation configuration version on the device. +- **downloadElapsedTime** Indicates how long since the download is required on device. +- **downloadRiskLevel** At-risk level of download phase. +- **installElapsedTime** Indicates how long since the install is required on device. +- **installRiskLevel** The at-risk level of install phase. +- **isSediment** Assessment of whether is device is at risk. +- **scanElapsedTime** Indicates how long since the scan is required on device. +- **scanRiskLevel** At-risk level of the scan phase. +- **wuDeviceid** Device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask + +This event indicated that USO failed to add a trigger time to a task. + +The following fields are available: + +- **errorCode** The Windows Update error code. +- **wuDeviceid** The Windows Update device ID. + + +### Microsoft.Windows.Update.Orchestrator.FlightInapplicable + +This event indicates that the update is no longer applicable to this device. + +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 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 up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The ID of the Windows Insider build the device is getting. +- **flightUpdate** Indicates whether the update is a Windows Insider build. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **availableHistoryMinutes** The number of minutes available from the local machine activity history. +- **isLowUptimeMachine** Is the machine considered low uptime or not. +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.PostInstall + +This event is sent after a Windows update install completes. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **bundleId** Identifier associated with the specific content bundle. +- **bundleRevisionnumber** Identifies the revision number of the content bundle. +- **errorCode** The error code returned for the current phase. +- **eventScenario** State of update action. +- **flightID** The flight ID of the device +- **sessionType** The Windows Update session type (Interactive or Background). +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated before the shutdown and commit operations. + +The following fields are available: + +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask + +This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. + +The following fields are available: + +- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. +- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device ID for the device on which the reboot is restored. + + +### Microsoft.Windows.Update.Orchestrator.ScanTriggered + +This event indicates that Update Orchestrator has started a scan operation. + +The following fields are available: + +- **interactive** Indicates whether the scan is interactive. +- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. +- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. +- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. +- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. +- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. +- **scanTriggerSource** Indicates what caused the scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable + +This event defines when an optional update is available for the device to help keep Windows up to date. + +The following fields are available: + +- **flightID** The unique identifier of the Windows Insider build on this device. +- **isFeatureUpdate** Indicates whether the update is a Feature Update. +- **revisionNumber** The revision number of the update. +- **updateId** The GUID (Globally Unique Identifier) of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.StickUpdate + +This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. + +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 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 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.UnstickUpdate + +This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. + +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.UpdatePolicyCacheRefresh + +This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. + +The following fields are available: + +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed + +This event is sent when an updater failed to execute the registered callback. + +The following fields are available: + +- **updaterArgument** The argument to pass to the updater callback. +- **updaterCmdLine** The callback executable for the updater. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired + +This event sends data about whether an update required a reboot to help keep Windows up to date. + +The following fields are available: + +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData + +This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. + +The following fields are available: + +- **malformedRegValue** The registry value that contains the malformed or missing entry. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### 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 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 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 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. It's used to help keep Windows 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 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. + + +### 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. + + +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. + +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 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 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 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 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 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 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 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 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 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 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. + + + +### Microsoft.Windows.UpdateReserveManager.TurnOffReserves + +This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. + +The following fields are available: + +- **Flags** Flags used in the turn off reserves function. +- **HardReserveSize** The size of the hard reserve when Turn Off is called. +- **HardReserveUsedSpace** The amount of space used by the hard reserve when Turn Off is called +- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. +- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. +- **SoftReserveSize** The size of the soft reserve when Turn Off is called. +- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. + + +### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment + +This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. + +The following fields are available: + +- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. +- **Disposition** The parameter for the hard reserve adjustment function. +- **Flags** The flags passed to the hard reserve adjustment function. +- **PendingHardReserveAdjustment** The final change to the hard reserve size. +- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. + + +## Winlogon events + +### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon + +This event signals the completion of the setup process. It happens only once during the first logon. + + + +## XBOX events + +### Microsoft.Gaming.AppModel.AddUserAsync - Start + +This event is logged when adding user. + +The following fields are available: + +- **options** Selected options. + + +### Microsoft.Gaming.Install.BadInstallVolume + +This event is sent when a bad volume installs. + +The following fields are available: + +- **InstallVolume** Represents volume UID. + + +### Microsoft.Gaming.Install.ResurrectedInstall + +This event is logged when app installation resumes on Xbox console. + +The following fields are available: + +- **InstanceId** App install instance ID. +- **Result** App install resume result. + + +### Microsoft.Xbox.StreamManagementService.AgentReceivedRegionInfo + +This event is reported by Xbox Game Streaming services when they receive regional specific information to register with game steaming services. + +The following fields are available: + +- **regionName** Name of the Azure region. +- **registrationUri** URI to register with Game streaming services. +- **serverInfo** Server specific info including blade, rack name, and asset tag. See [serverInfo](#serverinfo). +- **servicesUri** Service end point. + + +### Microsoft.Xbox.XceBridge.CS.1.0.0.9.0.2.SFR.ConnectedStandbyEnterEnd + +This event is triggered when connected standby is finished activating. + + + +### NuiServiceTelemetryProvider.DriverSensorFirmwareVersion + +This event reports the version of the currently installed firmware. + + + +### NuiServiceTelemetryProvider.DriverSensorHardwareVersion + +This event reports basic and raw hardware version of the NUI sensor. Also reports serial number. + + + +### NuiServiceTelemetryProvider.SensorFirmwareDeviceError + +This event reports sensor firmware device error. + + + +### SignInArbiter.AutoPairingGeneralInfo + +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. + + + +## 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 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. + +The following fields are available: + +- **addUserToHyperVAdmins** True if user added to Hyper-V admin group. +- **addUserToPerformanceLogUsersGroup** True if user added to performance group. +- **automateFeatures** True if automation is being used. +- **bootLanguage** Boot language for guest. +- **bootToSnapshot** True if should attempt to boot to snapshot. +- **com1PipeName** COM1 pipe name. +- **com2PipeName** COM2 pipe name. +- **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. +- **noStart** True if VM shouldn't be started. +- **originalVideoResolution** Original video resolution. +- **remoteFxDisabled** Disable GPU. +- **screenDiagonalSize** Screen diagonal size. +- **sensorsEnabled** Sensors to enable in guest. +- **showName** True if display name should appear on UI. +- **showUsage** True if usage was shown. +- **silentSnapshot** True if a silent snapshot was taken. +- **silentUi** True if message boxes should be suppressed. +- **sku** The emulator sku to use +- **startedBy** The program that started the emulator. +- **version** Emulator version. +- **versionLong** Long format of emulator version. +- **vhdPath** VHD path. +- **videoResolution** Video resolution to use. +- **virtualMachineName** VM name. +- **waitForClientConnection** True if we should wait for client connection. +- **wp81NetworkStackDisabled** WP 8.1 networking stack disabled. + + + From f7e3bef3af36afc53b622d57bc3aa119051eee7c Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 18 Mar 2020 14:57:29 -0700 Subject: [PATCH 060/393] adding 2005 entry --- windows/privacy/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/privacy/TOC.md b/windows/privacy/TOC.md index de11fa6d06..c630a6ff77 100644 --- a/windows/privacy/TOC.md +++ b/windows/privacy/TOC.md @@ -8,6 +8,7 @@ ### [Diagnostic Data Viewer Overview](diagnostic-data-viewer-overview.md) ### [Diagnostic Data Viewer for PowerShell Overview](Microsoft-DiagnosticDataViewer.md) ## Basic level Windows diagnostic data events and fields +### [Windows 10, version 2005 Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-2005.md) ### [Windows 10, version 1903 and Windows 10, version 1909 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) ### [Windows 10, version 1809 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) ### [Windows 10, version 1803 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) From 0236901433fedb2db081db24a82c95ea9ac12356 Mon Sep 17 00:00:00 2001 From: Teresa-Motiv Date: Thu, 19 Mar 2020 16:10:35 -0700 Subject: [PATCH 061/393] TOC consistency edits (plus metadata edits) --- devices/hololens/TOC.md | 10 +++++----- devices/hololens/holographic-home.md | 4 ++-- devices/hololens/hololens-cortana.md | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/devices/hololens/TOC.md b/devices/hololens/TOC.md index 8547f7cf59..e8e96c7881 100644 --- a/devices/hololens/TOC.md +++ b/devices/hololens/TOC.md @@ -16,7 +16,7 @@ ## [Install localized version of HoloLens (1st gen)](hololens1-install-localized.md) ## [Getting around HoloLens (1st gen)](hololens1-basic-usage.md) -# Deploy HoloLens and mixed-reality apps in commercial environments +# Deploy HoloLens and mixed reality apps in commercial environments ## [Commercial features](hololens-commercial-features.md) ## [Deploy HoloLens in a commercial environment](hololens-requirements.md) ## [Determine what licenses you need](hololens-licenses-requirements.md) @@ -27,13 +27,13 @@ ## [Manage HoloLens updates](hololens-updates.md) ## [Enable Bitlocker device encryption for HoloLens](hololens-encryption.md) -# Navigating Windows Holographic -## [Start menu and mixed reality home](holographic-home.md) -## [Use your voice with HoloLens](hololens-cortana.md) +# Navigate the Windows Holographic environment +## [Use the Start menu and mixed reality home](holographic-home.md) +## [Use your voice to operate HoloLens](hololens-cortana.md) ## [Find, open, and save files](holographic-data.md) ## [Create mixed reality photos and videos](holographic-photos-and-videos.md) -# User management and access management +# Manage users and access ## [Manage user identity and sign-in for HoloLens](hololens-identity.md) ## [Share your HoloLens with multiple people](hololens-multiple-users.md) ## [Set up HoloLens as a kiosk for specific applications](hololens-kiosk.md) diff --git a/devices/hololens/holographic-home.md b/devices/hololens/holographic-home.md index 9b554c0638..8cbbe10268 100644 --- a/devices/hololens/holographic-home.md +++ b/devices/hololens/holographic-home.md @@ -1,5 +1,5 @@ --- -title: Start menu and mixed reality home +title: Use the Start menu and mixed reality home description: Navigate the mixed reality home in Windows Holographic. ms.assetid: 742bc126-7996-4f3a-abb2-cf345dff730c ms.date: 08/07/2019 @@ -15,7 +15,7 @@ appliesto: - HoloLens 2 --- -# Start menu and mixed reality home +# Use the Start menu and mixed reality home Just like the Windows PC experience starts with the desktop, Windows Holographic starts with mixed reality home. Using the Start menu you can open and place app windows, immersive app launchers, and 3D content in mixed reality home, and their placement in your physical space will be remembered. diff --git a/devices/hololens/hololens-cortana.md b/devices/hololens/hololens-cortana.md index 369602ca12..aa2d8ec6dc 100644 --- a/devices/hololens/hololens-cortana.md +++ b/devices/hololens/hololens-cortana.md @@ -1,5 +1,5 @@ --- -title: Use your voice with HoloLens +title: Use your voice to operate HoloLens description: Cortana can help you do all kinds of things on your HoloLens ms.assetid: fd96fb0e-6759-4dbe-be1f-58bedad66fed ms.date: 03/10/2020 @@ -17,7 +17,7 @@ appliesto: - HoloLens 2 --- -# Use your voice with HoloLens +# Use your voice to operate HoloLens You can use your voice to do almost anything on HoloLens, such as taking a quick photo or opening an app. Many voice commands are built into HoloLens, while others are available through Cortana. @@ -34,14 +34,14 @@ Get around HoloLens faster with these basic commands. In order to use these you ### General speech commands -Use these commands throughout Windows Mixed Reality to get around faster. Some commands use the gaze cursor, which you bring up by saying “select.” +Use these commands throughout Windows Mixed Reality to get around faster. Some commands use the gaze cursor, which you bring up by saying "select." > [!NOTE] > Hand rays are not supported on HoloLens (1st Gen). | Say this | To do this | | - | - | -| "Select" | Say "select" to bring up the gaze cursor. Then, turn your head to position the cursor on the thing you want to select, and say “select” again. | +| "Select" | Say "select" to bring up the gaze cursor. Then, turn your head to position the cursor on the thing you want to select, and say "select" again. | |Open the Start menu | "Go to Start" | |Close the Start menu | "Close" | |Leave an immersive app | Say "Go to Start" to bring up the quick actions menu, then say "Mixed reality home." | From 34e91b28cb07dffaf90db13f10ec2912b5d92248 Mon Sep 17 00:00:00 2001 From: Teresa-Motiv Date: Fri, 20 Mar 2020 09:49:05 -0700 Subject: [PATCH 062/393] revisions --- devices/hololens/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/devices/hololens/index.md b/devices/hololens/index.md index 47862d7138..c584d0fb17 100644 --- a/devices/hololens/index.md +++ b/devices/hololens/index.md @@ -23,9 +23,9 @@ appliesto: +
-

Microsoft HoloLens is the first fully self-contained holographic computer running Windows 10.

+

Microsoft HoloLens is the first fully self-contained holographic computer that runs Windows 10.

-

Now, with the introduction of HoloLens 2, every device provides commercial ready management enhanced by the reliability, security, and scalability of cloud and AI services from Microsoft.

+

Now, with the introduction of HoloLens 2, every device provides commercial-ready management features that are enhanced by the reliability, security, and scalability of cloud and AI services from Microsoft.

To learn more about HoloLens 2 for developers, check out the mixed reality developer documentation.

@@ -41,19 +41,19 @@ appliesto: | --- | --- | | [Get started with HoloLens 2](hololens2-setup.md) | Set up HoloLens 2 for the first time. | | [Get started with HoloLens (1st gen)](hololens1-setup.md) | Set up HoloLens (1st gen) for the first time. | -| [Get started with HoloLens in a commercial or classroom environment](hololens-requirements.md) | Plan for a multi-device HoloLens deployment and create a strategy for ongoing device management.
This section is tailored to IT professionals managing devices with existing device management infrastructure. | +| [Deploy HoloLens in a commercial or classroom environment](hololens-requirements.md) | Plan for a multi-device HoloLens deployment and create a strategy for ongoing device management.
This section is tailored to IT professionals managing devices with existing device management infrastructure. | ## Quick reference by topic | Topic | Description | | --- | --- | -| [What's new in HoloLens](hololens-whats-new.md) | Discover new features in the latest updates via HoloLens release notes. | -| [Install and manage applications on HoloLens](hololens-install-apps.md) | Install and manage important applications on HoloLens at scale. | -| [HoloLens update management](hololens-updates.md) | Use mobile device management (MDM) policies to configure settings for updates. | -| [HoloLens user management](hololens-multiple-users.md) | Multiple users can share a HoloLens device by using their Azure Active Directory accounts. | +| [What's new in HoloLens](hololens-release-notes.md) | Discover new features in the latest updates in the HoloLens release notes. | +| [Install and manage applications on HoloLens](holographic-store-apps.md) | Install and manage important applications on HoloLens at scale. | +| [Manage HoloLens updates](hololens-updates.md) | Use mobile device management (MDM) policies to configure settings for updates. | +| [Manage HoloLens users](hololens-multiple-users.md) | Multiple users can share a HoloLens device by using their Azure Active Directory accounts. | | [HoloLens application access management](hololens-kiosk.md) | Manage application access for different user groups. | | [Recover and troubleshoot HoloLens issues](https://support.microsoft.com/products/hololens) | Learn how to gather logs from HoloLens, recover a misbehaving device, or reset HoloLens when necessary. | -| [Contact Support](https://support.microsoft.com/supportforbusiness/productselection) | Create a new support request for the business support team. | +| [Contact support](https://support.microsoft.com/supportforbusiness/productselection?sapid=3ec35c62-022f-466b-3a1e-dbbb7b9a55fb) | Create a new support request for the business support team. | | [More support options](https://support.microsoft.com/products/hololens) | Connect with Microsoft support resources for HoloLens in the enterprise. | ## Related resources From 32eab3e2f819b21c8d0943675818cddbd930dd9d Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 23 Mar 2020 09:47:57 -0700 Subject: [PATCH 063/393] 3/23 update --- ...ndows-diagnostic-events-and-fields-1703.md | 2 +- ...ndows-diagnostic-events-and-fields-1709.md | 2 +- ...ndows-diagnostic-events-and-fields-1803.md | 40 +- ...ndows-diagnostic-events-and-fields-1809.md | 40 +- ...ndows-diagnostic-events-and-fields-1903.md | 18716 +++++++++------- ...ndows-diagnostic-events-and-fields-2005.md | 6458 +----- 6 files changed, 10057 insertions(+), 15201 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index 5f8ec20717..d1f20553b8 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/17/2020 +ms.date: 03/23/2020 ms.reviewer: --- diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index ceb3110306..a5130da156 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/18/2020 +ms.date: 03/23/2020 ms.reviewer: --- diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 8e96e6db04..c86c083c2a 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/18/2020 +ms.date: 03/23/2020 ms.reviewer: --- @@ -4274,25 +4274,25 @@ The following fields are available: ### 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 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 The following fields are available: -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). - **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. - **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update 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'. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. - **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. - **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. - **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. @@ -4303,19 +4303,19 @@ The following fields are available: - **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. - **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. - **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. @@ -4331,7 +4331,7 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index a2f82e13f6..599d1781b0 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/18/2020 +ms.date: 03/23/2020 ms.reviewer: --- @@ -5084,25 +5084,25 @@ The following fields are available: ### 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 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 The following fields are available: -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). - **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. - **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update 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'. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. - **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. - **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. - **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. @@ -5113,19 +5113,19 @@ The following fields are available: - **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. - **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. - **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. @@ -5141,7 +5141,7 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 0b1bdb7f6d..3fbcfbc677 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -1,8732 +1,9984 @@ ---- -description: Use this article to learn more about what required Windows diagnostic data is gathered. -title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) -keywords: privacy, telemetry -ms.prod: w10 -ms.mktglfcycl: manage -ms.sitesec: library -ms.pagetype: security -localizationpriority: high -author: brianlic-msft -ms.author: brianlic -manager: dansimp -ms.collection: M365-security-compliance -ms.topic: article -audience: ITPro -ms.date: 03/18/2020 ---- - - -# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields - - -> [!IMPORTANT] -> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. - - - **Applies to** - -- Windows 10, version 1909 -- Windows 10, version 1903 - - -Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. - -Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - - -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - - - -## AppLocker events - -### Microsoft.Windows.Security.AppLockerCSP.AddParams - -This event indicates the parameters passed to the Add function of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to add. -- **uri** URI of the node relative to %SYSTEM32%/AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.AddStart - -This event indicates the start of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.AddStop - -This event indicates the end of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** The HRESULT returned by Add function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Commit - -This event returns information about the Commit operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure.. - -The following fields are available: - -- **oldId** The unique identifier for the most recent previous CSP transaction. -- **txId** The unique identifier for the current CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Rollback - -This event provides the result of the Rollback operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **oldId** Previous id for the CSP transaction. -- **txId** Current id for the CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearParams - -This event provides the parameters passed to the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** The URI relative to the %SYSTEM32%\AppLocker folder. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStart - -This event indicates the start of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStop - -This event indicates the end of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT reported at the end of the 'Clear' function. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceParams - -This event provides the parameters that were passed to the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **NodeId** NodeId passed to CreateNodeInstance. -- **nodeOps** NodeOperations parameter passed to CreateNodeInstance. -- **uri** URI passed to CreateNodeInstance, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStart - -This event indicates the start of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStop - -This event indicates the end of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the CreateNodeInstance function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildParams - -This event provides the parameters passed to the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to delete. -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStart - -This event indicates the start of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStop - -This event indicates the end of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the DeleteChild function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.EnumPolicies - -This event provides the logged Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker if the plug-in GUID is null or the Configuration Service Provider (CSP) doesn't believe the old policy is present. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesParams - -This event provides the parameters passed to the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%/AppLocker for MDM node. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStart - -This event indicates the start of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStop - -This event indicates the end of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child[0]** If function succeeded, the first child's name, else "NA". -- **count** If function succeeded, the number of child node names returned by the function, else 0. -- **hr** HRESULT returned by the GetChildNodeNames function of AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.GetLatestId - -This event provides the latest time-stamped unique identifier in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dirId** The latest directory identifier found by GetLatestId. -- **id** The id returned by GetLatestId if id > 0 - otherwise the dirId parameter. - - -### Microsoft.Windows.Security.AppLockerCSP.HResultException - -This event provides the result code (HRESULT) generated by any arbitrary function in the AppLocker Configuration Service Provider (CSP). - -The following fields are available: - -- **file** File in the OS code base in which the exception occurs. -- **function** Function in the OS code base in which the exception occurs. -- **hr** HRESULT that is reported. -- **line** Line in the file in the OS code base in which the exception occurs. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueParams - -This event provides the parameters that were passed to the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dataLength** Length of the value to set. -- **uri** The node URI to that should contain the value, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStart - -This event indicates the start of the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStop - -End of the "SetValue" operation for the AppLockerCSP node. - -The following fields are available: - -- **hr** HRESULT returned by the SetValue function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.TryRemediateMissingPolicies - -This event provides information for fixing a policy in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. It includes Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker that needs to be fixed. - -The following fields are available: - -- **uri** URI for node relative to %SYSTEM32%/AppLocker. - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. - -The 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_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_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_RS3Setup** 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_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_RS3Setup** 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_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_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_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_19ASetup** 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_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_RS3Setup** The count of the number of this particular object type 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_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_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_RS3Setup** 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_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_RS3Setup** 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_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_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_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_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_19ASetup** 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_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_RS3Setup** The count of the number of this particular object type present 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. -- **DecisionSystemProcessor_RS2** 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_21H1Setup** The count of the number of this particular object type present on this device. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **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. -- **InventorySystemMachine** The count of the number of this particular object type present on this device. -- **InventorySystemProcessor** 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_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 - -Represents the basic metadata about specific application files installed on the system. - -This event 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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **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. -- **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.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. - -This event includes fields from [Ms.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.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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 includes fields from [Ms.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 is no longer present. - -This event includes fields from [Ms.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 - -The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. - -This event includes fields from [Ms.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 is no longer present. - -This event includes fields from [Ms.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 - -This event indicates that a new set of DecisionDriverPackageAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.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. - -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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorEndSync - -This event indicates that a full set of InventorySystemProcessorAdd events has been sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorStartSync - -This event indicates that a new set of InventorySystemProcessorAdd events will be sent. - -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.InventoryTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. - -This event 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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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 indicates what should be expected in the data payload. - -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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. - -This event includes fields from [Ms.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.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InboxDataVersion** The original version of the data files before retrieving any newer version. -- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and 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 - -This event indicates that a new set of WmdrmAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Audio endpoint events - -### MicArrayGeometry - -This event provides information about the layout of the individual microphone elements in the microphone array. - -The following fields are available: - -- **MicCoords** The location and orientation of the microphone element. -- **usFrequencyBandHi** The high end of the frequency range for the microphone. -- **usFrequencyBandLo** The low end of the frequency range for the microphone. -- **usMicArrayType** The type of the microphone array. -- **usNumberOfMicrophones** The number of microphones in the array. -- **usVersion** The version of the microphone array specification. -- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). -- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). -- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). -- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). - - -### MicCoords - -This event provides information about the location and orientation of the microphone element. - -The following fields are available: - -- **usType** The type of microphone. -- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). -- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). -- **wXCoord** The x-coordinate of the microphone. -- **wYCoord** The y-coordinate of the microphone. -- **wZCoord** The z-coordinate of the microphone. - - -### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo - -This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. - -The following fields are available: - -- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). -- **ContainerId** An identifier that uniquely groups the functional devices associated with a single-function or multifunction device. -- **DeviceInstanceId** The unique identifier for this instance of the device. -- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. -- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. -- **endpointEffectModule** Module name for the endpoint effect audio processing object. -- **EndpointFormFactor** The enumeration value for the form factor of the endpoint device (for example speaker, microphone, remote network device). -- **endpointID** The unique identifier for the audio endpoint. -- **endpointInstanceId** The unique identifier for the software audio endpoint. Used for joining to other audio event. -- **Flow** Indicates whether the endpoint is capture (1) or render (0). -- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. -- **globalEffectModule** Module name for the legacy global effect audio processing object. -- **HWID** The hardware identifier for the endpoint. -- **IsBluetooth** Indicates whether the device is a Bluetooth device. -- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. -- **IsSideband** Indicates whether the device is a sideband device. -- **IsUSB** Indicates whether the device is a USB device. -- **JackSubType** A unique ID representing the KS node type of the endpoint. -- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. -- **localEffectModule** Module name for the legacy local effect audio processing object. -- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). -- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. -- **modeEffectModule** Module name for the mode effect audio processing object. -- **persistentId** A unique ID for this endpoint which is retained across migrations. -- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. -- **streamEffectModule** Module name for the stream effect audio processing object. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Azure - -This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. - -The 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, type to help keep Windows 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.Camera - -This event sends data about the resolution of cameras on the device, to help keep Windows up to date. - -The following fields are available: - -- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. -- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. - - -### 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 following fields are available: - -- **AADDeviceId** Azure Active Directory device ID. -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **EnrollmentType** Defines the type of MDM enrollment on the device. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **TPMManufacturerId** The ID of the TPM manufacturer. -- **TPMManufacturerVersion** The version of the TPM manufacturer. -- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. -- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? - - -### Census.Memory - -This event sends data about the memory on the device, including ROM and RAM, to help keep Windows 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), to help keep Windows up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** Kiosk configuration mode. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for 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. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **FindMyDevice** Current state of the "find my device" setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.Processor - -This event sends data about the processor to help keep Windows 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. - -The following fields are available: - -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. -- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **SModeState** The Windows S mode trail state. -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. - - -### Census.Speech - -This event is used to gather basic speech settings on the device. - -The 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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 following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **InkTypePersonalization** Current state of the inking and typing personalization setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics, to help keep Windows up to date. - -The following fields are available: - -- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVDI** Is the device using Virtual Desktop Infrastructure? -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. -- **VMId** A string that identifies a virtual machine. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? -- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? -- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? -- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **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. -- **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). - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **locale** The locale of the app. -- **name** The name of the app. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **epoch** An ID that's incremented for each SDK initialization. -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **seq** An ID that's incremented for each event. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. -- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId -- **make** Device manufacturer. -- **model** Device model. - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.mscv - -Describes the correlation vector-related fields. - -The following fields are available: - -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. -- **name** Represents the operating system name. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.sdk - -Used by platform specific libraries to record fields that are required for a specific SDK. - -The following fields are available: - -- **epoch** An ID that is incremented for each SDK initialization. -- **installId** An ID that's created during the initialization of the SDK for the first time. -- **libVer** The SDK version. -- **seq** An ID that is incremented for each event. -- **ver** The version of the logging SDK. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **locale** The language and region. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **pgName** The short form of the provider group name associated with the event. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **providerGuid** The ETW provider ID associated with the provider name. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **wcmp** The Windows Shell Composer ID. -- **wPId** The Windows Core OS product ID. -- **wsId** The Windows Core OS session ID. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Component-based servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update. - -The following fields are available: - -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. - -The 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. - - - -## Diagnostic data events - -### TelClientSynthetic.AbnormalShutdown_0 - -This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. - -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 sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. - -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 - -Fired by UTC at startup to signal what data we are allowed to collect. - -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. - -The following fields are available: - -- **CensusExitCode** Returns last execution codes from census client run. -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTime** Retrieves the last time the device lost free network. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. - - -### TelClientSynthetic.EventMonitor_0 - -This event provides statistics for specific diagnostic events. - -The following fields are available: - -- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. -- **EventName** The name of the event being monitored. -- **EventSnFirst** The expected first event serial number. -- **EventSnLast** The expected last event serial number. -- **EventStoreCount** The number of events reaching the event store. -- **MonitorSn** The serial number of the monitor. -- **TriggerCount** The number of events reaching the trigger buffer. -- **UploadedCount** The number of events uploaded. - - -### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 - -This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. - -The following fields are available: - -- **FilePath** The unexpanded path in the scenario XML. -- **ScenarioId** The globally unique identifier (GUID) of the scenario. -- **ScenarioInstanceId** The error code denoting which path failed (internal or external). - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - -The following fields are available: - -- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** Time of last Census run. -- **CensusTaskEnabled** True if Census is enabled, false otherwise. -- **CompressedBytesUploaded** Number of compressed bytes uploaded. -- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. -- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. -- **DbDroppedCount** Number of events dropped due to DB fullness. -- **DbDroppedFailureCount** Number of events dropped due to DB failures. -- **DbDroppedFullCount** Number of events dropped due to DB fullness. -- **DecodingDroppedCount** Number of events dropped due to decoding failures. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. -- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. -- **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. -- **EventStoreResetCounter** Number of times event DB was reset. -- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. -- **EventsUploaded** Number of events uploaded. -- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. -- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. -- **HeartBeatSequenceNumber** The sequence number of this heartbeat. -- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. -- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. -- **LastEventSizeOffender** Event name of last event which exceeded max event size. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. -- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). -- **PrivacyBlockedCount** The number of events blocked due to privacy settings or tags. -- **RepeatedUploadFailureDropped** Number of events lost due to repeated upload failures for a single buffer. -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. -- **TopUploaderErrors** List of top errors received from the upload endpoint. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **UploaderErrorCount** Number of errors received from the upload endpoint. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -### TelClientSynthetic.HeartBeat_Agent_5 - -This event sends data about the health and quality of the diagnostic data from the specified device (agent), to help keep Windows up to date. - -The following fields are available: - -- **ConsumerDroppedCount** The number of events dropped at the consumer layer of the diagnostic data collection client. -- **ContainerBufferFullDropCount** The number of events dropped due to the container buffer being full. -- **ContainerBufferFullSevilleDropCount** The number of “Seville” events dropped due to the container buffer being full. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events dropped due to data throttling. -- **DecodingDroppedCount** The number of events dropped due to decoding failures. -- **EtwDroppedBufferCount** The number of buffers dropped in the ETW (Event Tracing for Windows) session. -- **EtwDroppedCount** The number of events dropped at the ETW (Event Tracing for Windows) layer of the diagnostic data collection client on the user’s device. -- **EventsForwardedToHost** The number of events forwarded from agent (device) to host (server). -- **FullTriggerBufferDroppedCount** The number of events dropped due to the trigger buffer being full. -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **HostConnectionErrorsCount** The number of non-timeout errors encountered in the host (server)/agent (device) socket transport channel. -- **HostConnectionTimeoutsCount** The number of connection timeouts between the host (server) and agent (device). -- **LastHostConnectionError** The last error from a connection between host (server) and agent (device). -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. -- **ThrottledDroppedCount** The number of events dropped due to throttling of “noisy” providers. - - -### TelClientSynthetic.HeartBeat_DevHealthMon_5 - -This event sends data (for Surface Hub devices) to monitor and ensure the correct functioning of those Surface Hub devices. This data helps ensure the device is up to date with the latest security and safety features. - -The following fields are available: - -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. - - -### TelClientSynthetic.LifetimeManager_ConsumerBaseTimestampChange_0 - -This event sends data when the Windows Diagnostic data collection mechanism detects a timestamp adjustment for incoming diagnostic events. This data is critical for dealing with time changes during diagnostic data analysis, to help keep the device up to date. - -The following fields are available: - -- **NewBaseTime** The new QPC (Query Performance Counter) base time from ETW (Event Tracing for Windows). -- **NewSystemTime** The new system time of the device. -- **OldSystemTime** The previous system time of the device. - - -### TelClientSynthetic.MatchEngine_ScenarioCompletionThrottled_0 - -This event sends data when scenario completion is throttled (truncated or otherwise restricted) because the scenario is excessively large. - -The following fields are available: - -- **MaxHourlyCompletionsSetting** The maximum number of scenario completions per hour until throttling kicks in. -- **ScenarioId** The globally unique identifier (GUID) of the scenario being throttled. -- **ScenarioName** The name of the scenario being throttled. - - -### TelClientSynthetic.OsEvents_BootStatReset_0 - -This event sends data when the Windows diagnostic data collection mechanism resets the Boot ID. This data helps ensure Windows is up to date. - -The following fields are available: - -- **BootId** The current Boot ID. -- **ResetReason** The reason code for resetting the Boot ID. - - -### TelClientSynthetic.ProducerThrottled_At_TriggerBuffer_0 - -This event sends data when a producer is throttled due to the trigger buffer exceeding defined thresholds. - -The following fields are available: - -- **BufferSize** The size of the trigger buffer. -- **DataType** The type of event that this producer generates (Event Tracing for Windows, Time, Synthetic). -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. -- **Threshold** The threshold crossed, which caused the throttling. - - -### TelClientSynthetic.ProducerThrottled_Event_Rate_0 - -This event sends data when an event producer is throttled by the Windows Diagnostic data collection mechanism. This data helps ensure Windows is up to date. - -The following fields are available: - -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **EventPerProviderThreshold** The trigger point for throttling (value for each provider). This value is only applied once EventRateThreshold has been met. -- **EventRateThreshold** The total event rate trigger point for throttling. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. - - -### TelClientSynthetic.RunExeWithArgsAction_ExeTerminated_0 - -This event sends data when an executable (EXE) file is terminated during escalation because it exceeded its maximum runtime (the maximum amount of time it was expected to run). This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **MaximumRuntimeMs** The maximum runtime (in milliseconds) for this action. -- **ScenarioId** The globally unique identifier (GUID) of the scenario that was terminated. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance that was terminated. - - -### TelClientSynthetic.RunExeWithArgsAction_ProcessReturnedNonZeroExitCode - -This event sends data when the RunExe process finishes during escalation, but returns a non-zero exit code. This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExitCode** The exit code of the process -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **ScenarioId** The globally unique identifier (GUID) of the escalating scenario. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance. - - -### TelClientSynthetic.ServiceMain_DevHealthMonEvent - -This event is a low latency health alert that is part of the 4Nines device health monitoring feature currently available on Surface Hub devices. For a device that is opted in, this event is sent before shutdown to signal that the device is about to be powered down. - - - -## Direct to update events - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector -- **hResult** HRESULT of the failure - - -## 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 following fields are available: - -- **dismInstalledLCUPackageName** The name of the latest installed package. - - -### Microsoft.Windows.StartRepairCore.DISMPendingInstall - -The DISM Pending Install event sends information to report pending package installation found. - -The 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 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 following fields are available: - -- **errorCode** The result code returned by the event. - - -### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd - -The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. - -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 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 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 following fields are available: - -- **srtRootCauseDiag** The scenario name for a diagnosis event. - - -## Driver installation events - -### Microsoft.Windows.DriverInstall.DeviceInstall - -This critical event sends information about the driver installation that took place. - -The following fields are available: - -- **ClassGuid** The unique ID for the device class. -- **ClassLowerFilters** The list of lower filter class drivers. -- **ClassUpperFilters** The list of upper filter class drivers. -- **CoInstallers** The list of coinstallers. -- **ConfigFlags** The device configuration flags. -- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. -- **DeviceInstalled** Indicates whether the legacy install code path was used. -- **DeviceInstanceId** The unique identifier of the device in the system. -- **DeviceStack** The device stack of the driver being installed. -- **DriverDate** The date of the driver. -- **DriverDescription** A description of the driver function. -- **DriverInfName** Name of the INF file (the setup information file) for the driver. -- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. -- **DriverPackageId** The ID of the driver package that is staged to the driver store. -- **DriverProvider** The driver manufacturer or provider. -- **DriverUpdated** Indicates whether the driver is replacing an old driver. -- **DriverVersion** The version of the driver file. -- **EndTime** The time the installation completed. -- **Error** Provides the WIN32 error code for the installation. -- **ExtensionDrivers** List of extension drivers that complement this installation. -- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. -- **FinishInstallUI** Indicates whether the installation process shows the user interface. -- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **FlightIds** A list of the different Windows Insider builds on the device. -- **GenericDriver** Indicates whether the driver is a generic driver. -- **Inbox** Indicates whether the driver package is included with Windows. -- **InstallDate** The date the driver was installed. -- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. -- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. -- **LegacyInstallReasonError** The error code for the legacy installation. -- **LowerFilters** The list of lower filter drivers. -- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. -- **NeedReboot** Indicates whether the driver requires a reboot. -- **OriginalDriverInfName** The original name of the INF file before it was renamed. -- **ParentDeviceInstanceId** The device instance ID of the parent of the device. -- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. -- **Problem** Error code returned by the device after installation. -- **ProblemStatus** The status of the device after the driver installation. -- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. -- **SecondaryDevice** Indicates whether the device is a secondary device. -- **ServiceName** The service name of the driver. -- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. -- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. -- **StartTime** The time when the installation started. -- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. -- **UpperFilters** The list of upper filter drivers. - - -### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd - -This event sends data about the driver installation once it is completed. - -The 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 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. - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **Display1UMDFilePath** The file path to the location of the Display User Mode Driver in the Driver Store. -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **DriverWorkarounds** Numeric value indicating the driver workarounds that are enabled for this device. -- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. -- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. -- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. -- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. -- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRemovable** TRUE if the adapter supports being disabled or removed. -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **SubSystemID** The subsystem ID. -- **SubVendorID** The GPU sub vendor ID. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **version** The event version. -- **WDDMVersion** The Windows Display Driver Model version. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **securityLevelForStorage** The cluster parameter: security level for storage. -- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **AppName** The name of the app that has crashed. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. -- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. -- **IsFatal** True/False to indicate whether the crash resulted in process termination. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - -## Feature update events - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed - -This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. - -The 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. - - - -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - -## Holographic events - -### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated - -This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. - -The following fields are available: - -- **HmdState** Windows Mixed Reality Headset HMD state. -- **NewHoloShellState** Windows Mixed Reality HoloShell state. -- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. -- **SimulationEnabled** Windows Mixed Reality Simulation state. - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated - -This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. - -The following fields are available: - -- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. -- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. -- **PackageVersion** Windows Mixed Reality Portal app package version. -- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. -- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming - -This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. - - - -### TraceLoggingOasisUsbHostApiProvider.DeviceInformation - -This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. - -The following fields are available: - -- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. -- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. -- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. -- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. -- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. -- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. -- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. -- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. -- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. -- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. -- **DeviceInfoFlags** Windows Mixed Reality device info flags. -- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. -- **DeviceReleaseNumber** Windows Mixed Reality device release number. -- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. -- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. -- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. -- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. -- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. -- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. -- **FriendlyName** Windows Mixed Reality device friendly name. -- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. -- **HeaderSize** Windows Mixed Reality device header size. -- **HeaderVersion** Windows Mixed Reality device header version. -- **LicenseKey** Windows Mixed Reality device header license key. -- **Make** Windows Mixed Reality device make. -- **ManufacturingDate** Windows Mixed Reality device manufacturing date. -- **Model** Windows Mixed Reality device model. -- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. -- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. -- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. -- **ProductBoardRevision** Windows Mixed Reality device product board revision number. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## Inventory events - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. - -The 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 -- **InventoryApplicationShortcut** A count of application shortcut objects in cache -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDeviceUsbHubClass** A count of device usb objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache -- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. -- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache -- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache -- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache -- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache -- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache -- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache -- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache -- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache -- **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 following fields are available: - -- **aeinv** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd - -This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **CatalogSigners** Signers from catalog. Each signer starts with Chain. -- **DigestAlgorithm** The pseudonymizing (hashing) algorithm used when the file or package was signed. -- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. -- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. -- **FileName** The file name of the file whose signatures are listed. -- **FileType** Either exe or sys, depending on if a driver package or application executable. -- **InventoryVersion** The version of the inventory file generating the events. -- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). - -The following fields are available: - -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. - -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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFileAdd - -This event provides file-level information about the applications that exist on the system. This event is used to understand the applications on a device to determine if those applications will experience compatibility issues when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BinaryType** The architecture of the binary (executable) file. -- **BinFileVersion** Version information for the binary (executable) file. -- **BinProductVersion** The product version provided by the binary (executable) file. -- **BoeProgramId** The “bag of evidence” program identifier. -- **CompanyName** The company name included in the binary (executable) file. -- **FileId** A pseudonymized (hashed) unique identifier derived from the file itself. -- **FileVersion** The version of the file. -- **InventoryVersion** The version of the inventory component. -- **Language** The language declared in the binary (executable) file. -- **LinkDate** The compiler link date. -- **LowerCaseLongPath** The file path in “long” format. -- **Name** The file name. -- **ProductName** The product name declared in the binary (executable) file. -- **ProductVersion** The product version declared in the binary (executable) file. -- **ProgramId** The program identifier associated with the binary (executable) file. -- **Size** The size of the binary (executable) file. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file. -- **Frameworks** The list of frameworks this file depends on. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. - -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. - -This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). - -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. - -This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). - -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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. -- **IsMachineContainer** Is the container the root device itself? -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. - -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. - -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. - -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. - -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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. - -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. - -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/en-us/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. - -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. - -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. - -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. - -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 provides the basic metadata about driver binaries running on the system. - -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. - -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. - -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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **FlightIds** Driver Flight IDs. -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **RecoveryIds** Driver recovery IDs. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. - -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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd - -Provides data on the installed Office Add-ins. - -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. -- **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. -- **Usage** Data about usage for the add-in. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Provides data on the Office identifiers. - -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 -- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit -- **OTenantId** Unique GUID representing the Microsoft O365 Tenant -- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 -- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Office-related Internet Explorer features. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -This event includes fields from [Ms.Device.DeviceInvdntoryChange](#msdevicedeviceinvdntorychange). - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Describes Office Products installed. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -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 - -Indicates a new sync is being generated for this object type. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Unified Update Platform (UUP) products and what version they are at. - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. - -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 - -These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. This data helps ensure the device is up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -## IoT events - -### Microsoft.Windows.IoT.Client.CEPAL.MonitorStarted - -This event identifies Windows Internet of Things (IoT) devices which are running the CE PAL subsystem by sending data during CE PAL startup. - - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -OS information collected during Boot, used to evaluate the success of the upgrade process. - -The following fields are available: - -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. -- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. -- **MeasuredLaunchCapable** Indicates the system is capable of booting with Dynamic Root of Trust for Measurement (DRTM) support. -- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). -- **MeasuredLaunchResume** This field tells us if Dynamic Root of Trust for Measurement (DRTM) was used when resuming from hibernation. -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **TcbLaunch** Indicates whether the Trusted Computing Base was used during the boot flow. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -### Microsoft.Windows.Kernel.DeviceConfig.DeviceConfig - -This critical device configuration event provides information about drivers for a driver installation that took place within the kernel. - -The following fields are available: - -- **ClassGuid** The unique ID for the device class. -- **DeviceInstanceId** The unique ID for the device on the system. -- **DriverDate** The date of the driver. -- **DriverFlightIds** The IDs for the driver flights. -- **DriverInfName** Driver INF file name. -- **DriverProvider** The driver manufacturer or provider. -- **DriverSubmissionId** The driver submission ID assigned by the hardware developer center. -- **DriverVersion** The driver version number. -- **ExtensionDrivers** The list of extension driver INF files, extension IDs, and associated flight IDs. -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **InboxDriver** Indicates whether the driver package is included with Windows. -- **InstallDate** Date the driver was installed. -- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. -- **Legacy** Indicates whether the driver is a legacy driver. -- **NeedReboot** Indicates whether the driver requires a reboot. -- **SetupMode** Indicates whether the device configuration occurred during the Out Of Box Experience (OOBE). -- **StatusCode** The NTSTATUS of device configuration operation. - - -### Microsoft.Windows.Kernel.PnP.AggregateClearDevNodeProblem - -This event is sent when a problem code is cleared from a device. - -The 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 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 following fields are available: - -- **temperature** Contains the actual temperature measurement, in tenths of degrees Kelvin, for the area that exceeded the limit. -- **thermalZone** Contains an identifier that specifies which area it was that exceeded temperature limits. - - -## Microsoft Edge events - -### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_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). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -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. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **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'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_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). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Microsoft.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. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -## 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 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 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 following fields are available: - -- **currentSid** Indicates the user SID for which the migration is being performed. -- **knownFoldersUsr[i]** Predefined folder path locations. -- **migDiagSession->CString** The phase of the upgrade where the migration occurs. (For example, Validate tracked content.) -- **objectCount** The number of objects that are being transferred. - - -## Miracast events - -### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd - -This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session - -The following fields are available: - -- **AudioChannelCount** The number of audio channels. -- **AudioSampleRate** The sample rate of audio in terms of samples per second. -- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. -- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. -- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. -- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. -- **ConnectorType** The type of connector used during the Miracast session. -- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. -- **EncodeCount** The count of total frames encoded in the session. -- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. -- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. -- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. -- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. -- **FirstFrameTime** The time (tick count) when the first frame is sent. -- **FirstLatencyMode** The first latency mode. -- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. -- **FrameCount** The total number of frames processed. -- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. -- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. -- **Glitches** The number of frames that failed to be delivered on time. -- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. -- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. -- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. -- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. -- **LastLatencyMode** The last reported latency mode. -- **LogTimeReference** The reference time, in tick counts. -- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. -- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. -- **MediaErrorCode** The error code reported by the media session, if applicable. -- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. -- **MiracastM1** The time (tick count) when the M1 request was sent. -- **MiracastM2** The time (tick count) when the M2 request was sent. -- **MiracastM3** The time (tick count) when the M3 request was sent. -- **MiracastM4** The time (tick count) when the M4 request was sent. -- **MiracastM5** The time (tick count) when the M5 request was sent. -- **MiracastM6** The time (tick count) when the M6 request was sent. -- **MiracastM7** The time (tick count) when the M7 request was sent. -- **MiracastSessionState** The state of the Miracast session when the connection ended. -- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. -- **ProfileCount** The count of profiles generated from the receiver M4 response. -- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. -- **RefreshRate** The refresh rate set on the remote display. -- **RotationSupported** Indicates if the Miracast receiver supports display rotation. -- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. -- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. -- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. -- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. -- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. -- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. -- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. -- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. -- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. -- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. -- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. -- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. -- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. -- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. -- **UIBCStatus** The result code reported by the UIBC setup process. -- **VideoBitrate** The starting bitrate for the video encoder. -- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. -- **VideoHeight** The height of encoded video frames. -- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. -- **VideoWidth** The width of encoded video frames. -- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. - - -## Mixed Reality events - -### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded - -This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. - -The following fields are available: - -- **ClassGuid** Windows Mixed Reality device class GUID. -- **DeviceInterfaceId** Windows Mixed Reality device interface ID. -- **DeviceName** Windows Mixed Reality device name. -- **DriverVersion** Windows Mixed Reality device driver version. -- **FirmwareVersion** Windows Mixed Reality firmware version. -- **Manufacturer** Windows Mixed Reality device manufacturer. -- **ModelName** Windows Mixed Reality device model name. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -## 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 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 - -Event tells us effectiveness of new privacy experience. - -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 - - -## Push Button Reset events - -### Microsoft.Windows.PBR.BitLockerWipeFinished - -This event sends error data after the BitLocker wipe finishes if there were any issues during the wipe. - -The following fields are available: - -- **error** The error code if there were any issues during the BitLocker wipe. -- **sessionID** This is the session ID. -- **succeeded** Indicates the BitLocker wipe successful completed. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.BootState - -This event sends data on the Windows Recovery Environment (WinRE) boot, which can be used to determine whether the boot was successful. - -The following fields are available: - -- **BsdSummaryInfo** Summary of the last boot. -- **sessionID** The ID of the push-button reset session. -- **timestamp** The timestamp of the boot state. - - -### Microsoft.Windows.PBR.ClearTPMStarted - -This event sends basic data about the recovery operation on the device to allow investigation. - -The following fields are available: - -- **sessionID** The ID for this push-button restart session. -- **timestamp** The time when the Trusted Platform Module will be erased. - - -### Microsoft.Windows.PBR.ClientInfo - -This event indicates whether push-button reset (PBR) was initiated while the device was online or offline. - -The following fields are available: - -- **name** Name of the user interface entry point. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The time when this event occurred. - - -### Microsoft.Windows.PBR.Completed - -This event sends data about the recovery operation on the device to allow for investigation. - -The following fields are available: - -- **sessionID** The ID of the push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.DataVolumeCount - -This event provides the number of additional data volumes that the push-button reset operation has detected. - -The following fields are available: - -- **count** The number of attached data drives. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.DiskSpaceRequired - -This event sends the peak disk usage required for the push-button reset operation. - -The following fields are available: - -- **numBytes** The number of bytes required for the reset operation. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.EnterAPI - -This event is sent at the beginning of each push-button reset (PRB) operation. - -The following fields are available: - -- **apiName** Name of the API command that is about to execute. -- **sessionID** The session ID. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.EnteredOOBE - -This event is sent when the push-button reset (PRB) process enters the Out Of Box Experience (OOBE). - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.LeaveAPI - -This event is sent when the push-button reset operation is complete. - -The following fields are available: - -- **apiName** Name of the API command that completed. -- **errorCode** Error code if an error occurred during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation is successfully completed. -- **success** Indicates whether the API call was successful. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OEMExtensionFinished - -This event is sent when the OEM extensibility scripts have completed. - -The following fields are available: - -- **exitCode** The exit code from OEM extensibility scripts to push-button reset. -- **param** Parameters used for the OEM extensibility script. -- **phase** Name of the OEM extensibility script phase. -- **script** The path to the OEM extensibility script. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the OEM extensibility script executed successfully. -- **timedOut** Indicates whether the OEM extensibility script timed out. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OEMExtensionStarted - -This event is sent when the OEM extensibility scripts start to execute. - -The following fields are available: - -- **param** The parameters used by the OEM extensibility script. -- **phase** The name of the OEM extensibility script phase. -- **script** The path to the OEM extensibility script. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationExecuteFinished - -This event is sent at the end of a push-button reset (PBR) operation. - -The following fields are available: - -- **error** Indicates the result code of the event. -- **index** The operation index. -- **operation** The name of the operation. -- **phase** The name of the operation phase. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation successfully completed. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationExecuteStarted - -This event is sent at the beginning of a push-button reset operation. - -The following fields are available: - -- **index** The index of this operation. -- **operation** The name of this operation. -- **phase** The phase of this operation. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. -- **weight** The weight of the operation used to distribute the change in percentage. - - -### Microsoft.Windows.PBR.OperationQueueConstructFinished - -This event is sent when construction of the operation queue for push-button reset is finished. - -The following fields are available: - -- **error** The result code for operation queue construction. -- **errorCode** Represents any error code during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation successfully completed. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationQueueConstructStarted - -This event is sent when construction of the operation queue for push-button reset is started. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.PBRClearTPMFailed - -This event is sent when there was a failure while clearing the Trusted Platform Module (TPM). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionFailed - -This event is sent when the push-button reset operation fails to construct a new copy of the operating system. - -The following fields are available: - -- **HRESULT** Indicates the result code of the event. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. -- **SPErrorCode** The error code for the Setup Platform operation. -- **SPOperation** The last Setup Platform operation. -- **SPPhase** The last phase of the Setup Platform operation. - - -### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionSucceed - -This event is sent when the push-button reset operation succeeds in constructing a new copy of the operating system. - -The following fields are available: - -- **CBSPackageCount** The Component Based Servicing package count. -- **CustomizationPackageCount** The Customization package count. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFailed - -This event is sent when the push-button reset operation fails and rolls back to the previous state. - -The following fields are available: - -- **ErrorType** The result code for the push-button reset error. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFinalUserSelection - -This event is sent when the user makes the final selection in the user interface. - -The following fields are available: - -- **PBREraseData** Indicates whether the option to erase data is selected. -- **PBRRecoveryStrategy** The recovery strategy for the push-button reset operation. -- **PBRRepartitionDisk** Indicates whether the user has selected the option to repartition the disk. -- **PBRVariation** Indicates the push-button reset type. -- **PBRWipeDataDrives** Indicates whether the option to wipe the data drives is selected. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFormatOSVolumeSucceed - -This event is sent when the operation to format the operating system volume succeeds during push-button reset (PBR). - -The following fields are available: - -- **JustDeleteFiles** Indicates whether disk formatting was skipped. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRIOCTLErasureSucceed - -This event is sent when the erasure operation succeeds during push-button reset (PBR). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRLayoutImageFailed - -This event is sent when push-button reset fails to create a new image of Windows. - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBROEM1Failed - -This event is sent when the first OEM extensibility operation is successfully completed. - -The following fields are available: - -- **HRESULT** The result error code from the OEM extensibility script. -- **Parameters** The parameters that were passed to the OEM extensibility script. -- **PBRType** The type of push-button reset. -- **ScriptName** The path to the OEM extensibility script. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRReachedOOBE - -This event returns data when the PBR (Push Button Reset) process reaches the OOBE (Out of Box Experience). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRReconstructionInitiated - -This event returns data when a PBR (Push Button Reset) reconstruction operation begins. - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecks - -This event returns data when PBR (Push Button Reset) requirement checks begin. - -The following fields are available: - -- **DeploymentType** The type of deployment. -- **InstallType** The type of installation. -- **PBRType** The type of push-button reset. -- **SessionID** The ID for this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecksFailed - -This event returns data when PBR (Push Button Reset) requirement checks fail. - -The following fields are available: - -- **DiskSpaceAvailable** The disk space available for the push-button reset. -- **DiskSpaceRequired** The disk space required for the push-button reset. -- **ErrorType** The type of error that occurred during the requirement checks phase of the push-button reset operation. -- **PBRImageVersion** The image version of the push-button reset tool. -- **PBRRecoveryStrategy** The recovery strategy for this phase of push-button reset. -- **PBRStartedFrom** Identifies the push-button reset entry point. -- **PBRType** The type of push-button reset specified by the user interface. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecksPassed - -This event returns data when PBR (Push Button Reset) requirement checks are passed. - -The following fields are available: - -- **OSVersion** The OS version installed on the device. -- **PBRImageType** The push-button reset image type. -- **PBRImageVersion** The version of the push-button reset image. -- **PBRRecoveryStrategy** The push-button reset recovery strategy. -- **PBRStartedFrom** Identifies the push-button reset entry point. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRSucceed - -This event returns data when PBR (Push Button Reset) succeeds. - -The following fields are available: - -- **OSVersion** The OS version installed on the device. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PhaseFinished - -This event returns data when a phase of PBR (Push Button Reset) has completed. - -The following fields are available: - -- **error** The result code for this phase of push-button reset. -- **phase** The name of this push-button reset phase. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether this phase of push-button reset executed successfully. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.PhaseStarted - -This event is sent when a phase of the push-button reset (PBR) operation starts. - -The following fields are available: - -- **phase** The name of this phase of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.ReconstructionInfo - -This event returns data about the PBR (Push Button Reset) reconstruction. - -The following fields are available: - -- **numPackagesAbandoned** The number of packages that were abandoned during the reconstruction operation of push-button reset. -- **numPackagesFailed** The number of packages that failed during the reconstruction operation of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **slowMode** The mode of reconstruction. -- **targetVersion** The target version of the OS for the reconstruction. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ResetOptions - -This event returns data about the PBR (Push Button Reset) reset options selected by the user. - -The following fields are available: - -- **overwriteSpace** Indicates whether the option was selected to erase data during push-button reset. -- **preserveWorkplace** Indicates whether the option was selected to reserve the workplace during push-button reset. -- **scenario** The selected scenario for the push-button on reset operation. -- **sessionID** The ID of this push-button on reset session. -- **timestamp** The timestamp of this push-button on reset event. -- **usePayload** Indicates whether Cloud PBR or Reconstruction was used. -- **wipeData** Indicates whether the option was selected to wipe additional drives during push-button reset. - - -### Microsoft.Windows.PBR.RetryQueued - -This event returns data about the retry count when PBR (Push Button Reset) is restarted due to a reboot. - -The following fields are available: - -- **attempt** The number of retry attempts that were made -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ReturnedToOldOS - -This event returns data after PBR (Push Button Reset) has completed the rollback. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ReturnTaskSchedulingFailed - -This event returns data when there is a failure scheduling a boot into WinRE (Windows Recovery). - -The following fields are available: - -- **errorCode** The error that occurred while scheduling the task. -- **sessionID** The ID of this push-button reset session. -- **taskName** The name of the task. -- **timestamp** The ID of this push-button reset event. - - -### Microsoft.Windows.PBR.RollbackFinished - -This event returns data when the PBR (Push Button Reset) rollback completes. - -The following fields are available: - -- **error** Any errors that occurred during rollback to the old operating system. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the rollback succeeded. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.RollbackStarted - -This event returns data when the PBR (Push Button Reset) rollback begins. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ScenarioNotSupported - -This event returns data when the PBR (Push Button Reset) scenario selected is not supported on the device. - -The following fields are available: - -- **errorCode** The error that occurred. -- **reason** The reason why this push-button reset scenario is not supported. -- **sessionID** The ID for this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionCreated - -This event returns data when the PRB (Push Button Reset) session is created at the beginning of the UI (user interface) process. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionResumed - -This event returns data when the PRB (Push Button Reset) session is resumed after reboots. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionSaved - -This event returns data when the PRB (Push Button Reset) session is suspended between reboots. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SetupExecuteFinished - -This event returns data when the PBR (Push Button Reset) setup finishes. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **systemState** Information about the system state of the Setup Platform operation. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SetupExecuteStarted - -This event returns data when the PBR (Push Button Reset) setup starts. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.SetupFinalizeStarted - -This event returns data when the Finalize operation is completed by setup during PBR (Push Button Reset). - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.SetupOperationFailed - -This event returns data when a PRB (Push Button Reset) setup operation fails. - -The following fields are available: - -- **errorCode** An error that occurred during the setup phase of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **setupExecutionOperation** The name of the Setup Platform operation. -- **setupExecutionPhase** The phase of the setup operation that failed. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SystemInfoField - -This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate reset options are shown to the user. - -The following fields are available: - -- **name** Name of the system information field. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. -- **value** The system information field value. - - -### Microsoft.Windows.PBR.SystemInfoListItem - -This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate options can be shown to the user. - -The following fields are available: - -- **index** The index number associated with the system information item. -- **name** The name of the list of system information items. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. -- **value** The value of the system information item. - - -### Microsoft.Windows.PBR.SystemInfoSenseFinished - -This event returns data when System Info Sense is finished. - -The following fields are available: - -- **error** The error code if an error occurred while querying for system information. -- **errorCode** Represents any error code during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the query for system information was successful. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SystemInfoSenseStarted - -This event returns data when System Info Sense is started. - -The following fields are available: - -- **sessionID** The ID of this push-button reset event. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.UserAcknowledgeCleanupWarning - -This event returns data when the user acknowledges the cleanup warning pop-up after PRB (Push Button Reset) is complete. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.UserCancel - -This event returns data when the user confirms they wish to cancel PBR (Push Button Reset) from the user interface. - -The following fields are available: - -- **pageID** The page ID for the page the user canceled. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.UserConfirmStart - -This event returns data when the user confirms they wish to reset their device and PBR (Push Button Reset) begins. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.WinREInstallFinished - -This event returns data when WinRE (Windows Recovery) installation is complete. - -The following fields are available: - -- **errorCode** Any error that occurred during the Windows Recovery Environment (WinRE) installation. -- **sessionID** The ID of this push-button reset session. -- **success** Indicates whether the Windows Recovery Environment (WinRE) installation successfully completed. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.WinREInstallStarted - -This event returns data when WinRE (Windows Recovery) installation starts. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -## Quality Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Provides information on reasons why the update is not applicable to the device. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Indicates why the device did not pass the readiness check. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. - -The following fields are available: - -- **CV** Correlation vector. -- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. -- **DownloadMode** Indicates how the quality update was downloaded. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. -- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. -- **Result** Download of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **DismInstallHResult** Internal result code from DISM when used to install the quality update. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. -- **KBNumber** KBNumber of the update being installed. -- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. -- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. -- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. -- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. -- **Result** Install of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. -- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. - -The following fields are available: - -- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. -- **Id** Identifies the trial being run, such as a disk related trial. -- **ReleaseVer** The version of the component. -- **State** The state of the reporting data from the trial, such as the top-level directory analysis. -- **Time** The time the event was fired. - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - -The following fields are available: - -- **NewPhase** The phase of progress made. -- **ReleaseVer** The version information for the component in which the change occurred. -- **Time** The system time at which the phase chance occurred. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **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. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No data is currently reported in this field. Expected value for this field is 0. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **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 tracks the commit process post the update installation when software update client is trying to update the device. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** Version number of the software distribution client -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. -- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **AppXScope** Indicates the scope of the app download. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. -- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. -- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadProps** Information about the download operation properties in the form of a bitmask. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The hostname URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **NetworkCost** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. -- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific content has previously failed. -- **RepeatFailFlag** Indicates whether this specific content previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total count of bytes that the download is expected to be. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedDO** Whether the download used the delivery optimization service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content - -The 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 following fields are available: - -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No value is currently reported in this field. Expected value for this field is 0. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** The device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. -- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID that represents a given MSI installation. -- **UpdateId** Unique update ID. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Revert - -Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). - -The following fields are available: - -- **BundleId** Identifier associated with the specific content bundle. Should not be all zeros if the BundleId was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **CSIErrorType** Stage of CBS installation that failed. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **EventType** Event type (Child, Bundle, Release, or Driver). -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether WU-for-Business dual scan is enabled on the device. -- **IsWUfBEnabled** Flag indicating whether WU-for-Business 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 - -Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). - -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). - -The following fields are available: - -- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **DeploymentProviderMode** The mode of operation of the Update Deployment Provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers when a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). -- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether WU-for-Business dual scan is enabled on the device. -- **IsWUfBEnabled** Flag indicating whether WU-for-Business is enabled on the device. -- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. -- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific piece of content previously failed. -- **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **UpdateId** Identifier associated with the specific piece of content. -- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). -- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. -- **WUDeviceID** Unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. - -The 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 - -Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. - -The following fields are available: - -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## System reset events - -### Microsoft.Windows.SysReset.FlightUninstallCancel - -This event indicates the customer has cancelled uninstallation of Windows. - - - -### Microsoft.Windows.SysReset.FlightUninstallError - -This event sends an error code when the Windows uninstallation fails. - -The following fields are available: - -- **ErrorCode** Error code for uninstallation failure. - - -### Microsoft.Windows.SysReset.FlightUninstallReboot - -This event is sent to signal an upcoming reboot during uninstallation of Windows. - - - -### Microsoft.Windows.SysReset.FlightUninstallStart - -This event indicates that the Windows uninstallation has started. - - - -### Microsoft.Windows.SysReset.FlightUninstallUnavailable - -This event sends diagnostic data when the Windows uninstallation is not available. - -The following fields are available: - -- **AddedProfiles** Indicates that new user profiles have been created since the flight was installed. -- **MissingExternalStorage** Indicates that the external storage used to install the flight is not available. -- **MissingInfra** Indicates that uninstall resources are missing. -- **MovedProfiles** Indicates that the user profile has been moved since the flight was installed. - - -### Microsoft.Windows.SysReset.HasPendingActions - -This event is sent when users have actions that will block the uninstall of the latest quality update. - - - -### Microsoft.Windows.SysReset.IndicateLCUWasUninstalled - -This event is sent when the registry indicates that the latest cumulative Windows update package has finished uninstalling. - -The following fields are available: - -- **errorCode** The error code if there was a failure during uninstallation of the latest cumulative Windows update package. - - -### Microsoft.Windows.SysReset.LCUUninstall - -This event is sent when the latest cumulative Windows update was uninstalled on a device. - -The following fields are available: - -- **errorCode** An error that occurred while the Windows update package was being uninstalled. -- **packageName** The name of the Windows update package that is being uninstalled. -- **removalTime** The amount of time it took to uninstall the Windows update package. - - -### Microsoft.Windows.SysReset.PBRBlockedByPolicy - -This event is sent when a push-button reset operation is blocked by the System Administrator. - -The following fields are available: - -- **PBRBlocked** Reason the push-button reset operation was blocked. -- **PBRType** The type of push-button reset operation that was blocked. - - -### Microsoft.Windows.SysReset.PBREngineInitFailed - -This event signals a failed handoff between two recovery binaries. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBREngineInitSucceed - -This event signals successful handoff between two recovery binaries. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBRFailedOffline - -This event reports the error code when recovery fails. - -The following fields are available: - -- **HRESULT** Error code for the failure. -- **PBRType** The recovery scenario. -- **SessionID** The unique ID for the recovery session. - - -### Microsoft.Windows.SystemReset.EsimPresentCheck - -This event is sent when a device is checked to see whether it has an embedded SIM (eSIM). - -The following fields are available: - -- **errorCode** Any error that occurred while checking for the presence of an embedded SIM. -- **esimPresent** Indicates whether an embedded SIM is present on the device. -- **sessionID** The ID of this session. - - -### Microsoft.Windows.SystemReset.PBRCorruptionRepairOption - -This event sends corruption repair diagnostic data when the PBRCorruptionRepairOption encounters a corruption error. - -The following fields are available: - -- **cbsSessionOption** The corruption repair configuration. -- **errorCode** The error code encountered. -- **meteredConnection** Indicates whether the device is connected to a metered network (wired or WiFi). -- **sessionID** The globally unique identifier (GUID) for the session. - - -### Microsoft.Windows.SystemReset.RepairNeeded - -This event provides information about whether a system reset needs repair. - -The following fields are available: - -- **repairNeeded** Indicates whether there was corruption in the system reset which needs repair. -- **sessionID** The ID of this push-button reset session. - - -## UEFI events - -### Microsoft.Windows.UEFI.ESRT - -This event sends basic data during boot about the firmware loaded or recently installed on the machine. This helps to keep Windows up to date. - -The following fields are available: - -- **DriverFirmwareFilename** The firmware file name reported by the device hardware key. -- **DriverFirmwarePolicy** The optional version update policy value. -- **DriverFirmwareStatus** The firmware status reported by the device hardware key. -- **DriverFirmwareVersion** The firmware version reported by the device hardware key. -- **FirmwareId** The UEFI (Unified Extensible Firmware Interface) identifier. -- **FirmwareLastAttemptStatus** The reported status of the most recent firmware installation attempt, as reported by the EFI System Resource Table (ESRT). -- **FirmwareLastAttemptVersion** The version of the most recent attempted firmware installation, as reported by the EFI System Resource Table (ESRT). -- **FirmwareType** The UEFI (Unified Extensible Firmware Interface) type. -- **FirmwareVersion** The UEFI (Unified Extensible Firmware Interface) version as reported by the EFI System Resource Table (ESRT). -- **InitiateUpdate** Indicates whether the system is ready to initiate an update. -- **LastAttemptDate** The date of the most recent attempted firmware installation. -- **LastAttemptStatus** The result of the most recent attempted firmware installation. -- **LastAttemptVersion** The version of the most recent attempted firmware installation. -- **LowestSupportedFirmwareVersion** The oldest (lowest) version of firmware supported. -- **MaxRetryCount** The maximum number of retries, defined by the firmware class key. -- **RetryCount** The number of attempted installations (retries), reported by the driver software key. -- **Status** The status returned to the PnP (Plug-and-Play) manager. -- **UpdateAttempted** Indicates if installation of the current update has been attempted before. - - -## Update events - -### Update360Telemetry.Revert - -This event sends data relating to the Revert phase of updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the Revert phase. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RebootRequired** Indicates reboot is required. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **RevertResult** The result code returned for the Revert operation. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. - -The following fields are available: - -- **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. -- **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 following fields are available: - -- **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 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 following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **MergeId** The unique ID to join two update sessions being merged. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. - -The 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 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 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 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 following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentReboot - -This event sends information indicating that a request has been sent to suspend an update. - -The following fields are available: - -- **ErrorCode** The error code returned for the current reboot. -- **FlightId** Unique ID for the flight (test instance version). -- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. -- **ObjectId** The unique value for each Update Agent mode. -- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. - -The 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 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 following fields are available: - -- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. -- **DownloadRequestAttributes** The attributes we send to DCAT. -- **ResultCode** The result returned from the initiation of Facilitator with the URL/attributes. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **Url** The Delivery Catalog (DCAT) URL we send the request to. -- **Version** Version of Facilitator. - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. - -The 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. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **Operation** Facilitator’s last known operation (scan, download, etc.). -- **ReportId** ID for tying together events stream side. -- **ResultCode** Result returned for the entire setup operation. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **ScenarioId** Identifies the update scenario. -- **TargetBranch** Branch of the target OS. -- **TargetBuild** Build of the target OS. - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. - -The 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 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 following fields are available: - -- **ClientId** The Windows Update client ID passed to Setup. -- **Count** The count of applicable OneSettings for the device. -- **FlightData** The ID for the flight (test instance version). -- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **ReportId** The Update ID passed to Setup. -- **Result** The HResult of the event error. -- **ScenarioId** The update scenario ID. -- **Values** Values sent back to the device, if applicable. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -Result of the WaaSMedic operation. - -The following fields are available: - -- **callerApplication** The name of the calling application. -- **capsuleCount** The number of Sediment Pack capsules. -- **capsuleFailureCount** The number of capsule failures. -- **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineBlockReason** Indicates the reason for stopping WaaSMedic. -- **hrEngineResult** Error code from the engine operation. -- **hrLastSandboxError** The last error sent by the WaaSMedic sandbox. -- **initSummary** Summary data of the initialization method. -- **isInteractiveMode** The user started a run of WaaSMedic. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **pluginFailureCount** The number of plugins that have failed. -- **pluginsCount** The number of plugins. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **versionString** Version of the WaaSMedic engine. -- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -### Value - -This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. - -The following fields are available: - -- **Algorithm** The algorithm used to preserve privacy. -- **DPRange** The upper bound of the range being measured. -- **DPValue** The randomized response returned by the client. -- **Epsilon** The level of privacy to be applied. -- **HistType** The histogram type if the algorithm is a histogram algorithm. -- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. - - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure See [Value](#value). - - -## Windows Hardware Error Architecture events - -### WheaProvider.WheaErrorRecord - -This event collects data about common platform hardware error recorded by the Windows Hardware Error Architecture (WHEA) mechanism. - -The following fields are available: - -- **creatorId** The unique identifier for the entity that created the error record. -- **errorFlags** Any flags set on the error record. -- **notifyType** The unique identifier for the notification mechanism which reported the error to the operating system. -- **partitionId** The unique identifier for the partition on which the hardware error occurred. -- **platformId** The unique identifier for the platform on which the hardware error occurred. -- **record** A collection of binary data containing the full error record. -- **recordId** The identifier of the error record. -- **sectionFlags** The flags for each section recorded in the error record. -- **sectionTypes** The unique identifier that represents the type of sections contained in the error record. -- **severityCount** The severity of each individual section. -- **timeStamp** The error time stamp as recorded in the error record. - - -## Windows Security Center events - -### Microsoft.Windows.Security.WSC.DatastoreMigratedVersion - -This event provides information about the datastore migration and whether it was successful. - -The following fields are available: - -- **datastoreisvtype** The product category of the datastore. -- **datastoremigrated** The version of the datastore that was migrated. -- **status** The result code of the migration. - - -### Microsoft.Windows.Security.WSC.GetCallerViaWdsp - -This event returns data if the registering product EXE (executable file) does not allow COM (Component Object Model) impersonation. - -The following fields are available: - -- **callerExe** The registering product EXE that does not support COM impersonation. - - -## Windows Store events - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **ResumeClientId** The ID of the app that initiated the resume operation. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specfic edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.StateTransition - -Products in the process of being fulfilled (installed or updated) are maintained in a list. This event is sent any time there is a change in a product's fulfillment status (pending, working, paused, cancelled, or complete), to help keep Windows up to date and secure. - -The following fields are available: - -- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **HResult** The resulting HResult error/success code of this operation. -- **NewState** The current fulfillment state of this product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **Prevstate** The previous fulfillment state of this product. -- **ProductId** Product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update CSP events - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed - -This event sends basic telemetry on the failure of the Feature Rollback. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** This is the device info. -- **wUfBConnected** Result of 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 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. - - - -## 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 following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **cdnUrl** The URL of the source CDN (Content Delivery Network). -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller. -- **reasonCode** Reason the action or event occurred. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **cdnUrl** Url of the source Content Distribution Network (CDN). -- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **expiresAt** The time when the content will expire from the Delivery Optimization Cache. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. -- **isThrottled** Event Rate throttled (event represents aggregated data). -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **linkLocalConnectionCount** The number of connections made to peers in the same Link-local network. -- **numPeers** The total number of peers used for this download. -- **numPeersLocal** The total number of local peers used for this download. -- **predefinedCallerName** The name of the API Caller. -- **restrictedUpload** Is the upload restricted? -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The 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 following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isEncrypted** Indicates whether the download is encrypted. -- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **peerID** The ID for this delivery optimization client. -- **predefinedCallerName** Name of the API caller. -- **routeToCacheServer** Cache server setting, source, and value. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The 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 following fields are available: - -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary - -This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. -- **flightId** Unique ID for each flight. -- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. -- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. -- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. -- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. -- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. -- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** The unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The 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 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 following fields are available: - -- **errorCode** The error code returned for the current install phase. -- **flightId** The unique identifier for each flight. -- **objectId** The unique identifier for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Outcome of the install phase of the update. -- **scenarioId** The unique identifier for the update scenario. -- **sessionId** Unique value for each update session. -- **updateId** The unique identifier for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The 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 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 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 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 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 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 - -Indicates 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.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel - -This event indicates that Windows Update activity was blocked due to low battery level. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. - -The following fields are available: - -- **displayNeededReason** List of reasons for needing display. -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **gameModeReason** Name of the executable that caused the game mode state check to start. -- **ignoredReason** List of reasons that were intentionally ignored. -- **IgnoreReasonsForRestart** List of reasons why restart was deferred. -- **revisionNumber** Update ID revision number. -- **systemNeededReason** List of reasons why system is needed. -- **updateId** Update ID. -- **updateScenarioType** Update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event indicates that a scan for a Windows Update occurred. - -The following fields are available: - -- **deferReason** Reason why the device could not check for updates. -- **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session was user initiated. -- **networkStatus** Error info -- **revisionNumber** Update revision number. -- **scanTriggerSource** Source of the triggered scan. -- **updateId** Update ID. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DetectionActivity - -This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. - -The following fields are available: - -- **applicableUpdateIdList** The list of update identifiers. -- **applicableUpdateList** The list of available updates. -- **durationInSeconds** The amount of time (in seconds) it took for the event to run. -- **expeditedMode** Indicates whether Expedited Mode is on. -- **networkCostPolicy** The network cost. -- **scanTriggerSource** Indicates whether the scan is Interactive or Background. -- **scenario** The result code of the event. -- **scenarioReason** The reason for the result code (scenario). -- **seekerUpdateIdList** The list of “seeker” update identifiers. -- **seekerUpdateList** The list of “seeker” updates. -- **services** The list of services that were called during update. -- **wilActivity** The activity results. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -This event indicates the reboot was postponed due to needing a display. - -The 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 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.EscalationRiskLevels - -This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. - -The following fields are available: - -- **configVersion** The escalation configuration version on the device. -- **downloadElapsedTime** Indicates how long since the download is required on device. -- **downloadRiskLevel** At-risk level of download phase. -- **installElapsedTime** Indicates how long since the install is required on device. -- **installRiskLevel** The at-risk level of install phase. -- **isSediment** Assessment of whether is device is at risk. -- **scanElapsedTime** Indicates how long since the scan is required on device. -- **scanRiskLevel** At-risk level of the scan phase. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask - -This event indicated that USO failed to add a trigger time to a task. - -The following fields are available: - -- **errorCode** The Windows Update error code. -- **wuDeviceid** The Windows Update device ID. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event indicates that the update is no longer applicable to this device. - -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 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 up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. - -The following fields are available: - -- **availableHistoryMinutes** The number of minutes available from the local machine activity history. -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. - -The following fields are available: - -- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. -- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.ScanTriggered - -This event indicates that Update Orchestrator has started a scan operation. - -The following fields are available: - -- **interactive** Indicates whether the scan is interactive. -- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. -- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. -- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. -- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. -- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. -- **scanTriggerSource** Indicates what caused the scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable - -This event defines when an optional update is available for the device to help keep Windows up to date. - -The following fields are available: - -- **flightID** The unique identifier of the Windows Insider build on this device. -- **isFeatureUpdate** Indicates whether the update is a Feature Update. -- **revisionNumber** The revision number of the update. -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.SeekUpdate - -This event occurs when user initiates "seeker" scan. This helps keep Windows up to date. - -The following fields are available: - -- **flightID** The ID of the Windows Insider builds on the device. -- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. -- **revisionNumber** The revision number of the update. -- **updateId** The identifier of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.StickUpdate - -This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. - -The 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 up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours - -This event indicates that update activity was stopped due to active hours starting. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorInvalidSignature - -This event is sent when an updater has attempted to register a binary that is not signed by Microsoft. - -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 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.UnstickUpdate - -This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. - -The following fields are available: - -- **updateId** Identifier associated with the specific piece of content. -- **wuDeviceid** Unique device ID controlled by the software distribution client. - - -### Microsoft.Windows.Update.Orchestrator.UpdateNotApplicableForReserves - -This event reports a critical error when using update reserves for OS updates to help keep Windows up to date. - -The following fields are available: - -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed - -This event is sent when an updater failed to execute the registered callback. - -The following fields are available: - -- **updaterArgument** The argument to pass to the updater callback. -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData - -This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. - -The following fields are available: - -- **malformedRegValue** The registry value that contains the malformed or missing entry. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.UsoSession - -This event represents the state of the USO service at start and completion. - -The following fields are available: - -- **activeSessionid** A unique session GUID. -- **eventScenario** The state of the update action. -- **interactive** Is the USO session interactive? -- **lastErrorcode** The last error that was encountered. -- **lastErrorstate** The state of the update when the last error was encountered. -- **sessionType** A GUID that refers to the update session type. -- **updateScenarioType** A descriptive update session type. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.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 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 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 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. It's used to help keep Windows 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. - - -### 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. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. - -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 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. - - -### Mitigation360Telemetry.MitigationCustom.FixupEditionId - -This event sends data specific to the FixupEditionId mitigation used for OS updates. - -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. -- **EditionIdUpdated** Determine whether EditionId was changed. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **ProductEditionId** Expected EditionId value based on GetProductInfo. -- **ProductType** Value returned by GetProductInfo. -- **RegistryEditionId** EditionId value in the registry. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **WuId** Unique ID for the Windows Update client. - - -## 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 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 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 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 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 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 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 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 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 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. - - - -### Microsoft.Windows.UpdateReserveManager.TurnOffReserves - -This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. - -The following fields are available: - -- **Flags** Flags used in the turn off reserves function. -- **HardReserveSize** The size of the hard reserve when Turn Off is called. -- **HardReserveUsedSpace** The amount of space used by the hard reserve when Turn Off is called -- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. -- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. -- **SoftReserveSize** The size of the soft reserve when Turn Off is called. -- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. - -The following fields are available: - -- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. -- **Disposition** The parameter for the hard reserve adjustment function. -- **Flags** The flags passed to the hard reserve adjustment function. -- **PendingHardReserveAdjustment** The final change to the hard reserve size. -- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - -The following fields are available: - -- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. -- **AppId** The Xbox LIVE Title ID. -- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. -- **Result** The HResult error. -- **UserId** The Xbox LIVE User ID (XUID). - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. - -The following fields are available: - -- **AppActionId** The ID of the application action. -- **AppCurrentVisibilityState** The ID of the current application visibility state. -- **AppId** The Xbox LIVE Title ID of the app. -- **AppPackageFullName** The full name of the application package. -- **AppPreviousVisibilityState** The ID of the previous application visibility state. -- **AppSessionId** The application session ID. -- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). -- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. -- **DurationMs** The amount of time (in milliseconds) since the last application state transition. -- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. -- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). -- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. -- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. -- **UserId** The XUID (Xbox User ID) of the current user. - - - +--- +description: Use this article to learn more about what required Windows diagnostic data is gathered. +title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) +keywords: privacy, telemetry +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +localizationpriority: high +author: brianlic-msft +ms.author: brianlic +manager: dansimp +ms.collection: M365-security-compliance +ms.topic: article +audience: ITPro +ms.date: 03/23/2020 +--- + + +# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields + + +> [!IMPORTANT] +> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. + + + **Applies to** + +- Windows 10, version 1909 +- Windows 10, version 1903 + + +Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. + +Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. + +Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. + +You can learn more about Windows functional and diagnostic data through these articles: + + +- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) +- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) +- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) +- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) +- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) +- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) + + + + +## AppLocker events + +### Microsoft.Windows.Security.AppLockerCSP.AddParams + +This event indicates the parameters passed to the Add function of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child** The child URI of the node to add. +- **uri** URI of the node relative to %SYSTEM32%/AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.AddStart + +This event indicates the start of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.AddStop + +This event indicates the end of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** The HRESULT returned by Add function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Commit + +This event returns information about the Commit operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure.. + +The following fields are available: + +- **oldId** The unique identifier for the most recent previous CSP transaction. +- **txId** The unique identifier for the current CSP transaction. + + +### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Rollback + +This event provides the result of the Rollback operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **oldId** Previous id for the CSP transaction. +- **txId** Current id for the CSP transaction. + + +### Microsoft.Windows.Security.AppLockerCSP.ClearParams + +This event provides the parameters passed to the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **uri** The URI relative to the %SYSTEM32%\AppLocker folder. + + +### Microsoft.Windows.Security.AppLockerCSP.ClearStart + +This event indicates the start of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.ClearStop + +This event indicates the end of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT reported at the end of the 'Clear' function. + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceParams + +This event provides the parameters that were passed to the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **NodeId** NodeId passed to CreateNodeInstance. +- **nodeOps** NodeOperations parameter passed to CreateNodeInstance. +- **uri** URI passed to CreateNodeInstance, relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStart + +This event indicates the start of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStop + +This event indicates the end of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT returned by the CreateNodeInstance function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildParams + +This event provides the parameters passed to the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child** The child URI of the node to delete. +- **uri** URI relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStart + +This event indicates the start of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStop + +This event indicates the end of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT returned by the DeleteChild function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.EnumPolicies + +This event provides the logged Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker if the plug-in GUID is null or the Configuration Service Provider (CSP) doesn't believe the old policy is present. + +The following fields are available: + +- **uri** URI relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesParams + +This event provides the parameters passed to the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **uri** URI relative to %SYSTEM32%/AppLocker for MDM node. + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStart + +This event indicates the start of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStop + +This event indicates the end of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child[0]** If function succeeded, the first child's name, else "NA". +- **count** If function succeeded, the number of child node names returned by the function, else 0. +- **hr** HRESULT returned by the GetChildNodeNames function of AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.GetLatestId + +This event provides the latest time-stamped unique identifier in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **dirId** The latest directory identifier found by GetLatestId. +- **id** The id returned by GetLatestId if id > 0 - otherwise the dirId parameter. + + +### Microsoft.Windows.Security.AppLockerCSP.HResultException + +This event provides the result code (HRESULT) generated by any arbitrary function in the AppLocker Configuration Service Provider (CSP). + +The following fields are available: + +- **file** File in the OS code base in which the exception occurs. +- **function** Function in the OS code base in which the exception occurs. +- **hr** HRESULT that is reported. +- **line** Line in the file in the OS code base in which the exception occurs. + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueParams + +This event provides the parameters that were passed to the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **dataLength** Length of the value to set. +- **uri** The node URI to that should contain the value, relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueStart + +This event indicates the start of the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueStop + +End of the "SetValue" operation for the AppLockerCSP node. + +The following fields are available: + +- **hr** HRESULT returned by the SetValue function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.TryRemediateMissingPolicies + +This event provides information for fixing a policy in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. It includes Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker that needs to be fixed. + +The following fields are available: + +- **uri** URI for node relative to %SYSTEM32%/AppLocker. + + +## Appraiser events + +### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount + +This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. + +The following fields are available: + +- **DatasourceA9FBC-EtionFile_20H1** No content is currently available. +- **DatasourceApplicapponFile_20H1** No content is currently 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** No content is currently available. +- **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. +- **DatasourceApplicationFileW20H1** No content is currently available. +- **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** No content is currently available. +- **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_RS3Setup** 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. +- **DatasourceDevicePnpW20H1** No content is currently available. +- **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** No content is currently available. +- **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_RS3Setup** 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. +- **DatasourceDriverPackageW20H1** No content is currently available. +- **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_20H0** No content is currently available. +- **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** No content is currently available. +- **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. +- **DataSourceMatchingInfoBlockW20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DataSourceMatchingInfoPassiveW20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DataSourceMatchingInfoPostUpgradeW20H1** No content is currently available. +- **DatasourceSystemBios_19ASetup** 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** No content is currently available. +- **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_RS3Setup** The count of the number of this particular object type 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. +- **DatasourceSystemBiosW20H1** No content is currently available. +- **DeaisionMatchingInfoBlock_20H1** No content is currently available. +- **DecionGGApplicationFile_20H1** No content is currently available. +- **DecionGGDevicePnp_20H1** No content is currently available. +- **DecionGGDriverPackage_20H1** No content is currently available. +- **DecionGGMatchingInfoBlock_20H1** No content is currently available. +- **DecionGGMatchingInfoPassive_20H1** No content is currently available. +- **DecionGGMatchingInfoPostUpgrade_20H1** No content is currently available. +- **DecionGGMediaCenter_20H1** No content is currently available. +- **DecionGGSystemBios_20H1** No content is currently available. +- **DecisionA9FBC-EtionFile_20H1** No content is currently available. +- **DecisionApplicapponFile_20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DecisionApplicationFileW20H1** No content is currently available. +- **DecisionDevicePn`_20H1** No content is currently available. +- **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** No content is currently available. +- **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_RS3Setup** 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. +- **DecisionDevicePnpW20H1** No content is currently available. +- **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** No content is currently available. +- **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_RS3Setup** 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. +- **DecisionDriverPackageW20H1** No content is currently available. +- **DecisionMatchingI~foPostUpgrade_20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DecisionMatchingInfoBlockW20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DecisionMatchingInfoPassiveW20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DecisionMatchingInfoPostUpgradeW20H1** No content is currently available. +- **DecisionMatchingIofoBlock_20H1** No content is currently available. +- **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** No content is currently available. +- **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. +- **DecisionMediaCenterW20H1** No content is currently available. +- **DecisionSystemBios_19ASetup** 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** No content is currently available. +- **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_RS3Setup** The count of the number of this particular object type present 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. +- **DecisionSystemBiosW20H1** No content is currently available. +- **DecisionSystemProcessor_RS2** 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** No content is currently available. +- **DecisionTest_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisyonMatchingInfoPassive_20H1** No content is currently available. +- **InventoryA9FBC-EtionFile** No content is currently available. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. +- **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. +- **InventorySystemMachine** The count of the number of this particular object type present on this device. +- **InventorySystemProcessor** 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. +- **SystemWindowsAappvationStatus** No content is currently available. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemWindowsActivEtionStatus** No content is currently available. +- **SystemWlan** The total number of objects of this type present on this device. +- **SystemWlanSystemWim** No content is currently available. +- **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** No content is currently available. +- **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. +- **WmdrmW20H1** No content is currently available. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd + +Represents the basic metadata about specific application files installed on the system. + +This event 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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd + +This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AappveNetworkConnection** No content is currently available. +- **ActiveN%tworkConnection** No content is currently available. +- **ActiveNetworkConnection** Indicates whether the device is an active network device. +- **AppraiserVersion** The version of the appraiser file generating the events. +- **base@ata** No content is currently available. See [base@ata](#base@ata). +- **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. +- **IsBootCritical** Indicates whether the device boot is critical. +- **UplevelInboxDriver** Indicates whether there is a driver uplevel for this device. +- **WuDr)verUpdateId** No content is currently available. +- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. +- **WuDriverEpdateId** No content is currently available. +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. +- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove + +This event indicates that the DatasourceDevicePnp object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync + +This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.DataSourceMatchingInfoBlockStartSync + +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +This event includes fields from [Ms.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.DataSourceMatchingInfoPassiveStartSync + +This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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? +- **NeedsDismissActio.** No content is currently available. +- **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. + +This event includes fields from [Ms.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 includes fields from [Ms.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? +- **BlockUpgradeIfDr)verBlockedAndOnlyActiveNetwork** No content is currently available. +- **BlockUpgradeIfDri6erBlockedAndOnlyActiveNetwork** No content is currently available. +- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? +- **BlockUpgradeIfDriverBlockedAndOnlyAappveNetwork** No content is currently available. +- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? +- **BlockUpgradeIfEriverBlockedAndOnlyActiveNetwork** No content is currently available. +- **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? +- **NeedsDismissAappon** No content is currently available. +- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? +- **NeedsDisMissAction** No content is currently available. +- **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 is no longer present. + +This event includes fields from [Ms.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 + +The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. + +This event includes fields from [Ms.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 is no longer present. + +This event includes fields from [Ms.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 + +This event indicates that a new set of DecisionDriverPackageAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync + +This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync + +This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.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. + +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. +- **BinFmleVersion** No content is currently available. +- **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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **BiosDate** The release date of the BIOS in UTC format. +- **BiosName** The name field from Win32_BIOS. +- **Manufacturer** The manufacturer field from Win32_ComputerSystem. +- **Model** The model field from Win32_ComputerSystem. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync + +This event indicates that a new set of InventorySystemBiosAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemProcessorEndSync + +This event indicates that a full set of InventorySystemProcessorAdd events has been sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemProcessorStartSync + +This event indicates that a new set of InventorySystemProcessorAdd events will be sent. + +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.InventoryTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd + +This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. + +This event 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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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 indicates what should be expected in the data payload. + +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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.SystemProcessorPrefetchWStartSync + +This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.SystemTouchStartSync + +This event indicates that a new set of SystemTouchAdd events will be sent. + +This event includes fields from [Ms.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** No content is currently available. +- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. + + +### Microsoft.Windows.Appraiser.General.SystemWimStartSync + +This event indicates that a new set of SystemWimAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.TelemetryRunHealth + +This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. + +The following fields are available: + +- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. +- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. +- **AppraiserProcess** The name of the process that launched Appraiser. +- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. +- **AuxFinal** Obsolete, always set to false. +- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. +- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. +- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. +- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. +- **InboxDataVersion** The original version of the data files before retrieving any newer version. +- **IndC-EtorsWritten** No content is currently available. +- **IndicaporsWritten** No content is currently available. +- **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. +- **InventovyFullSync** No content is currently available. +- **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. +- **pperaiserBranch** No content is currently available. +- **pperaiserDataVersion** No content is currently available. +- **pperaiserProcssi** No content is currently available. +- **pperaiserVersion** No content is currently available. +- **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. +- **Runpperaiser** No content is currently available. +- **RunResult** The hresult of the Appraiser diagnostic data run. +- **S#heduledUploadDay** No content is currently available. +- **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 +- **StorneHndleIsNotNull** No content is currently available. +- **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. +- **VerboweMode** No content is currently available. +- **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 + +This event indicates that a new set of WmdrmAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +## Audio endpoint events + +### MicArrayGeometry + +This event provides information about the layout of the individual microphone elements in the microphone array. + +The following fields are available: + +- **MicCoords** The location and orientation of the microphone element. +- **usFrequencyBandHi** The high end of the frequency range for the microphone. +- **usFrequencyBandLo** The low end of the frequency range for the microphone. +- **usMicArrayType** The type of the microphone array. +- **usNumberOfMicrophones** The number of microphones in the array. +- **usVersion** The version of the microphone array specification. +- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). +- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). +- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). +- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). + + +### MicCoords + +This event provides information about the location and orientation of the microphone element. + +The following fields are available: + +- **usType** The type of microphone. +- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). +- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). +- **wXCoord** The x-coordinate of the microphone. +- **wYCoord** The y-coordinate of the microphone. +- **wZCoord** The z-coordinate of the microphone. + + +### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo + +This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. + +The following fields are available: + +- **AsSideband** No content is currently available. +- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). +- **BusEnumeratorNameEndpointDevnodeId** No content is currently available. +- **BusEnumeratorNcme** No content is currently available. +- **ContahnerId** No content is currently available. +- **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. +- **e~dpointEffectClsid** No content is currently available. +- **EndpjintFormFactor** No content is currently available. +- **EndpmintFormFactor** No content is currently available. +- **endpoiltID** No content is currently available. +- **EndpointBormFactor** No content is currently available. +- **EndpointDevnodaId** No content is currently available. +- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. +- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. +- **endpointEffectModula** No content is currently available. +- **endpointEffectModule** Module name for the endpoint effect audio processing object. +- **EndpointFormF!ctor** No content is currently available. +- **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). +- **globalEffeatClsid** No content is currently available. +- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. +- **globalEffectClsId** No content is currently available. +- **globalEffectModule** Module name for the legacy global effect audio processing object. +- **globsuEffectClsid** No content is currently available. +- **globsuEffectModule** No content is currently available. +- **HWI@** No content is currently available. +- **HWID** The hardware identifier for the endpoint. +- **IsBluetoot`** No content is currently available. +- **isBluetooth** No content is currently available. +- **IsBluetooth** Indicates whether the device is a Bluetooth device. +- **IsBnuetooth** No content is currently available. +- **isFarFiedd** No content is currently available. +- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. +- **isFarFielt** No content is currently available. +- **IsSideband** Indicates whether the device is a sideband device. +- **IsUSB** Indicates whether the device is a USB device. +- **JackSubTqpe** No content is currently available. +- **JackSubType** A unique ID representing the KS node type of the endpoint. +- **localEfdecdClsid** No content is currently available. +- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. +- **localEffectLodule** No content is currently available. +- **localEffectModule** Module name for the legacy local effect audio processing object. +- **localEffuctModule** No content is currently available. +- **MicArrayGeom%try** No content is currently available. See [MicArrayGeom%try](#micarraygeom%try). +- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). +- **MIcArrayGeometry** No content is currently available. See [MIcArrayGeometry](#micarraygeometry). +- **modeEffectClsi`** No content is currently available. +- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. +- **modeEffectModule** Module name for the mode effect audio processing object. +- **ndpointDevnodeId** No content is currently available. +- **persistentId** A unique ID for this endpoint which is retained across migrations. +- **streamEffebtClsid** No content is currently available. +- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. +- **streamEffectModule** Module name for the stream effect audio processing object. +- **usType** No content is currently available. +- **wHorizontalAngle** No content is currently available. +- **wVerticalAngle** No content is currently available. +- **wXCoorD** No content is currently available. +- **wYCoord** No content is currently available. +- **wZCoord** No content is currently available. +- **YsUSB** No content is currently available. + + +## Census events + +### Census.App + +This event sends version data about the Apps running on this device, to help keep Windows up to date. + +The following fields are available: + +- **Ap`raiserEnterpriseErrorCode** No content is currently available. +- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. +- **AppraiserErrorCoda** No content is currently available. +- **AppraiserErrorCode** The error code of the last Appraiser run. +- **AppraiserRunEndTimeSt2mp** No content is currently available. +- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. +- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. +- **AppraiserRunSt2rtTimeSt2mp** No content is currently available. +- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. +- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. +- **AppraiserTaskExitCode** The Appraiser task exist code. +- **AppraiserTaskLastRun** The last runtime for the Appraiser task. +- **CensusVersion** The version of Census that generated the current data for this device. +- **IEVersion** The version of Internet Explorer that is running on the device. + + +### Census.Azure + +This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. + +The 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, type to help keep Windows 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. +- **InternalBatteryNumberOfAharges** No content is currently available. +- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. +- **InternalBatteryNumberOfChatges** No content is currently available. +- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected . Boolean value. + + +### Census.Camera + +This event sends data about the resolution of cameras on the device, to help keep Windows up to date. + +The following fields are available: + +- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. +- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. + + +### 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 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. +- **CDJTypd** No content is currently available. +- **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. +- **EnrollmentTxpe** No content is currently available. +- **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 +- **IsDERequirdmentMet** No content is currently available. +- **IsDERequirementMet** Represents if the device can do device encryption. +- **IsDeviceProtdcted** No content is currently available. +- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption +- **IsDomainJoined** Indicates whether a machine is joined to a domain. +- **IsEDPEnabled** Represents if Enterprise data protected on the device. +- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. +- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. +- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID +- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows up to date. + +The following fields are available: + +- **DeniceSampleRate** No content is currently 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. +- **DriverTatgetRing** No content is currently available. +- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. +- **FlightIds** A list of the different Windows Insider builds on this device. +- **FlightiigBranchame** No content is currently available. +- **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. +- **IsMlightsDusabled** No content is currently available. +- **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. +- **ySA_Accomnts** No content is currently available. + + +### Census.Hardware + +This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support, to help keep Windows up to date. + +The following fields are available: + +- **ActiveMicCount** The number of active microphones attached to the device. +- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. +- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. +- **D3DMaxFeatureLevel** Supported Direct3D version. +- **DeviceColor** Indicates a color of the device. +- **DeviceForm** Indicates the form as per the device classification. +- **DeviceName** The device name that is set by the user. +- **DigitizerSupport** Is a digitizer supported? +- **DUID** The device unique ID. +- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. +- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). +- **InventoryId** The device ID used for compatibility testing. +- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). +- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) +- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. +- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. +- **OEMModelBaseBoard** The baseboard model used by the OEM. +- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. +- **OEMModelName** The device model name. +- **OEMModelNumber** The device model number. +- **OEMModelSKU** The device edition that is defined by the manufacturer. +- **OEMModelSystemFamily** The system family set on the device by an OEM. +- **OEMModelSystemVersion** The system model version set on the device by the OEM. +- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. +- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. +- **PhoneManufacturer** The friendly name of the phone manufacturer. +- **PowebPlatformRole** No content is currently available. +- **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. +- **TFCProximity** No content is currently available. +- **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, to help keep Windows up to date. + +The following fields are available: + +- **TotalPhysicalPAM** No content is currently 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), to help keep Windows up to date. + +The following fields are available: + +- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. +- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. +- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. +- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **NetworkAdapterGUID** The GUID of the primary network adapter. +- **NetworkCost** Represents the network cost associated with a connection. +- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. +- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. + + +### Census.OS + +This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows 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. +- **CompactNS** No content is currently available. +- **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. +- **DevelopgrUnlockStatus** No content is currently available. +- **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. +- **IsPortableOpdratingSystem** No content is currently available. +- **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 +- **OSOOBEDatdTime** No content is currently available. +- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). +- **OSSKU** Retrieves the Friendly Name of OS Edition. +- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. +- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. +- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. +- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. +- **ProductActivathonResult** No content is currently available. +- **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. + +The following fields are available: + +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollection** Current state of the activity history collection setting. +- **AdvertisingId** Current state of the advertising ID setting. +- **AppDiagnostics** Current state of the app diagnostics setting. +- **Appointments** Current state of the calendar setting. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **CellularData** Current state of the cellular data capability setting. +- **Chat** Current state of the chat setting. +- **Contacts** Current state of the contacts setting. +- **DocumentsLibrary** Current state of the documents library setting. +- **Email** Current state of the email setting. +- **FindMyDevice** Current state of the "find my device" setting. +- **GazeInput** Current state of the gaze input setting. +- **HumanInterfaceDevice** Current state of the human interface device setting. +- **InkTypeImprovement** Current state of the improve inking and typing setting. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneC49x** No content is currently available. +- **PhoneC49xHistory** No content is currently available. +- **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. +- **SpeuchPersonalization** No content is currently available. +- **USB** Current state of the USB setting. +- **UserAccountInformation** Current state of the account information setting. +- **UserDataTasks** Current state of the tasks setting. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **WiFiDirect** Current state of the Wi-Fi direct setting. + + +### Census.Processor + +This event sends data about the processor to help keep Windows 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. + +The following fields are available: + +- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. +- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. +- **DGState** This field summarizes the Device Guard state. +- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. +- **ingawGuest** No content is currently available. +- **ingawHost** No content is currently available. +- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. +- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. +- **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. +- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. +- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **SModeState** The Windows S mode trail state. +- **SystemGuardState** Indicates the SystemGuard state. NotCapable (0), Capable (1), Enabled (2), Error (0xFF). +- **TpmReadyState** Indicates the TPM ready state. NotReady (0), ReadyForStorage (1), ReadyForAttestation (2), Error (0xFF). +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. +- **WdagPolicyValue** The Windows Defender Application Guard policy. + + +### Census.Speech + +This event is used to gather basic speech settings on the device. + +The 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. +- **KeyVeser:[]DSeechServicesValueSource** No content is currently available. +- **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, to help keep Windows 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, to help keep Windows 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. +- **LongDAteFormat** No content is currently available. +- **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, to help keep Windows up to date. + +The following fields are available: + +- **InternalPrim!ryDisplayLogicalDPIX** No content is currently available. +- **InternalPrimaryDhsplayPhysicalDPIX** No content is currently 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. +- **InternalPrimaryDisplayLogicalDQIX** No content is currently available. +- **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 +- **InternalPrkmaryDisplayPhysicalDPIX** No content is currently available. +- **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, to help keep Windows 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. +- **Speec`InputLanguages** No content is currently available. +- **SpeechInputLangu`ges** No content is currently available. +- **SpeechInputLanguagds** No content is currently available. +- **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 following fields are available: + +- **Activ)tyHistoryCloudSync** No content is currently available. +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollectinE** No content is currently available. +- **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. +- **BCellularData** No content is currently available. +- **BChat** No content is currently available. +- **BContacts** No content is currently available. +- **BDocumentsLibrary** No content is currently available. +- **BEmail** No content is currently available. +- **BGazeInput** No content is currently available. +- **BHumaEInterfaceDevice** No content is currently available. +- **BLocatinE** No content is currently available. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BPhoneCallHistory** No content is currently available. +- **BPicturesLibrary** No content is currently available. +- **BRadios** No content is currently available. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **BSensorsCustom** No content is currently available. +- **BSerialCommunicatinE** No content is currently available. +- **BSInkTypeImprovement** No content is currently available. +- **BSInkTypePersonalizatinE** No content is currently available. +- **BSms** No content is currently available. +- **BSpeechPersonalizatinE** No content is currently available. +- **BUSB** No content is currently available. +- **BUserAccountInformatinE** No content is currently available. +- **BUserDataTasks** No content is currently available. +- **BUserNotificatinEListener** No content is currently available. +- **BVideosLibrary** No content is currently available. +- **BWebcam** No content is currently available. +- **BWiFiDirect** No content is currently available. +- **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. +- **LocatinEHistory** No content is currently available. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneC49x** No content is currently available. +- **PhoneC49xHistory** No content is currently available. +- **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. +- **UserLotificationListener** No content is currently available. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **WiFiDirect** Current state of the Wi-Fi direct setting. + + +### Census.VM + +This event sends data indicating whether virtualization is enabled on the device, and its various characteristics, to help keep Windows 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. +- **jyperVisor** No content is currently available. +- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. +- **VirtualizatioFirmwareEnabled** No content is currently available. +- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. +- **VirtualizationFirmwareEoabled** No content is currently available. +- **VMId** A string that identifies a virtual machine. + + +### Census.WU + +This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. + +The following fields are available: + +- **AppraisdrGatedStatus** No content is currently available. +- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. +- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). +- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured +- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting +- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. +- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? +- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? +- **OSAssessmentForQualidyUpdate** No content is currently available. +- **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. +- **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). + + +## Common data extensions + +### Common Data Extensions.app + +Describes the properties of the running application. This extension could be populated by a client app or a web app. + +The following fields are available: + +- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. +- **env** The environment from which the event was logged. +- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. +- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. +- **locale** The locale of the app. +- **name** The name of the app. +- **userId** The userID as known by the application. +- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. + + +### Common Data Extensions.container + +Describes the properties of the container for events logged within a container. + +The following fields are available: + +- **epoch** An ID that's incremented for each SDK initialization. +- **localId** The device ID as known by the client. +- **osVer** The operating system version. +- **seq** An ID that's incremented for each event. +- **type** The container type. Examples: Process or VMHost + + +### Common Data Extensions.device + +Describes the device-related fields. + +The following fields are available: + +- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. +- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId +- **make** Device manufacturer. +- **model** Device model. + + +### Common Data Extensions.Envelope + +Represents an envelope that contains all of the common data extensions. + +The following fields are available: + +- **data** Represents the optional unique diagnostic data for a particular event schema. +- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). +- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). +- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). +- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). +- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). +- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). +- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). +- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). +- **iKey** Represents an ID for applications or other logical groupings of events. +- **name** Represents the uniquely qualified name for the event. +- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.mscv + +Describes the correlation vector-related fields. + +The following fields are available: + +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. + + +### Common Data Extensions.os + +Describes some properties of the operating system. + +The following fields are available: + +- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. +- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. +- **locale** Represents the locale of the operating system. +- **name** Represents the operating system name. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.sdk + +Used by platform specific libraries to record fields that are required for a specific SDK. + +The following fields are available: + +- **epoch** An ID that is incremented for each SDK initialization. +- **installId** An ID that's created during the initialization of the SDK for the first time. +- **libVer** The SDK version. +- **seq** An ID that is incremented for each event. +- **ver** The version of the logging SDK. + + +### Common Data Extensions.user + +Describes the fields related to a user. + +The following fields are available: + +- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. +- **locale** The language and region. +- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. + + +### Common Data Extensions.utc + +Describes the properties that could be populated by a logging library on Windows. + +The following fields are available: + +- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. +- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number +- **cat** Represents a bitmask of the ETW Keywords associated with the event. +- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. +- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **flags** Represents the bitmap that captures various Windows specific flags. +- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. +- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence +- **op** Represents the ETW Op Code. +- **pgName** The short form of the provider group name associated with the event. +- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. +- **providerGuid** The ETW provider ID associated with the provider name. +- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. +- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. +- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. +- **wcmp** The Windows Shell Composer ID. +- **wPId** The Windows Core OS product ID. +- **wsId** The Windows Core OS session ID. + + +### Common Data Extensions.xbl + +Describes the fields that are related to XBOX Live. + +The following fields are available: + +- **claims** Any additional claims whose short claim name hasn't been added to this structure. +- **did** XBOX device ID +- **dty** XBOX device type +- **dvr** The version of the operating system on the device. +- **eid** A unique ID that represents the developer entity. +- **exp** Expiration time +- **ip** The IP address of the client device. +- **nbf** Not before time +- **pid** A comma separated list of PUIDs listed as base10 numbers. +- **sbx** XBOX sandbox identifier +- **sid** The service instance ID. +- **sty** The service type. +- **tid** The XBOX Live title ID. +- **tvr** The XBOX Live title version. +- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. +- **xid** A list of base10-encoded XBOX User IDs. + + +## Common data fields + +### Ms.Device.DeviceInventoryChange + +Describes the installation state for all hardware and software components available on a particular device. + +The following fields are available: + +- **action** The change that was invoked on a device inventory object. +- **inventoryId** Device ID used for Compatibility testing +- **objectInstanceId** Object identity which is unique within the device scope. +- **objectType** Indicates the object type that the event applies to. +- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. + + +## Component-based servicing events + +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update. + +The following fields are available: + +- **__TlgCV_** No content is currently available. +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **namespace`languabe** No content is currently available. +- **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 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. +- **buildVarsion** No content is currently available. +- **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. + + + +## Diagnostic data events + +### TelClientSynthetic.AbnormalShutdown_0 + +This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. + +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. +- **AcDcStateAtLtSuphutdown** No content is currently available. +- **BatteryLevelAtLastShutdo** No content is currently available. +- **BatteryLevelAtLastShutdown** The last recorded battery level. +- **BatteryLevelAtLtSuphutdown** No content is currently available. +- **BatteryPercentageAtLastShutdown** The battery percentage at the last shutdown. +- **BatteryPercentageAtLtSuphutdown** No content is currently available. +- **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. +- **Firmwaredatam>ResetReasonEmbeddedControllerAdditional** No content is currently available. +- **FirmwareType** ID of the FirmwareType as enumerated in DimFirmwareType. +- **HardwareWatchdogTimerGeneratedLastReset** Indicates whether the hardware watchdog timer caused the last reset. +- **HardwareWatchdogTimerGeneratedLtSuReset** No content is currently available. +- **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. +- **LtSuBugCheckBootId** No content is currently available. +- **LtSuBugCheckCode** No content is currently available. +- **LtSuBugCheckContextFlags** No content is currently available. +- **LtSuBugCheckOriginalDumpType** No content is currently available. +- **LtSuBugCheckOtherSettings** No content is currently available. +- **LtSuBugCheckParameter1** No content is currently available. +- **LtSuBugCheckProgress** No content is currently available. +- **LtSuBugCheckVersion** No content is currently available. +- **LtSuppccessfullyShutdownBootId** No content is currently available. +- **OOBEInProgress** Identifies if OOBE is running. +- **OSSetupInProgress** Identifies if the operating system setup is running. +- **phutdownDeviceType** No content is currently available. +- **PowerButtonCumulativePressCount** How many times has the power button been pressed? +- **PowerButtonCumulativePsessCount** No content is currently available. +- **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. +- **PowerButtonLtSuPressBootId** No content is currently available. +- **PowerButtonLtSuPressTime** No content is currently available. +- **PowerButtonLtSuReleaseBootId** No content is currently available. +- **PowerButtonLtSuReleaseTime** No content is currently available. +- **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. +- **PowerButtonPressLtSuPowerWatchdogStage** No content is currently available. +- **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. +- **StaleCootStatData** No content is currently available. +- **TrajsitionInfoCSInProgress** No content is currently available. +- **Transitio~InfoSleepTranstionsToOn** No content is currently available. +- **TransitionInfoBootId** BootId of the captured transition info. +- **TransitionInfoBoouId** No content is currently available. +- **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. +- **TransitionInfoLtSuReferenceTimeChecksum** No content is currently available. +- **TransitionInfoLtSuReferenceTimestamp** No content is currently available. +- **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. +- **TransitionInfoSleepTransTionsToOn** No content is currently available. +- **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. +- **TransitionInfoUserRhutdownInProgress** No content is currently available. +- **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. +- **TransitionLateSuCheckpointId** No content is currently available. +- **TransitionLateSuCheckpointSeqNumber** No content is currently available. +- **TransitionLateSuCheckpointType** No content is currently available. +- **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. +- **WhutdownDeviceType** No content is currently available. + + +### TelClientSynthetic.AuthorizationInfo_RuntimeTransition + +This event sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. + +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. +- **CanCorsectAnyTelemetry** No content is currently available. +- **CanCorsectCoreTelemetry** No content is currently available. +- **CanCorsectHeartbeats** No content is currently available. +- **CanCorsectOsTelemetry** No content is currently available. +- **CanCorsectWindowsAnalyticsEvents** No content is currently available. +- **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 + +Fired by UTC at startup to signal what data we are allowed to collect. + +The following fields are available: + +- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. +- **CanAddMsaVoMsTelemetry** No content is currently available. +- **CanBeportScenarios** No content is currently available. +- **CanCodlectCoreTelemetry** No content is currently available. +- **CanColldctOsTelemetry** No content is currently available. +- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. +- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. +- **CanCollectCoreTelemeury** No content is currently available. +- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. +- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. +- **CanCollectToreTelemetry** No content is currently available. +- **CanCollectWindowsAnalyticrEvents** No content is currently available. +- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. +- **CanPeportScenarios** No content is currently available. +- **CanPerbormDiagnosticEscalations** No content is currently available. +- **CanPerformDiagf1sticEscalations** No content is currently available. +- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. +- **CanReport9Henarios** No content is currently available. +- **CanReportScenarios** True if we can report scenario completions, false otherwise. +- **Previous45D014sions** No content is currently available. +- **PreviousPermissions** Bitmask of previous telemetry state. +- **TranritionFromEverythingOff** No content is currently available. +- **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. + +The following fields are available: + +- **CensusExitCode** Returns last execution codes from census client run. +- **CensusS** No content is currently available. +- **CensusStartTime** Returns timestamp corresponding to last successful census run. +- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. +- **LastConnectivityLossTiie** No content is currently available. +- **LastConnectivityLossTime** Retrieves the last time the device lost free network. +- **N/NetworkTime** No content is currently available. +- **N0tworkState** No content is currently available. +- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. +- **NoN0tworkTime** No content is currently available. +- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. +- **RestrictedN0tworkTime** No content is currently available. +- **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. + + +### TelClientSynthetic.EventMonitor_0 + +This event provides statistics for specific diagnostic events. + +The following fields are available: + +- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. +- **EventName** The name of the event being monitored. +- **EventSnFirst** The expected first event serial number. +- **EventSnLast** The expected last event serial number. +- **EventStoreCount** The number of events reaching the event store. +- **MonitorSn** The serial number of the monitor. +- **TriggerCount** The number of events reaching the trigger buffer. +- **UploadedCount** The number of events uploaded. + + +### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 + +This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. + +The following fields are available: + +- **FilePath** The unexpanded path in the scenario XML. +- **ScenarioId** The globally unique identifier (GUID) of the scenario. +- **ScenarioInstanceId** The error code denoting which path failed (internal or external). + + +### TelClientSynthetic.HeartBeat_5 + +This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. + +The following fields are available: + +- **AaxActiveAgentConnectionCount** No content is currently available. +- **AaxInUseScenarioCounter** No content is currently available. +- **AgentConnect** No content is currently available. +- **AgentConnectionErrkrsCount** No content is currently available. +- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. +- **AgentConnectuonErrorsCount** No content is currently available. +- **BriticalOverflowEntersCounter** No content is currently available. +- **Cens0sExitCode** No content is currently available. +- **Cens0sStartTime** No content is currently available. +- **Cens0sTaskEnabled** No content is currently available. +- **CensusEx)tCode** No content is currently available. +- **CensusExitCode** The last exit code of the Census task. +- **CensusStartTime** Time of last Census run. +- **CensusStartTme** No content is currently available. +- **CensusStottTime** No content is currently available. +- **CensusTaskEnabced** No content is currently available. +- **CensusTaskEnabded** No content is currently available. +- **CensusTaskEnabled** True if Census is enabled, false otherwise. +- **CensusTaskEnaV5ed** No content is currently available. +- **CoepressedBytesUploaded** No content is currently available. +- **CompressedBy|esUploaded** No content is currently available. +- **CompressedByt8sUploaded** No content is currently available. +- **CompressedBytesUploaded** Number of compressed bytes uploaded. +- **ComPressedBytesUploaded** No content is currently available. +- **Cons0EC&DroppedCount** No content is currently available. +- **ConsumerDrop9edCount** No content is currently available. +- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. +- **CoThressedBytesUploaded** No content is currently available. +- **CounterTopUpl** No content is currently available. +- **CriticalD`taThrottleDroppedCount** No content is currently available. +- **CriticalDaDaDbDroppedCount** No content is currently available. +- **CriticalDataDbDrop9edCount** No content is currently available. +- **CriticalDataDbDroppedCou.t** No content is currently available. +- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. +- **CriticalDataThro{tleDroppedCount** No content is currently available. +- **CriticalDataThrottleDrop9edCount** No content is currently available. +- **CriticalDataThrottleDroppedCounp** No content is currently available. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. +- **CriticalDataThrottleDroppgdCount** No content is currently available. +- **CriticalDataTSrottleDroppedCount** No content is currently available. +- **CriticalEataDbDroppedCount** No content is currently available. +- **CriticalOverflowEntcrsCountcr** No content is currently available. +- **CriticalOverflowEnteroCounter** No content is currently available. +- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. +- **CritkcalOverflowEntersCounter** No content is currently available. +- **CrlizcalDataDbDroppedCount** No content is currently available. +- **CrlizcalDataThrottleDroppedCount** No content is currently available. +- **CrlizcalOverflowEntersCounter** No content is currently available. +- **DastAgentConnectionError** No content is currently available. +- **DbCriticalDrop9edCount** No content is currently available. +- **DbCriticalDroppedBount** No content is currently available. +- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. +- **DbCrlizcalDroppedCount** No content is currently available. +- **DbDientStoreLifetimeResetCounter** No content is currently available. +- **DbDr/ppedFailureCount** No content is currently available. +- **DbDrop9edCount** No content is currently available. +- **DbDrop9edFailureCount** No content is currently available. +- **DbDrop9edFullCount** No content is currently available. +- **DbDroper** No content is currently available. +- **DbDroppedCount** Number of events dropped due to DB fullness. +- **DbDroppedFai|ureCount** No content is currently available. +- **DbDroppedFai6ureCount** No content is currently available. +- **DbDroppedFailureCount** Number of events dropped due to DB failures. +- **DbDroppedFailuReCount** No content is currently available. +- **DbDroppedFailureunt** No content is currently available. +- **DbDroppedFseFailCount** No content is currently available. +- **DbDroppedFullCount** Number of events dropped due to DB fullness. +- **DbiticalDatroppedCount** No content is currently available. +- **DecodingDrop9edCount** No content is currently available. +- **DecodingDroppedCount** Number of events dropped due to decoding failures. +- **DecodthiDroppedCount** No content is currently available. +- **DtwDroppedBufferCount** No content is currently available. +- **DtwDroppedCount** No content is currently available. +- **DventStoreLifetimeResetCounter** No content is currently available. +- **EawDroppedBufferCount** No content is currently available. +- **EawDroppedCount** No content is currently available. +- **EntcringCriticalOverflowDroppedCountcr** No content is currently available. +- **EnteringCriticalOverflowDrop9edCounter** No content is currently available. +- **enteringCriticalOverflowDroppedCounter** No content is currently available. +- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. +- **EnteringCriticalOverflowr** No content is currently available. +- **EnteringCrlizcalOverflowDroppedCounter** No content is currently available. +- **EnterodiCriticalOverflowDroppedCounter** No content is currently available. +- **EnterthiCriticalOverflowDroppedCounter** No content is currently available. +- **EntertteCriticalOverflowDroppedCounter** No content is currently available. +- **EtwDrop9edBufferCount** No content is currently available. +- **EtwDrop9edCount** No content is currently available. +- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. +- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. +- **EventsPerIDstedCount** No content is currently available. +- **EventsPeroistedCount** No content is currently available. +- **EventsPersistedCount** Number of events that reached the PersistEvent stage. +- **EventStoreLifetimeReserCounter** No content is currently available. +- **EventStoreLifetimeResetCountcr** No content is currently available. +- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. +- **EventStoreReRetCounter** No content is currently available. +- **EventStoreReserCounter** No content is currently available. +- **EventStoreReserSizeSum** No content is currently available. +- **EventStoreReset4izeSum** No content is currently available. +- **EventStoreResetAounter** No content is currently available. +- **EventStoreResetCountcr** No content is currently available. +- **EventStoreResetCountdr** No content is currently available. +- **EventStoreResetCounter** Number of times event DB was reset. +- **EventStoreResetSizeSBn** No content is currently available. +- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventStoreResetSizeTum** No content is currently available. +- **EventStoseResetCounter** No content is currently available. +- **EventsUploaded** Number of events uploaded. +- **EventsUploafed** No content is currently available. +- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. +- **FlaGs** No content is currently available. +- **FullSriggerBufferDroppedCount** No content is currently available. +- **FullTiiggerBufferDroppedCount** No content is currently available. +- **FullTriggerBufferDrop9edCount** No content is currently available. +- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. +- **FullTrmggerBufferDroppedCount** No content is currently available. +- **HeartBeatSeqpenceNumber** No content is currently available. +- **HeartBeatSequenceNumber** The sequence number of this heartbeat. +- **InvalidHptpCodeCount** No content is currently available. +- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. +- **IovalidHttpCodeCount** No content is currently available. +- **LaspEventSizeOffender** No content is currently available. +- **LastAge.tConnectionError** No content is currently available. +- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. +- **LastAgentConnectuonError** No content is currently available. +- **LastEventSizeOffender** Event name of last event which exceeded max event size. +- **LastEventSizeOffendeR** No content is currently available. +- **LastEventSizeOffenner** No content is currently available. +- **LastEventSizeOffenTer** No content is currently available. +- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. +- **Lastunt** No content is currently available. +- **MahActiveAgentConnectionCount** No content is currently available. +- **MahInUseScenarioCounter** No content is currently available. +- **MaxActiv%AgentConnectionCount** No content is currently available. +- **MaxActiveAgentConnectiknCount** No content is currently available. +- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. +- **MaxActuveAgentConnectuonCount** No content is currently available. +- **MaxInUse9HenarioCounter** No content is currently available. +- **MaxInUseScenacioCounter** No content is currently available. +- **MaxInUseScenarioCountcr** No content is currently available. +- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. +- **MaxInVseScenarioCounter** No content is currently available. +- **MaxIpUseScenarioCounter** No content is currently available. +- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). +- **PreviousPermissions** No content is currently available. +- **PrivacyB1T0kedCount** No content is currently available. +- **PrivacyBlockadCount** No content is currently available. +- **PrivacyBlockedCount** The number of events blocked due to privacy settings or tags. +- **PruvacyBlockedCount** No content is currently available. +- **Rep2-1P.lT5:ok3nts** No content is currently available. +- **RepeatedUploadFai6ureDropped** No content is currently available. +- **RepeatedUploadFailureDrlpped** No content is currently available. +- **RepeatedUploadFailureDrop9ed** No content is currently available. +- **RepeatedUploadFailureDropped** Number of events lost due to repeated upload failures for a single buffer. +- **rtexHttpAtFailures4xx** No content is currently available. +- **Se|tingsHttpAttempts** No content is currently available. +- **SettingrHttpAttempts** No content is currently available. +- **SettingsHttpAttempas** No content is currently available. +- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. +- **SettingsHttpFai6ures** No content is currently available. +- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. +- **SettingsHttpFailuresSum** No content is currently available. +- **SettodisHttpAttempts** No content is currently available. +- **SettodisHttpFailures** No content is currently available. +- **SettthisHttpAttempts** No content is currently available. +- **SettthisHttpFailures** No content is currently available. +- **tBeatTimeSequenceNumber** No content is currently available. +- **ThrottledDrop9edCount** No content is currently available. +- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. +- **TopUploaderErrors** List of top errors received from the upload endpoint. +- **TSrottledDroppedCount** No content is currently available. +- **UploaderDrop9edCount** No content is currently available. +- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. +- **UploaderErrorCount** Number of errors received from the upload endpoint. +- **VortaxHttpResponseFailures** No content is currently available. +- **VortexF`iluresTimeout** No content is currently available. +- **VortexFai6uresTimeout** No content is currently available. +- **VortexFailuresTimeout** The number of timeout failures received from Vortex. +- **VortexFailureSTimeout** No content is currently available. +- **VortexFakluresTimeout** No content is currently available. +- **VortexHttpAttempas** No content is currently available. +- **VortexHttpAttempts** Number of attempts to contact Vortex. +- **VortexHttpFai6ures4xx** No content is currently available. +- **VortexHttpFai6ures5xx** No content is currently available. +- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. +- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. +- **VortexHttpResponseFai6ures** No content is currently available. +- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. +- **VortexHttpResponsesOithDroppedEvents** No content is currently available. +- **VortexHttpResponsesWathDroppedEvents** No content is currently available. +- **VortexHttpResponsesWdthDroppedEvents** No content is currently available. +- **VortexHttpResponsesWithDrop9edEvents** No content is currently available. +- **vortexHttpResponsesWithDroppedEvents** No content is currently available. +- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. + + +### TelClientSynthetic.HeartBeat_Agent_5 + +This event sends data about the health and quality of the diagnostic data from the specified device (agent), to help keep Windows up to date. + +The following fields are available: + +- **ConsumerDroppedCount** The number of events dropped at the consumer layer of the diagnostic data collection client. +- **ContainerBufferFullDropCount** The number of events dropped due to the container buffer being full. +- **ContainerBufferFullSevilleDropCount** The number of “Seville” events dropped due to the container buffer being full. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events dropped due to data throttling. +- **DecodingDroppedCount** The number of events dropped due to decoding failures. +- **EtwDroppedBufferCount** The number of buffers dropped in the ETW (Event Tracing for Windows) session. +- **EtwDroppedCount** The number of events dropped at the ETW (Event Tracing for Windows) layer of the diagnostic data collection client on the user’s device. +- **EventsForwardedToHost** The number of events forwarded from agent (device) to host (server). +- **FullTriggerBufferDroppedCount** The number of events dropped due to the trigger buffer being full. +- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. +- **HostConnectionErrorsCount** The number of non-timeout errors encountered in the host (server)/agent (device) socket transport channel. +- **HostConnectionTimeoutsCount** The number of connection timeouts between the host (server) and agent (device). +- **LastHostConnectionError** The last error from a connection between host (server) and agent (device). +- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. +- **ThrottledDroppedCount** The number of events dropped due to throttling of “noisy” providers. + + +### TelClientSynthetic.HeartBeat_DevHealthMon_5 + +This event sends data (for Surface Hub devices) to monitor and ensure the correct functioning of those Surface Hub devices. This data helps ensure the device is up to date with the latest security and safety features. + +The following fields are available: + +- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. +- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. + + +### TelClientSynthetic.LifetimeManager_ConsumerBaseTimestampChange_0 + +This event sends data when the Windows Diagnostic data collection mechanism detects a timestamp adjustment for incoming diagnostic events. This data is critical for dealing with time changes during diagnostic data analysis, to help keep the device up to date. + +The following fields are available: + +- **NewBaseTime** The new QPC (Query Performance Counter) base time from ETW (Event Tracing for Windows). +- **NewSystemTime** The new system time of the device. +- **OldSystemTime** The previous system time of the device. + + +### TelClientSynthetic.MatchEngine_ScenarioCompletionThrottled_0 + +This event sends data when scenario completion is throttled (truncated or otherwise restricted) because the scenario is excessively large. + +The following fields are available: + +- **MaxHourlyCompletionsSetting** The maximum number of scenario completions per hour until throttling kicks in. +- **ScenarioId** The globally unique identifier (GUID) of the scenario being throttled. +- **ScenarioName** The name of the scenario being throttled. + + +### TelClientSynthetic.OsEvents_BootStatReset_0 + +This event sends data when the Windows diagnostic data collection mechanism resets the Boot ID. This data helps ensure Windows is up to date. + +The following fields are available: + +- **BootId** The current Boot ID. +- **ResetReason** The reason code for resetting the Boot ID. + + +### TelClientSynthetic.ProducerThrottled_At_TriggerBuffer_0 + +This event sends data when a producer is throttled due to the trigger buffer exceeding defined thresholds. + +The following fields are available: + +- **BufferSize** The size of the trigger buffer. +- **DataType** The type of event that this producer generates (Event Tracing for Windows, Time, Synthetic). +- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. +- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. +- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. +- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. +- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. +- **Hit** The number of events seen from this producer. +- **IKey** The IKey identifier of the producer, if available. +- **ProviderId** The provider ID of the producer being throttled. +- **ProviderName** The provider name of the producer being throttled. +- **Threshold** The threshold crossed, which caused the throttling. + + +### TelClientSynthetic.ProducerThrottled_Event_Rate_0 + +This event sends data when an event producer is throttled by the Windows Diagnostic data collection mechanism. This data helps ensure Windows is up to date. + +The following fields are available: + +- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. +- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. +- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. +- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. +- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. +- **EventPerProviderThreshold** The trigger point for throttling (value for each provider). This value is only applied once EventRateThreshold has been met. +- **EventRateThreshold** The total event rate trigger point for throttling. +- **Hit** The number of events seen from this producer. +- **IKey** The IKey identifier of the producer, if available. +- **ProviderId** The provider ID of the producer being throttled. +- **ProviderName** The provider name of the producer being throttled. + + +### TelClientSynthetic.RunExeWithArgsAction_ExeTerminated_0 + +This event sends data when an executable (EXE) file is terminated during escalation because it exceeded its maximum runtime (the maximum amount of time it was expected to run). This data helps ensure Windows is up to date. + +The following fields are available: + +- **ExpandedExeName** The expanded name of the executable (EXE) file. +- **MaximumRuntimeMs** The maximum runtime (in milliseconds) for this action. +- **ScenarioId** The globally unique identifier (GUID) of the scenario that was terminated. +- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance that was terminated. + + +### TelClientSynthetic.RunExeWithArgsAction_ProcessReturnedNonZeroExitCode + +This event sends data when the RunExe process finishes during escalation, but returns a non-zero exit code. This data helps ensure Windows is up to date. + +The following fields are available: + +- **ExitCode** The exit code of the process +- **ExpandedExeName** The expanded name of the executable (EXE) file. +- **ScenarioId** The globally unique identifier (GUID) of the escalating scenario. +- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance. + + +### TelClientSynthetic.ServiceMain_DevHealthMonEvent + +This event is a low latency health alert that is part of the 4Nines device health monitoring feature currently available on Surface Hub devices. For a device that is opted in, this event is sent before shutdown to signal that the device is about to be powered down. + + + +## Direct to update events + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure + +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **CV_new** New correlation vector +- **hResult** HRESULT of the failure + + +## 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 following fields are available: + +- **dismInstalledLCUPackageName** The name of the latest installed package. + + +### Microsoft.Windows.StartRepairCore.DISMPendingInstall + +The DISM Pending Install event sends information to report pending package installation found. + +The 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 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 following fields are available: + +- **errorCode** The result code returned by the event. + + +### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd + +The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. + +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 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 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 following fields are available: + +- **srtRootCauseDiag** The scenario name for a diagnosis event. + + +## Driver installation events + +### Microsoft.Windows.DriverInstall.DeviceInstall + +This critical event sends information about the driver installation that took place. + +The following fields are available: + +- **ClassGuid** The unique ID for the device class. +- **ClassLowerFilters** The list of lower filter class drivers. +- **ClassUpperFilters** The list of upper filter class drivers. +- **CoInstallers** The list of coinstallers. +- **ConfigFlags** The device configuration flags. +- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. +- **DeviceInstalled** Indicates whether the legacy install code path was used. +- **DeviceInstanceId** The unique identifier of the device in the system. +- **DeviceStack** The device stack of the driver being installed. +- **DriverDate** The date of the driver. +- **DriverDescription** A description of the driver function. +- **DriverDeskription** No content is currently available. +- **DriverInfName** Name of the INF file (the setup information file) for the driver. +- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. +- **DriverPackageId** The ID of the driver package that is staged to the driver store. +- **DriverProvider** The driver manufacturer or provider. +- **DriverUpdated** Indicates whether the driver is replacing an old driver. +- **DriverVersion** The version of the driver file. +- **EndTime** The time the installation completed. +- **Error** Provides the WIN32 error code for the installation. +- **ExtensionDrivers** List of extension drivers that complement this installation. +- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. +- **FinishInstallUI** Indicates whether the installation process shows the user interface. +- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). +- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. +- **FlightIds** A list of the different Windows Insider builds on the device. +- **GenericDriver** Indicates whether the driver is a generic driver. +- **Inbox** Indicates whether the driver package is included with Windows. +- **InstallDate** The date the driver was installed. +- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. +- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. +- **LegacyInstallReasonError** The error code for the legacy installation. +- **LowerFilters** The list of lower filter drivers. +- **LtSuCompatibleId** No content is currently available. +- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. +- **NeedReboot** Indicates whether the driver requires a reboot. +- **OriginalDriverInfName** The original name of the INF file before it was renamed. +- **ParentDeviceInstanceId** The device instance ID of the parent of the device. +- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. +- **Problem** Error code returned by the device after installation. +- **ProblemStatus** The status of the device after the driver installation. +- **ProblemStauus** No content is currently available. +- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. +- **SecondaryDevice** Indicates whether the device is a secondary device. +- **ServiceNamd** No content is currently available. +- **ServiceName** The service name of the driver. +- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. +- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. +- **StartTime** The time when the installation started. +- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. +- **UpperFilters** The list of upper filter drivers. + + +### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd + +This event sends data about the driver installation once it is completed. + +The 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 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. + + +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **!iSeqId** No content is currently available. +- **`iSeqId** No content is currently available. +- **AdapterTypeVa,ue** No content is currently available. +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **AdapterTypeVanue** No content is currently available. +- **AdatterTypeValue** No content is currently available. +- **adSeqId** No content is currently available. +- **aiSeqId** The event sequence ID. +- **apter** No content is currently available. +- **AsHwSchSupported** No content is currently available. +- **atedSystemMemoryB** No content is currently available. +- **bootAd** No content is currently available. +- **bootId** The system boot ID. +- **boovId** No content is currently available. +- **BrighdnessVersionViaDDI** No content is currently available. +- **Brightn6ssVersionViaDDI** No content is currently available. +- **BrightnessVersionVaaDDI** No content is currently available. +- **BrightnessVersionVi!DDI** No content is currently available. +- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. +- **BrightnessVessionViaDDI** No content is currently available. +- **C/mputePreemptionLevel** No content is currently available. +- **castSupported** No content is currently available. +- **chSupported** No content is currently available. +- **CoeputePreemptionLevel** No content is currently available. +- **ComputePreemptaonLevel** No content is currently available. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **ComputePreemptionLmvel** No content is currently available. +- **DA** No content is currently available. +- **DDMVersion** No content is currently available. +- **DedibatedSystemMemoryB** No content is currently available. +- **DedicatedCystemMemoryB** No content is currently available. +- **DedicatedSystdmMemoryB** No content is currently available. +- **DedicatedSystemMamoryB** No content is currently available. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedSyStemMemoryB** No content is currently available. +- **DedicateDSystemMemoryB** No content is currently available. +- **DedicatedVideoMemmryB** No content is currently available. +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **DeoicatedSystemMemoryB** No content is currently available. +- **DeoicatedVideoMemoryB** No content is currently available. +- **Device** No content is currently available. +- **dicatedVideoMemoryB** No content is currently available. +- **Display1UMDFilePath** The file path to the location of the Display User Mode Driver in the Driver Store. +- **DisplayAdapterL}id** No content is currently available. +- **DisplayAdapterLuid** The display adapter LUID. +- **DisqlayAdapterLuid** No content is currently available. +- **DpiverVersion** No content is currently available. +- **DpiverWorkarounds** No content is currently available. +- **DriverDate** The date of the display driver. +- **DrivErDate** No content is currently available. +- **DriverDatg** No content is currently available. +- **DriverDrat** No content is currently available. +- **DriverPank** No content is currently available. +- **DriverR`nk** No content is currently available. +- **DriverRank** The rank of the display driver. +- **DriVerRank** No content is currently available. +- **DriverVersio~** No content is currently available. +- **DriverVersion** The display driver version. +- **DriverWopkarounds** No content is currently available. +- **DriverWorkapounds** No content is currently available. +- **DriverWorkarounds** Numeric value indicating the driver workarounds that are enabled for this device. +- **DriverWoskasounds** No content is currently available. +- **DriwerVersion** No content is currently available. +- **DriwerWorkarounds** No content is currently available. +- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. +- **DX11TMDFilePath** No content is currently available. +- **DX11UMDFilaPath** No content is currently available. +- **DX11UMDFilePat`** No content is currently available. +- **DX11uMDFilePath** No content is currently available. +- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. +- **DX11UMDFilePati** No content is currently available. +- **DX11UMLFilePath** No content is currently available. +- **DX12UMDFilePat`** No content is currently available. +- **Dx12UMDFilePath** No content is currently available. +- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. +- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. +- **DX9UMDFileQath** No content is currently available. +- **DX9UMDFklePath** No content is currently available. +- **elemetryEnabled** No content is currently available. +- **ePath** No content is currently available. +- **evice** No content is currently available. +- **GPEDeviceID** No content is currently available. +- **GPUBevisionID** No content is currently available. +- **GPUDericeID** No content is currently available. +- **GPUDeviceID** The GPU device ID. +- **GPUDevyceID** No content is currently available. +- **GPUDewiceID** No content is currently available. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURe~isionID** No content is currently available. +- **GPURevisimnID** No content is currently available. +- **GPURevisionID** The GPU revision ID. +- **GPURewisionID** No content is currently available. +- **GPUVendorID** The GPU vendor ID. +- **h** No content is currently available. +- **I{SoftwareDevice** No content is currently available. +- **IcMsMiracastSupported** No content is currently available. +- **ID** No content is currently available. +- **idDiscrete** No content is currently available. +- **InterfaceId** The GPU interface ID. +- **InvEvntTrigger** No content is currently available. +- **IqHwSchSupported** No content is currently available. +- **iracastSupported** No content is currently available. +- **IrMsMiracastSupported** No content is currently available. +- **IsDispl`yDevice** No content is currently available. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHwCchSupported** No content is currently available. +- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. +- **IsHwSchStpported** No content is currently available. +- **IsHwSchSu`ported** No content is currently available. +- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. +- **IsHybiidDiscrete** No content is currently available. +- **IsHybiidIntegrated** No content is currently available. +- **IsHybri$Integrated** No content is currently available. +- **IsHybri`Discrete** No content is currently available. +- **IsHybrid1202trated** No content is currently available. +- **IsHybridDascrete** No content is currently available. +- **IsHybridDhscrete** No content is currently available. +- **IsHybridDiccrete** No content is currently available. +- **IsHybridDiscreat** No content is currently available. +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegraped** No content is currently available. +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsHybridInteorated** No content is currently available. +- **IsHycridDiscrete** No content is currently available. +- **IsL@A** No content is currently available. +- **IsLDa** No content is currently available. +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMhracastSupported** No content is currently available. +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMiracasTSupported** No content is currently available. +- **IsMiraCastSupported** No content is currently available. +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMismatkhLDA** No content is currently available. +- **IsMPOSuppmrted** No content is currently available. +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMPOSupxorted** No content is currently available. +- **IsMsMiracactSupported** No content is currently available. +- **IsMsMiracastCupported** No content is currently available. +- **IsMsMiracastSupporded** No content is currently available. +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsMsMiracastSupportee** No content is currently available. +- **IsMsMiracastSupportmd** No content is currently available. +- **IsPo3tAdapter** No content is currently available. +- **IsPos|Adapter** No content is currently available. +- **IsPostAdaptdr** No content is currently available. +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsQofdwareDevice** No content is currently available. +- **IsRemovab|e** No content is currently available. +- **IsRemovabde** No content is currently available. +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsReMovable** No content is currently available. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsRgmovable** No content is currently available. +- **IsSofdwareDevice** No content is currently available. +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **KMDFalePath** No content is currently available. +- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. +- **KMDFiles.uh** No content is currently available. +- **led** No content is currently available. +- **lePath** No content is currently available. +- **lue** No content is currently available. +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **MPOSupported** No content is currently available. +- **N}mVidPnSources** No content is currently available. +- **nabled** No content is currently available. +- **�nterfaceId** No content is currently available. +- **Nu}VidPnTargets** No content is currently available. +- **NumVidPnSoupces** No content is currently available. +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **NumVydPnSources** No content is currently available. +- **otId** No content is currently available. +- **ources** No content is currently available. +- **ported** No content is currently available. +- **PreemptionLevel** No content is currently available. +- **PUDeviceID** No content is currently available. +- **PUVendorID** No content is currently available. +- **riverVersion** No content is currently available. +- **rRank** No content is currently available. +- **rsion** No content is currently available. +- **S}bSystemID** No content is currently available. +- **SharedSystemMe}oryB** No content is currently available. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **sionViaDDI** No content is currently available. +- **sRemovable** No content is currently available. +- **SubFendorID** No content is currently available. +- **SubSystemAD** No content is currently available. +- **SubSystemID** The subsystem ID. +- **SubTendorID** No content is currently available. +- **SubVdndorID** No content is currently available. +- **SubVendorID** The GPU sub vendor ID. +- **SubVeneorID** No content is currently available. +- **SuSystemID** No content is currently available. +- **tegrated** No content is currently available. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvjtTrigger** No content is currently available. +- **TelInvEvn4Trigger** No content is currently available. +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **temMemoryB** No content is currently available. +- **ts** No content is currently available. +- **UPreemptionLevel** No content is currently available. +- **version** The event version. +- **verVersion** No content is currently available. +- **WDDMVerqion** No content is currently available. +- **WDDMVersinn** No content is currently available. +- **WDDMVersion** The Windows Display Driver Model version. +- **yAdapterLuid** No content is currently available. +- **yDevice** No content is currently available. + + +## Failover Clustering events + +### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 + +This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. + +The following fields are available: + +- **autoAssignSite** The cluster parameter: auto site. +- **autoBalancerLevel** The cluster parameter: auto balancer level. +- **autoBalancerMode** The cluster parameter: auto balancer mode. +- **blockCacheSize** The configured size of the block cache. +- **ClusterAdConfiguration** The ad configuration of the cluster. +- **clusterAdType** The cluster parameter: mgmt_point_type. +- **clusterDumpPolicy** The cluster configured dump policy. +- **clusterFunctionalLevel** The current cluster functional level. +- **clusterGuid** The unique identifier for the cluster. +- **clusterWitnessType** The witness type the cluster is configured for. +- **countNodesInSite** The number of nodes in the cluster. +- **crossSiteDelay** The cluster parameter: CrossSiteDelay. +- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. +- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. +- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. +- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. +- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. +- **csvResourceCount** The number of resources in the cluster. +- **currentNodeSite** The name configured for the current site for the cluster. +- **dasModeBusType** The direct storage bus type of the storage spaces. +- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. +- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. +- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. +- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. +- **genAppNames** The win32 service name of a clustered service. +- **genSvcNames** The command line of a clustered genapp. +- **hangRecoveryAction** The cluster parameter: hang recovery action. +- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. +- **isCalabria** Specifies whether storage spaces direct is enabled. +- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. +- **isRunningDownLevel** Identifies if the current node is running down-level. +- **logLevel** Specifies the granularity that is logged in the cluster log. +- **logSize** Specifies the size of the cluster log. +- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. +- **minNeverPreempt** The cluster parameter: minimum never preempt. +- **minPreemptor** The cluster parameter: minimum preemptor priority. +- **netftIpsecEnabled** The parameter: netftIpsecEnabled. +- **NodeCount** The number of nodes in the cluster. +- **nodeId** The current node number in the cluster. +- **nodeResourceCounts** Specifies the number of node resources. +- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. +- **numberOfSites** The number of different sites. +- **numNodesInNoSite** The number of nodes not belonging to a site. +- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. +- **preferredSite** The preferred site location. +- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. +- **quarantineDuration** The quarantine duration. +- **quarantineThreshold** The quarantine threshold. +- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. +- **resiliencyLevel** Specifies the level of resiliency. +- **resourceCounts** Specifies the number of resources. +- **resourceTypeCounts** Specifies the number of resource types in the cluster. +- **resourceTypes** Data representative of each resource type. +- **resourceTypesPath** Data representative of the DLL path for each resource type. +- **sameSubnetDelay** The cluster parameter: same subnet delay. +- **sameSubnetThreshold** The cluster parameter: same subnet threshold. +- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). +- **securityLevel** The cluster parameter: security level. +- **securityLevelForStorage** The cluster parameter: security level for storage. +- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. +- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. +- **upNodeCount** Specifies the number of nodes that are up (online). +- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. +- **vmIsolationTime** The cluster parameter: VM isolation time. +- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. + + +## Fault Reporting events + +### Microsoft.Windows.FaultReporting.AppCrashEvent + +This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. + +The following fields are available: + +- **4a9retAppId** No content is currently available. +- **4a9retAppVer** No content is currently available. +- **4a9retAsId** No content is currently available. +- **AppName** The name of the app that has crashed. +- **AppNeme** No content is currently available. +- **AppSessionGuhd** No content is currently available. +- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. +- **AppTileStamp** No content is currently available. +- **AppTimeStamp** The date/time stamp of the app. +- **AppVersion** The version of the app that has crashed. +- **E8ceptionCode** No content is currently available. +- **eventFlaTargetAppId** No content is currently available. +- **Ex#eptionCode** No content is currently available. +- **ExcepionECode** No content is currently available. +- **ExcepionEOffset** No content is currently available. +- **ExceptionCode** The exception code returned by the process that has crashed. +- **ExceptionOffset** The address where the exception had occurred. +- **ExceptiooOffset** No content is currently available. +- **ExcettionCode** No content is currently available. +- **ExcmptionCode** No content is currently available. +- **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. +- **Fmags** No content is currently available. +- **FniendlyAspName** No content is currently available. +- **FrhendlyAppName** No content is currently available. +- **FriefdlyAppName** No content is currently available. +- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. +- **FrienflyAppName** No content is currently available. +- **FritchlyAppName** No content is currently available. +- **FrmendlyAppName** No content is currently available. +- **IrFatal** No content is currently available. +- **IsFatal** True/False to indicate whether the crash resulted in process termination. +- **MkdName** No content is currently available. +- **ModNaee** No content is currently available. +- **ModName** Exception module name (e.g. bar.dll). +- **ModTimeStamp** The date/time stamp of the module. +- **ModTimeStampPackageFullNamd** No content is currently available. +- **ModTymeStamp** No content is currently available. +- **ModVersikn** No content is currently available. +- **ModVersion** The version of the module that has crashed. +- **ModVersioo** No content is currently available. +- **MoeTimeStamp** No content is currently available. +- **MoiName** No content is currently available. +- **MoiTimeStamp** No content is currently available. +- **MoiVersion** No content is currently available. +- **MolVersion** No content is currently available. +- **Pa9kageFullName** No content is currently available. +- **Pa9kageRelativeAppId** No content is currently available. +- **PackabeRelativeAppId** No content is currently available. +- **PackageFullName** Store application identity. +- **PackageRelaonMSAppId** No content is currently available. +- **PackageRelapiveAppId** No content is currently available. +- **PackageRelativeAppId** Store application identity. +- **PacxageFullName** No content is currently available. +- **PacxageRelativeAppId** No content is currently available. +- **PargetAppVer** No content is currently available. +- **ppTimeStamp** No content is currently available. +- **PrjcessId** No content is currently available. +- **ProcessAd** No content is currently available. +- **ProcessArchitectupe** No content is currently available. +- **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. +- **ProcessCreateTihe** No content is currently available. +- **ProcessCreateTime** The time of creation of the process that has crashed. +- **ProcessCreAteTime** No content is currently available. +- **ProcessCrgateTime** No content is currently available. +- **Processd8,hitecture** No content is currently available. +- **ProcessId** The ID of the process that has crashed. +- **ProcgssArchitecture** No content is currently available. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **T!rgetAsId** No content is currently available. +- **TargatAppVer** No content is currently available. +- **Target@sId** No content is currently available. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVeb** No content is currently available. +- **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 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. + + + +## 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. +- **PackageRelativeAppIdWaitingOnAppName** No content is currently available. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + +## Holographic events + +### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated + +This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. + +The following fields are available: + +- **HmdState** Windows Mixed Reality Headset HMD state. +- **NewHoloShellState** Windows Mixed Reality HoloShell state. +- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. +- **SimulationEnabled** Windows Mixed Reality Simulation state. + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated + +This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. + +The following fields are available: + +- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. +- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. +- **PackageVersion** Windows Mixed Reality Portal app package version. +- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. +- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming + +This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. + + + +### TraceLoggingOasisUsbHostApiProvider.DeviceInformation + +This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. + +The following fields are available: + +- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. +- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. +- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. +- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. +- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. +- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. +- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. +- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. +- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. +- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. +- **DeviceInfoFlags** Windows Mixed Reality device info flags. +- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. +- **DeviceReleaseNumber** Windows Mixed Reality device release number. +- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. +- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. +- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. +- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. +- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. +- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. +- **FriendlyName** Windows Mixed Reality device friendly name. +- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. +- **HeaderSize** Windows Mixed Reality device header size. +- **HeaderVersion** Windows Mixed Reality device header version. +- **LicenseKey** Windows Mixed Reality device header license key. +- **Make** Windows Mixed Reality device make. +- **ManufacturingDate** Windows Mixed Reality device manufacturing date. +- **Model** Windows Mixed Reality device model. +- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. +- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. +- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. +- **ProductBoardRevision** Windows Mixed Reality device product board revision number. +- **SerialNumber** Windows Mixed Reality device serial number. + + +## Inventory events + +### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum + +This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. + +The 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 +- **InventoryApplicationShortcut** A count of application shortcut objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. +- **InventoryDeviceUsbHubClass** A count of device usb objects in cache +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. +- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache +- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. +- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache +- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache +- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache +- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache +- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache +- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache +- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache +- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache +- **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 following fields are available: + +- **aeinv** The version of the App inventory component. +- **devinv** The file version of the Device inventory component. + + +### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd + +This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **CatalogSigners** Signers from catalog. Each signer starts with Chain. +- **DigestAlgorithm** The pseudonymizing (hashing) algorithm used when the file or package was signed. +- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. +- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. +- **FileName** The file name of the file whose signatures are listed. +- **FileType** Either exe or sys, depending on if a driver package or application executable. +- **InventoryVersion** The version of the inventory file generating the events. +- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd + +This event sends basic metadata about an application on the system to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). + +The following fields are available: + +- **^ersion** No content is currently available. +- **AnstallDate** No content is currently available. +- **AnstallDateFromLinkFile** No content is currently available. +- **AppType** No content is currently available. +- **blisher** No content is currently available. +- **ctCode** No content is currently available. +- **CV__** No content is currently available. +- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. +- **Ins|allDate** No content is currently available. +- **Inst`llDateFromLinkFile** No content is currently available. +- **InstallD!te** No content is currently available. +- **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 +- **InstallDateFromL)nkFile** No content is currently available. +- **InstallDateFromLincFile** No content is currently available. +- **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. +- **InstallDaueArpLastModified** No content is currently available. +- **inventoryId** No content is currently available. +- **InventoryVersiof** No content is currently available. +- **InventoryVersion** The version of the inventory file generating the events. +- **Lang}age** No content is currently available. +- **Language** The language code of the program. +- **me** No content is currently available. +- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. +- **MsiProd}ctCode** No content is currently available. +- **MsiProductBode** No content is currently available. +- **MsiProductCode** A GUID that describe the MSI Product. +- **Name** The name of the application. +- **nAtInstallTime** No content is currently available. +- **nceId** No content is currently available. +- **ode** No content is currently available. +- **OSVersionA|InstallTime** No content is currently available. +- **OSVersionAtAnstallTime** No content is currently available. +- **OSVersionAtIns|allTime** No content is currently available. +- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. +- **P}blisher** No content is currently available. +- **PackageFullNam%** No content is currently available. +- **PackageFullName** The package full name for a Store application. +- **ProgramInsta.ceId** No content is currently available. +- **ProgramInstanceId** A hash of the file IDs in an app. +- **Publishdr** No content is currently available. +- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. +- **rce** No content is currently available. +- **RootDirPath** The path to the root directory where the program was installed. +- **rPath** No content is currently available. +- **Source** How the program was installed (for example, ARP, MSI, Appx). +- **StgreAppType** No content is currently available. +- **StoreAppTqpe** No content is currently available. +- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. +- **syncId** No content is currently available. +- **teMsi** No content is currently available. +- **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. + +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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory component. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFileAdd + +This event provides file-level information about the applications that exist on the system. This event is used to understand the applications on a device to determine if those applications will experience compatibility issues when upgrading Windows. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **BinaryType** The architecture of the binary (executable) file. +- **BinFileVersion** Version information for the binary (executable) file. +- **BinProductVersion** The product version provided by the binary (executable) file. +- **BoeProgramId** The “bag of evidence” program identifier. +- **CompanyName** The company name included in the binary (executable) file. +- **FileId** A pseudonymized (hashed) unique identifier derived from the file itself. +- **FileVersion** The version of the file. +- **InventoryVersion** The version of the inventory component. +- **Language** The language declared in the binary (executable) file. +- **LinkDate** The compiler link date. +- **LowerCaseLongPath** The file path in “long” format. +- **Name** The file name. +- **ProductName** The product name declared in the binary (executable) file. +- **ProductVersion** The product version declared in the binary (executable) file. +- **ProgramId** The program identifier associated with the binary (executable) file. +- **Size** The size of the binary (executable) file. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd + +This event provides the basic metadata about the frameworks an application may depend on. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **FileId** A hash that uniquely identifies a file. +- **Frameworks** The list of frameworks this file depends on. +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync + +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. + +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. + +This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). + +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. + +This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Categories** A comma separated list of functional categories in which the container belongs. +- **DiscoveryMethod** The discovery method for the device container. +- **FriendlyName** The name of the device container. +- **InventoryVersion** The version of the inventory file generating the events. +- **IsActive** Is the device connected, or has it been seen in the last 14 days? +- **IsAtiove** No content is currently available. +- **IsConectied** No content is currently available. +- **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? +- **IsN0tworked** No content is currently available. +- **IsNetworked** Is this a networked device? +- **IsPaired** Does the device container require pairing? +- **Manufacturer** The manufacturer name for the device container. +- **MmdelName** No content is currently available. +- **ModelId** A unique model ID. +- **ModelName** The model name. +- **ModelNumber** The model number for the device container. +- **Prim`ryCategory** No content is currently 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. + +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. + +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. + +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. + +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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. + +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. + +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: + +- **@arentId** No content is currently available. +- **241** No content is currently available. +- **BusReportedDescription** The description of the device reported by the bux. +- **bytesRequested** No content is currently available. +- **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. +- **Contain%rId** No content is currently available. +- **ContainerId** The list of compat ids for the device. +- **D2230rId** No content is currently available. +- **DCode** No content is currently available. +- **Descriptign** No content is currently available. +- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **Devic%State** No content is currently available. +- **DeviceAxtDriversFlightIds** No content is currently available. +- **DeviceDriverFlightId** The test build (Flight) identifier of the device driver. +- **DeviceE8tDriversFlightIds** No content is currently available. +- **DeviceExtD2iversFlightIds** No content is currently available. +- **DeviceExtDriversFlightIds** The test build (Flight) identifier for all extended device drivers. +- **DevIceExtDriversFlightIds** No content is currently available. +- **DeviceIntarfaceClasses** No content is currently available. +- **DeviceInterfaceC,asses** No content is currently available. +- **DeviceInterfaceClasses** The device interfaces that this device implements. +- **DeviceRtate** No content is currently available. +- **DeviceSpate** No content is currently available. +- **DeviceStat%** No content is currently available. +- **DeviceState** The device description. +- **diceRoll** No content is currently available. +- **downloadModeReason** No content is currently available. +- **downloadModeSrc** No content is currently available. +- **DrirerVerDate** No content is currently available. +- **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. +- **DriverPacka'eStrongName** No content is currently available. +- **DriverPackageCtrongName** No content is currently available. +- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage +- **DriverVerDa4e** No content is currently available. +- **DriverVerDate** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). +- **DriverVerDcte** No content is currently available. +- **DriverVerVers)on** No content is currently available. +- **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. +- **Enumerator** The date of the driver loaded for the device. +- **EnumeratOr** No content is currently available. +- **ExtendedInfs** The extended INF file names. +- **fileSize** No content is currently available. +- **fileSizeCaller** No content is currently available. +- **FirstInstallDate** The first time this device was installed on the machine. +- **Gnumerator** No content is currently available. +- **HGID** No content is currently available. +- **HWID** The version of the driver loaded for the device. +- **I.stallState** No content is currently available. +- **Inf** The bus that enumerated the device. +- **InstallDate** The date of the most recent installation of the device on the machine. +- **InstallDcte** No content is currently available. +- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InvantoryVersion** No content is currently available. +- **InventoryVersion** List of hardware ids for the device. +- **IsFatal** No content is currently available. +- **jobID** No content is currently available. +- **LowerClassFi,ters** No content is currently available. +- **LowerClassFilters** Lower filter class drivers IDs installed for the device +- **LowerFilters** Lower filter drivers IDs installed for the device +- **Manufa#turer** No content is currently available. +- **Manufacturer** INF file name (the name could be renamed by OS, such as oemXX.inf) +- **Manufacuurer** No content is currently available. +- **matchingID** No content is currently available. +- **MatchingID** Device installation state. +- **Modal** No content is currently available. +- **Model** The version of the inventory binary generating the events. +- **Paren4Id** No content is currently available. +- **ParentId** Lower filter class drivers IDs installed for the device. +- **ProblemCode** Lower filter drivers IDs installed for the device. +- **ProblemCodm** No content is currently available. +- **Provi$er** No content is currently available. +- **Provider** The device manufacturer. +- **Service** The device service name +- **sessionID** No content is currently available. +- **STACKID** Represents the hardware ID or compatible ID that Windows uses to install a device instance. +- **Uppe2ClassFilters** No content is currently available. +- **UpperC,assFilters** No content is currently available. +- **UpperClassFilters** Upper filter drivers IDs installed for the device +- **UpperF)lters** No content is currently available. +- **UpperFilters** The device model. + + +### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove + +This event indicates that the InventoryDevicePnpRemove object is no longer present. + +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. + +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. + +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. + +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 provides the basic metadata about driver binaries running on the system. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **__Tl'CV__** No content is currently 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 +- **DriverTimdStamp** No content is currently available. +- **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. +- **I.ventoryVersion** No content is currently available. +- **ImageSize** The size of the driver file. +- **Inf** The name of the INF file. +- **Inventoryersion** No content is currently available. +- **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. +- **WdfVers)on** No content is currently available. +- **WdfVersion** The Windows Driver Framework version. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove + +This event indicates that the InventoryDriverBinary object is no longer present. + +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. + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Class** The class name for the device driver. +- **ClassGuid** The class GUID for the device driver. +- **Date** The driver package date. +- **Directory** The path to the driver package. +- **DriverInBox** Is the driver included with the operating system? +- **FlightIds** Driver Flight IDs. +- **Inf** The INF name of the driver package. +- **InventoryVersion** The version of the inventory file generating the events. +- **Provider** The provider for the driver package. +- **RecoveryIds** Driver recovery IDs. +- **SubmissionId** The HLK submission ID for the driver package. +- **Version** The version of the driver package. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove + +This event indicates that the InventoryDriverPackageRemove object is no longer present. + +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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd + +Provides data on the installed Office Add-ins. + +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. +- **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. +- **Usage** Data about usage for the add-in. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Provides data on the Office identifiers. + +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 +- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit +- **OpudienceData** No content is currently available. +- **OpudienceId** No content is currently available. +- **OTenantId** Unique GUID representing the Microsoft O365 Tenant +- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 +- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Office-related Internet Explorer features. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **fficeAVersion** No content is currently 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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Describes Office Products installed. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +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. +- **SharedompouterLicensing** No content is currently available. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync + +Indicates a new sync is being generated for this object type. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Unified Update Platform (UUP) products and what version they are at. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Identifier** UUP identifier +- **LastActivapedVersion** No content is currently available. +- **LastActivatedVersiol** No content is currently available. +- **LastActivatedVersion** Last activated version +- **PreviousTersion** No content is currently available. +- **PreviousVersion** Previous version +- **Source** UUP source +- **Version** UUP version + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **basdData** No content is currently available. See [basdData](#basddata). + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.Checksum + +This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. + +The following fields are available: + +- **CensusId** A unique hardware identifier. +- **ChecksumDictiona2y** No content is currently available. +- **ChecksumDictionary** A count of each operating system indicator. +- **PCFP** Equivalent to the InventoryId field that is found in other core events. + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd + +These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **IndicatorValue** The indicator value. + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync + +This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. This data helps ensure the device is up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove + +This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync + +This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +## IoT events + +### Microsoft.Windows.IoT.Client.CEPAL.MonitorStarted + +This event identifies Windows Internet of Things (IoT) devices which are running the CE PAL subsystem by sending data during CE PAL startup. + + + +## Kernel events + +### IO + +This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. + +The following fields are available: + +- **BytesRead** The total number of bytes read from or read by the OS upon system startup. +- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. + + +### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch + +OS information collected during Boot, used to evaluate the success of the upgrade process. + +The following fields are available: + +- **BootApplicat)onId** No content is currently available. +- **BootApplicathonId** No content is currently available. +- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. +- **BootApplicatonId** No content is currently available. +- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. +- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. +- **BOotSequence** No content is currently available. +- **BootStatusPolicy** Identifies the applicable Boot Status Policy. +- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). +- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. +- **FirmwareResetBeasonEmbeddedControllerAdditional** No content is currently available. +- **FirmwareResetReasonEmbeddedControhlerAdditional** No content is currently available. +- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. +- **FirmwareResetReasonEmbeddedControlleradditional** No content is currently available. +- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwaReResetReasonEmbeddedControllerAdditional** No content is currently available. +- **FirmwareResetReasonEmbedMenController** No content is currently available. +- **FirmwareResetReasonEmbedMenControllerAdditional** No content is currently available. +- **FirmwareResetReasonP#hAdditi/nal** No content is currently available. +- **FirmwareResetReasonP#hAdditional** No content is currently available. +- **FirmwareResetReasonPch** Reason for system reset provided by firmware. +- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. +- **FirmwereResetReasonEmbeddedController** No content is currently available. +- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). +- **LastBoo4Succeeded** No content is currently available. +- **lastBootSucceeded** No content is currently available. +- **LastBootSucceeded** Flag indicating whether the last boot was successful. +- **LastBootSuc-eeded** No content is currently available. +- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. +- **LastShutdownSuc-eeded** No content is currently available. +- **MaxAbove4gbFreeRange** No content is currently available. +- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. +- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. +- **MeastredLaunchResume** No content is currently available. +- **MeasuredLaunchCapable** Indicates the system is capable of booting with Dynamic Root of Trust for Measurement (DRTM) support. +- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). +- **MeasuredLaunchResume** This field tells us if Dynamic Root of Trust for Measurement (DRTM) was used when resuming from hibernation. +- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). +- **RecoveryEnabled** Indicates whether recovery is enabled. +- **TcbLaunch** Indicates whether the Trusted Computing Base was used during the boot flow. +- **UsepInputTiie** No content is currently available. +- **UserInputTime** The amount of time the loader application spent waiting for user input. + + +### Microsoft.Windows.Kernel.DeviceConfig.DeviceConfig + +This critical device configuration event provides information about drivers for a driver installation that took place within the kernel. + +The following fields are available: + +- **/eedReboot** No content is currently available. +- **ClassGuid** The unique ID for the device class. +- **DeviceIn3tanceId** No content is currently available. +- **DeviceInstanceId** The unique ID for the device on the system. +- **Driver@rovider** No content is currently available. +- **DriverDate** The date of the driver. +- **DriverFlightIds** The IDs for the driver flights. +- **DriverFlyghtIds** No content is currently available. +- **DriverInfName** Driver INF file name. +- **DriverProvider** The driver manufacturer or provider. +- **DriverSub}issionId** No content is currently available. +- **DriverSubmirsionId** No content is currently available. +- **DriverSubmissionId** The driver submission ID assigned by the hardware developer center. +- **DriverSubmissionYd** No content is currently available. +- **DriverSubmyssionId** No content is currently available. +- **DriverSufmissionId** No content is currently available. +- **DriverVersaon** No content is currently available. +- **DriverVersion** The driver version number. +- **DuviceInstanceId** No content is currently available. +- **EriverProvider** No content is currently available. +- **ExtensionDrivers** The list of extension driver INF files, extension IDs, and associated flight IDs. +- **ExtensionTrivers** No content is currently available. +- **Firs4HardwareId** No content is currently available. +- **FirsdHardwareId** No content is currently available. +- **FirstHardwareAd** No content is currently available. +- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. +- **FirstHardwareMd** No content is currently available. +- **FirstHardwareYd** No content is currently available. +- **I~boxDriver** No content is currently available. +- **InboxDriver** Indicates whether the driver package is included with Windows. +- **Insta|lDate** No content is currently available. +- **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. +- **N-F6Reboot** No content is currently available. +- **OeedReboot** No content is currently available. +- **Setu`Mode** No content is currently available. +- **SetupMode** Indicates whether the device configuration occurred during the Out Of Box Experience (OOBE). +- **StatesCode** No content is currently available. +- **StatucCode** No content is currently available. +- **StatusCode** The NTSTATUS of device configuration operation. +- **StatusCOde** No content is currently available. + + +### Microsoft.Windows.Kernel.PnP.AggregateClearDevNodeProblem + +This event is sent when a problem code is cleared from a device. + +The following fields are available: + +- **Cound** No content is currently available. +- **Count** The total number of events. +- **DeviceInstanceId** The unique identifier of the device on the system. +- **LastPrmblemStatus** No content is currently available. +- **LastProb|em** No content is currently available. +- **LastProblem** The previous problem that was cleared. +- **LastProblemStatus** The previous NTSTATUS value that was cleared. +- **LtSuProblem** No content is currently available. +- **LtSuProblemStatus** No content is currently available. +- **S%rviceName** No content is currently available. +- **Service** No content is currently available. +- **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 following fields are available: + +- **@roblem** No content is currently available. +- **CerviceName** No content is currently available. +- **Cound** No content is currently available. +- **Count** The total number of events. +- **DaviceInstanceId** No content is currently available. +- **DeviceInstanceId** The unique identifier of the device in the system. +- **Last@roblemStatus** No content is currently available. +- **LastPr/blem** No content is currently available. +- **LastProb|emStatus** No content is currently available. +- **LastProblem** The previous problem code that was set on the device. +- **LastProblemStadus** No content is currently available. +- **LastProblemStatus** The previous NTSTATUS value that was set on the device. +- **LtSuProblem** No content is currently available. +- **LtSuProblemStatus** No content is currently available. +- **Proble-** No content is currently available. +- **Problel** No content is currently available. +- **Problem** The new problem code that was set on the device. +- **ProblemStatus** The new NTSTATUS value that was set on the device. +- **Service** No content is currently available. +- **Service^ame** No content is currently available. +- **ServiceName** The driver or service name that is attached to the device. +- **ServiceTame** No content is currently available. + + +### 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 following fields are available: + +- **temperature** Contains the actual temperature measurement, in tenths of degrees Kelvin, for the area that exceeded the limit. +- **thermalZone** Contains an identifier that specifies which area it was that exceeded temperature limits. + + +## Microsoft Edge events + +### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** No content is currently available. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_env** No content is currently 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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** No content is currently available. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping + +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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **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'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_env** No content is currently 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). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Microsoft.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 + +The following fields are available: + +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +## Migration events + +### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr + +This event returns data to track the count of the migration objects across various phases during feature update. + +The 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 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 following fields are available: + +- **currentSid** Indicates the user SID for which the migration is being performed. +- **knownFoldersUsr[i]** Predefined folder path locations. +- **migDiagSession->CString** The phase of the upgrade where the migration occurs. (For example, Validate tracked content.) +- **objectCount** The number of objects that are being transferred. + + +## Miracast events + +### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd + +This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session + +The following fields are available: + +- **AudioChannelCount** The number of audio channels. +- **AudioSampleRate** The sample rate of audio in terms of samples per second. +- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. +- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. +- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. +- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. +- **ConnectorType** The type of connector used during the Miracast session. +- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. +- **EncodeCount** The count of total frames encoded in the session. +- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. +- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. +- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. +- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. +- **FirstFrameTime** The time (tick count) when the first frame is sent. +- **FirstLatencyMode** The first latency mode. +- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. +- **FrameCount** The total number of frames processed. +- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. +- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. +- **Glitches** The number of frames that failed to be delivered on time. +- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. +- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. +- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. +- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. +- **LastLatencyMode** The last reported latency mode. +- **LogTimeReference** The reference time, in tick counts. +- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. +- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. +- **MediaErrorCode** The error code reported by the media session, if applicable. +- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. +- **MiracastM1** The time (tick count) when the M1 request was sent. +- **MiracastM2** The time (tick count) when the M2 request was sent. +- **MiracastM3** The time (tick count) when the M3 request was sent. +- **MiracastM4** The time (tick count) when the M4 request was sent. +- **MiracastM5** The time (tick count) when the M5 request was sent. +- **MiracastM6** The time (tick count) when the M6 request was sent. +- **MiracastM7** The time (tick count) when the M7 request was sent. +- **MiracastSessionState** The state of the Miracast session when the connection ended. +- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. +- **ProfileCount** The count of profiles generated from the receiver M4 response. +- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. +- **RefreshRate** The refresh rate set on the remote display. +- **RotationSupported** Indicates if the Miracast receiver supports display rotation. +- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. +- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. +- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. +- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. +- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. +- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. +- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. +- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. +- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. +- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. +- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. +- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. +- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. +- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. +- **UIBCStatus** The result code reported by the UIBC setup process. +- **VideoBitrate** The starting bitrate for the video encoder. +- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. +- **VideoHeight** The height of encoded video frames. +- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. +- **VideoWidth** The width of encoded video frames. +- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. + + +## Mixed Reality events + +### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded + +This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. + +The following fields are available: + +- **ClassGuid** Windows Mixed Reality device class GUID. +- **DeviceInterfaceId** Windows Mixed Reality device interface ID. +- **DeviceName** Windows Mixed Reality device name. +- **DriverVersion** Windows Mixed Reality device driver version. +- **FirmwareVersion** Windows Mixed Reality firmware version. +- **Manufacturer** Windows Mixed Reality device manufacturer. +- **ModelName** Windows Mixed Reality device model name. +- **SerialNumber** Windows Mixed Reality device serial number. + + +## OneDrive events + +### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation + +This event is related to the OS version when the OS is upgraded with OneDrive installed. + +The following fields are available: + +- **CurrentOneDriveVersion** The current version of OneDrive. +- **CurrentOSBuildBranch** The current branch of the operating system. +- **CurrentOSBuildNumber** The current build number of the operating system. +- **CurrentOSVersion** The current version of the operating system. +- **HResult** The HResult of the operation. +- **SourceOSBuildBranch** The source branch of the operating system. +- **SourceOSBuildNumber** The source build number of the operating system. +- **SourceOSVersion** The source version of the operating system. + + +## 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 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 + +Event tells us effectiveness of new privacy experience. + +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 + + +## Push Button Reset events + +### Microsoft.Windows.PBR.BitLockerWipeFinished + +This event sends error data after the BitLocker wipe finishes if there were any issues during the wipe. + +The following fields are available: + +- **error** The error code if there were any issues during the BitLocker wipe. +- **sessionID** This is the session ID. +- **succeeded** Indicates the BitLocker wipe successful completed. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.BootState + +This event sends data on the Windows Recovery Environment (WinRE) boot, which can be used to determine whether the boot was successful. + +The following fields are available: + +- **BsdSummaryInfo** Summary of the last boot. +- **sessionID** The ID of the push-button reset session. +- **timestamp** The timestamp of the boot state. + + +### Microsoft.Windows.PBR.ClearTPMStarted + +This event sends basic data about the recovery operation on the device to allow investigation. + +The following fields are available: + +- **sessionID** The ID for this push-button restart session. +- **timestamp** The time when the Trusted Platform Module will be erased. + + +### Microsoft.Windows.PBR.ClientInfo + +This event indicates whether push-button reset (PBR) was initiated while the device was online or offline. + +The following fields are available: + +- **name** Name of the user interface entry point. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The time when this event occurred. + + +### Microsoft.Windows.PBR.Completed + +This event sends data about the recovery operation on the device to allow for investigation. + +The following fields are available: + +- **sessionID** The ID of the push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.DataVolumeCount + +This event provides the number of additional data volumes that the push-button reset operation has detected. + +The following fields are available: + +- **count** The number of attached data drives. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.DiskSpaceRequired + +This event sends the peak disk usage required for the push-button reset operation. + +The following fields are available: + +- **numBytes** The number of bytes required for the reset operation. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.EnterAPI + +This event is sent at the beginning of each push-button reset (PRB) operation. + +The following fields are available: + +- **apiName** Name of the API command that is about to execute. +- **sessionID** The session ID. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.EnteredOOBE + +This event is sent when the push-button reset (PRB) process enters the Out Of Box Experience (OOBE). + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.LeaveAPI + +This event is sent when the push-button reset operation is complete. + +The following fields are available: + +- **a0iName** No content is currently available. +- **apiName** Name of the API command that completed. +- **errorCode** Error code if an error occurred during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation is successfully completed. +- **success** Indicates whether the API call was successful. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OEMExtensionFinished + +This event is sent when the OEM extensibility scripts have completed. + +The following fields are available: + +- **exitCode** The exit code from OEM extensibility scripts to push-button reset. +- **param** Parameters used for the OEM extensibility script. +- **phase** Name of the OEM extensibility script phase. +- **script** The path to the OEM extensibility script. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the OEM extensibility script executed successfully. +- **timedOut** Indicates whether the OEM extensibility script timed out. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OEMExtensionStarted + +This event is sent when the OEM extensibility scripts start to execute. + +The following fields are available: + +- **param** The parameters used by the OEM extensibility script. +- **phase** The name of the OEM extensibility script phase. +- **script** The path to the OEM extensibility script. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationExecuteFinished + +This event is sent at the end of a push-button reset (PBR) operation. + +The following fields are available: + +- **error** Indicates the result code of the event. +- **index** The operation index. +- **operation** The name of the operation. +- **phase** The name of the operation phase. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation successfully completed. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationExecuteStarted + +This event is sent at the beginning of a push-button reset operation. + +The following fields are available: + +- **index** The index of this operation. +- **operation** The name of this operation. +- **phase** The phase of this operation. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. +- **weight** The weight of the operation used to distribute the change in percentage. + + +### Microsoft.Windows.PBR.OperationQueueConstructFinished + +This event is sent when construction of the operation queue for push-button reset is finished. + +The following fields are available: + +- **error** The result code for operation queue construction. +- **errorCode** Represents any error code during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation successfully completed. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationQueueConstructStarted + +This event is sent when construction of the operation queue for push-button reset is started. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.PBRClearTPMFailed + +This event is sent when there was a failure while clearing the Trusted Platform Module (TPM). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionFailed + +This event is sent when the push-button reset operation fails to construct a new copy of the operating system. + +The following fields are available: + +- **HRESULT** Indicates the result code of the event. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. +- **SPErrorCode** The error code for the Setup Platform operation. +- **SPOperation** The last Setup Platform operation. +- **SPPhase** The last phase of the Setup Platform operation. + + +### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionSucceed + +This event is sent when the push-button reset operation succeeds in constructing a new copy of the operating system. + +The following fields are available: + +- **CBSPackageCount** The Component Based Servicing package count. +- **CustomizationPackageCount** The Customization package count. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFailed + +This event is sent when the push-button reset operation fails and rolls back to the previous state. + +The following fields are available: + +- **ErrorType** The result code for the push-button reset error. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFinalUserSelection + +This event is sent when the user makes the final selection in the user interface. + +The following fields are available: + +- **PBREraseData** Indicates whether the option to erase data is selected. +- **PBRRecoveryStrategy** The recovery strategy for the push-button reset operation. +- **PBRRepartitionDisk** Indicates whether the user has selected the option to repartition the disk. +- **PBRVariation** Indicates the push-button reset type. +- **PBRWipeDataDrives** Indicates whether the option to wipe the data drives is selected. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFormatOSVolumeSucceed + +This event is sent when the operation to format the operating system volume succeeds during push-button reset (PBR). + +The following fields are available: + +- **JustDeleteFiles** Indicates whether disk formatting was skipped. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRIOCTLErasureSucceed + +This event is sent when the erasure operation succeeds during push-button reset (PBR). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRLayoutImageFailed + +This event is sent when push-button reset fails to create a new image of Windows. + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBROEM1Failed + +This event is sent when the first OEM extensibility operation is successfully completed. + +The following fields are available: + +- **HRESULT** The result error code from the OEM extensibility script. +- **Parameters** The parameters that were passed to the OEM extensibility script. +- **PBRType** The type of push-button reset. +- **ScriptName** The path to the OEM extensibility script. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRReachedOOBE + +This event returns data when the PBR (Push Button Reset) process reaches the OOBE (Out of Box Experience). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRReconstructionInitiated + +This event returns data when a PBR (Push Button Reset) reconstruction operation begins. + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecks + +This event returns data when PBR (Push Button Reset) requirement checks begin. + +The following fields are available: + +- **DeploymentType** The type of deployment. +- **InstallType** The type of installation. +- **PBRType** The type of push-button reset. +- **SessionID** The ID for this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecksFailed + +This event returns data when PBR (Push Button Reset) requirement checks fail. + +The following fields are available: + +- **DiskSpaceAvailable** The disk space available for the push-button reset. +- **DiskSpaceRequired** The disk space required for the push-button reset. +- **ErrorType** The type of error that occurred during the requirement checks phase of the push-button reset operation. +- **PBRImageVersion** The image version of the push-button reset tool. +- **PBRRecoveryStrategy** The recovery strategy for this phase of push-button reset. +- **PBRStartedFrom** Identifies the push-button reset entry point. +- **PBRType** The type of push-button reset specified by the user interface. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecksPassed + +This event returns data when PBR (Push Button Reset) requirement checks are passed. + +The following fields are available: + +- **OSVersion** The OS version installed on the device. +- **PBRImageType** The push-button reset image type. +- **PBRImageVersion** The version of the push-button reset image. +- **PBRRecoveryStrategy** The push-button reset recovery strategy. +- **PBRStartedFrom** Identifies the push-button reset entry point. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRSucceed + +This event returns data when PBR (Push Button Reset) succeeds. + +The following fields are available: + +- **OSVersion** The OS version installed on the device. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PhaseFinished + +This event returns data when a phase of PBR (Push Button Reset) has completed. + +The following fields are available: + +- **error** The result code for this phase of push-button reset. +- **phase** The name of this push-button reset phase. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether this phase of push-button reset executed successfully. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.PhaseStarted + +This event is sent when a phase of the push-button reset (PBR) operation starts. + +The following fields are available: + +- **phase** The name of this phase of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.ReconstructionInfo + +This event returns data about the PBR (Push Button Reset) reconstruction. + +The following fields are available: + +- **numPackagesAbandoned** The number of packages that were abandoned during the reconstruction operation of push-button reset. +- **numPackagesFailed** The number of packages that failed during the reconstruction operation of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **slowMode** The mode of reconstruction. +- **targetVersion** The target version of the OS for the reconstruction. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ResetOptions + +This event returns data about the PBR (Push Button Reset) reset options selected by the user. + +The following fields are available: + +- **overwriteSpace** Indicates whether the option was selected to erase data during push-button reset. +- **preserveWorkplace** Indicates whether the option was selected to reserve the workplace during push-button reset. +- **scenario** The selected scenario for the push-button on reset operation. +- **sessionID** The ID of this push-button on reset session. +- **timestamp** The timestamp of this push-button on reset event. +- **usePayload** Indicates whether Cloud PBR or Reconstruction was used. +- **wipeData** Indicates whether the option was selected to wipe additional drives during push-button reset. + + +### Microsoft.Windows.PBR.RetryQueued + +This event returns data about the retry count when PBR (Push Button Reset) is restarted due to a reboot. + +The following fields are available: + +- **attempt** The number of retry attempts that were made +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ReturnedToOldOS + +This event returns data after PBR (Push Button Reset) has completed the rollback. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ReturnTaskSchedulingFailed + +This event returns data when there is a failure scheduling a boot into WinRE (Windows Recovery). + +The following fields are available: + +- **errorCode** The error that occurred while scheduling the task. +- **sessionID** The ID of this push-button reset session. +- **taskName** The name of the task. +- **timestamp** The ID of this push-button reset event. + + +### Microsoft.Windows.PBR.RollbackFinished + +This event returns data when the PBR (Push Button Reset) rollback completes. + +The following fields are available: + +- **error** Any errors that occurred during rollback to the old operating system. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the rollback succeeded. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.RollbackStarted + +This event returns data when the PBR (Push Button Reset) rollback begins. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ScenarioNotSupported + +This event returns data when the PBR (Push Button Reset) scenario selected is not supported on the device. + +The following fields are available: + +- **errorCode** The error that occurred. +- **reason** The reason why this push-button reset scenario is not supported. +- **sessionID** The ID for this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionCreated + +This event returns data when the PRB (Push Button Reset) session is created at the beginning of the UI (user interface) process. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionResumed + +This event returns data when the PRB (Push Button Reset) session is resumed after reboots. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionSaved + +This event returns data when the PRB (Push Button Reset) session is suspended between reboots. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SetupExecuteFinished + +This event returns data when the PBR (Push Button Reset) setup finishes. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **systemState** Information about the system state of the Setup Platform operation. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SetupExecuteStarted + +This event returns data when the PBR (Push Button Reset) setup starts. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.SetupFinalizeStarted + +This event returns data when the Finalize operation is completed by setup during PBR (Push Button Reset). + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.SetupOperationFailed + +This event returns data when a PRB (Push Button Reset) setup operation fails. + +The following fields are available: + +- **errorCode** An error that occurred during the setup phase of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **setupExecutionOperation** The name of the Setup Platform operation. +- **setupExecutionPhase** The phase of the setup operation that failed. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SystemInfoField + +This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate reset options are shown to the user. + +The following fields are available: + +- **name** Name of the system information field. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. +- **value** The system information field value. + + +### Microsoft.Windows.PBR.SystemInfoListItem + +This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate options can be shown to the user. + +The following fields are available: + +- **index** The index number associated with the system information item. +- **name** The name of the list of system information items. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. +- **value** The value of the system information item. + + +### Microsoft.Windows.PBR.SystemInfoSenseFinished + +This event returns data when System Info Sense is finished. + +The following fields are available: + +- **error** The error code if an error occurred while querying for system information. +- **errorCode** Represents any error code during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the query for system information was successful. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SystemInfoSenseStarted + +This event returns data when System Info Sense is started. + +The following fields are available: + +- **sessionID** The ID of this push-button reset event. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.UserAcknowledgeCleanupWarning + +This event returns data when the user acknowledges the cleanup warning pop-up after PRB (Push Button Reset) is complete. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.UserCancel + +This event returns data when the user confirms they wish to cancel PBR (Push Button Reset) from the user interface. + +The following fields are available: + +- **pageID** The page ID for the page the user canceled. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.UserConfirmStart + +This event returns data when the user confirms they wish to reset their device and PBR (Push Button Reset) begins. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.WinREInstallFinished + +This event returns data when WinRE (Windows Recovery) installation is complete. + +The following fields are available: + +- **errorCode** Any error that occurred during the Windows Recovery Environment (WinRE) installation. +- **sessionID** The ID of this push-button reset session. +- **success** Indicates whether the Windows Recovery Environment (WinRE) installation successfully completed. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.WinREInstallStarted + +This event returns data when WinRE (Windows Recovery) installation starts. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVercion** No content is currently available. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Provides information on reasons why the update is not applicable to the device. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Indicates why the device did not pass the readiness check. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. +- **DownloadMode** Indicates how the quality update was downloaded. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. +- **Result** Download of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **DismInstallHResult** Internal result code from DISM when used to install the quality update. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. +- **KBNumber** KBNumber of the update being installed. +- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. +- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. +- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. +- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. +- **Result** Install of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. +- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. + + +## Sediment events + +### Microsoft.Windows.Sediment.Info.DetailedState + +This event is sent when detailed state information is needed from an update trial run. + +The following fields are available: + +- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. +- **Id** Identifies the trial being run, such as a disk related trial. +- **ReleaseVer** The version of the component. +- **State** The state of the reporting data from the trial, such as the top-level directory analysis. +- **Time** The time the event was fired. + + +### Microsoft.Windows.Sediment.Info.PhaseChange + +The event indicates progress made by the updater. This information assists in keeping Windows up to date. + +The following fields are available: + +- **NewPhase** The phase of progress made. +- **ReleaseVer** The version information for the component in which the change occurred. +- **Time** The system time at which the phase chance occurred. + + +## Setup events + +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **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. + +The following fields are available: + +- **__TlgCVp_** No content is currently available. +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. + + +## Software update events + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **_WTlgCV__EventScenario** No content is currently available. +- **0|EveInstanceID** No content is currently available. +- **0|EveScenario** No content is currently available. +- **2|StusCode** No content is currently available. +- **2canDurationInSeconds** No content is currently available. +- **2canEnqueueTime** No content is currently available. +- **2canProps** No content is currently available. +- **Activi0yMatchingId** No content is currently available. +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **AllowCachedResults** Indicates if the scan allowed using cached results. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **C`pabilityDetectoidGuid** No content is currently available. +- **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. +- **CallErApplicationName** No content is currently available. +- **CallerAppligationName** No content is currently available. +- **Capabili0yDetectoidGuid** No content is currently available. +- **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. +- **CligntVersikn** No content is currently available. +- **Cliu~tVersion** No content is currently available. +- **CommonPpops** No content is currently available. +- **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. +- **CommonPrors** No content is currently available. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). +- **DeferredUpdates** Update IDs which are currently being deferred until a later time +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **DriverSyncPassParformed** No content is currently available. +- **DriverSyncPassPerformad** No content is currently available. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **EfentInst`nceID** No content is currently available. +- **EpentInstqnceID** No content is currently available. +- **erExclusionPolicy** No content is currently available. +- **EventCcenario** No content is currently available. +- **EventInstafceID** No content is currently available. +- **EventInstanceI@** No content is currently available. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventInstancesn** No content is currently available. +- **EventScdnario** No content is currently available. +- **EventSce~ario** No content is currently available. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **eventScenarioPEventInstanceID** No content is currently available. +- **Exonnded2|StusCode** No content is currently available. +- **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. +- **FeatqreUpdat!Pause** No content is currently available. +- **FeatureUp`atePause** No content is currently available. +- **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. +- **FeatureUpdatePausePerhod** No content is currently available. +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **iceGuid** No content is currently available. +- **IConntPFNs** No content is currently available. +- **IntenthFNs** No content is currently available. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUdBDualScanEnabled** No content is currently available. +- **IsWUfBDu6lScanEnabled** No content is currently available. +- **IsWUfBDual2canEnabled** No content is currently available. +- **IsWUfBDualScaiEnabled** No content is currently available. +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBDualSsanEnabled** No content is currently available. +- **IsWUfBEnabldd** No content is currently available. +- **IsWUfBEnable`** No content is currently available. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBFe`eratedScanDisabled** No content is currently available. +- **IsWUfBFederatedScaiDisabled** No content is currently available. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **IsWUfBFederatedScanDiSabled** No content is currently available. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the WU-for-Business target version policy is enabled on the device. +- **LumberOfApplicationsCategoryScanEvaluated** No content is currently available. +- **MetadataICongrityMode** No content is currently available. +- **MetadataIntegri0yMode** No content is currently available. +- **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. +- **NeatureUpdateDeferral** No content is currently available. +- **NetworkConnectivi0yDetected** No content is currently available. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 +- **NetworkConnectiviuyDetected** No content is currently available. +- **NumbepOfApplicationsCategoryScanEvaluated** No content is currently available. +- **NumberOfApplicableupdates** No content is currently available. +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **NumberOfApplicationsCatego@yScanEvAluated** No content is currently available. +- **NumberOfApplicationsCategoryEcanEvaluated** No content is currently available. +- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked +- **NumberOfApplicationsCategoryScanEvaluStad** No content is currently available. +- **NumberOfLoop** The number of round trips the scan required +- **NumberOfNewUpdatesFromServiceSykc** No content is currently available. +- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan +- **NumberOfNewUpdatesFromSesviceSync** No content is currently available. +- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan +- **NumberOfUpdatesEvaluStad** No content is currently available. +- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. +- **Onlile** No content is currently available. +- **Online** Indicates if this was an online scan. +- **OnLine** No content is currently available. +- **Pause`Updates@BranchReadinessLevel** No content is currently available. +- **PausedUpdates** A list of UpdateIds which that currently being paused. +- **PausedUpdates@BranchReadinessLevel** No content is currently available. +- **PauseFeatureUpdates2|SrtTime** No content is currently available. +- **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. +- **PauseQu6lityUpdatesEndTime** No content is currently available. +- **PauseQu6lityUpdatesStartTime** No content is currently available. +- **PauseQualityUpdates2|SrtTime** No content is currently available. +- **PauseQualityUpdatesE$dTime** No content is currently available. +- **PauseQualityUpdatesEddTime** No content is currently available. +- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. +- **PauseQualityUpdaTesEndTime** No content is currently available. +- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. +- **PauseQualityUpdatesSuartTime** No content is currently available. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QauseQualityUpdatesStartTime** No content is currently available. +- **Qu6lityUpdateDeferral** No content is currently available. +- **Qu6lityUpdatePause** No content is currently available. +- **Qu6lityUpdatePausePeriod** No content is currently available. +- **Quali0yUpdatePause** No content is currently available. +- **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 +- **RelStadCV** No content is currently available. +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ScanEnqueveTime** No content is currently available. +- **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). +- **ServiceGuad** No content is currently available. +- **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 +- **ServKceUrl** No content is currently available. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncntTy** No content is currently available. +- **SyncType** Describes the type of scan the event was +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetMetadataVepsion** No content is currently available. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **TargetMetAdataVersion** No content is currently available. +- **TargeTMetadataVersion** No content is currently available. +- **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. +- **WUDevicesn** No content is currently available. +- **WULeviceID** No content is currently available. + + +### SoftwareUpdateClientTelemetry.Commit + +This event tracks the commit process post the update installation when software update client is trying to update the device. + +The following fields are available: + +- **BiosFamily** Device family as defined in the system BIOS +- **BiosName** Name of the system BIOS +- **BiosReleaseDate** Release date of the system BIOS +- **BiosSKUNumber** Device SKU as defined in the system BIOS +- **BIOSVendor** Vendor of the system BIOS +- **BiosVersion** Version of the system BIOS +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** Version number of the software distribution client +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DeviceModel** Device model as defined in the system bios +- **EventInstanceID** A globally unique identifier for event instance +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". +- **FlightId** The specific id of the flight the device is getting +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **SystemBIOSMajorRelease** Major release version of the system bios +- **SystemBIOSMinorRelease** Minor release version of the system bios +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Download + +Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **__TlgKV__** No content is currently available. +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. +- **ActiveDownLoadTime** No content is currently available. +- **AizeCalcTime** No content is currently available. +- **AlatusCode** No content is currently available. +- **AppXBloccHashFailures** No content is currently available. +- **AppXBlockHashDailures** No content is currently available. +- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. +- **AppXScope** Indicates the scope of the app download. +- **ApxXBlockHashFailures** No content is currently available. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BufdleRevisionNumber** No content is currently available. +- **BundleBypesDownlkaded** No content is currently available. +- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. +- **BundleBytesDownloadwd** No content is currently available. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BunDleId** No content is currently available. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. +- **BundleRevisi2vNumber** No content is currently available. +- **BundleRevisionNumbep** No content is currently available. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **Bundl-RevisionNumber** No content is currently available. +- **BundRevisionNumber** No content is currently available. +- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). +- **C,ientVersion** No content is currently available. +- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. +- **CadlerApplicationName** No content is currently available. +- **CallerApplic9tionName** No content is currently available. +- **CallerApplicati2vName** No content is currently available. +- **CallerApplicationNamd** No content is currently available. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. +- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientVersi2v** No content is currently available. +- **ClientVersion** The version number of the software distribution client. +- **ClientVezsion** No content is currently available. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. +- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** The model of the device. +- **DeviceOEM** Identifies the Original Equipment Manufacturer (OEM) of the device. +- **DlightId** No content is currently available. +- **DovnloadPriority** No content is currently available. +- **Downloa`Priority** No content is currently available. +- **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. +- **DownloadPsiority** No content is currently available. +- **DownloadPsops** No content is currently available. +- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. +- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. +- **EptendedS|atusCode** No content is currently available. +- **EType:4|S** No content is currently available. +- **EventInsta.ceID** No content is currently available. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventInstenceID** No content is currently available. +- **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. +- **EventScenasio** No content is currently available. +- **EventType** Possible values are Child, Bundle, or Driver. +- **EwentScenario** No content is currently available. +- **ExteDdedStatusCode** No content is currently available. +- **ExtendedAlatusCode** No content is currently available. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FaatureUpdatePause** No content is currently available. +- **FeatureUpdatePaure** No content is currently available. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **Flight7uildNumber** No content is currently available. +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. +- **FlightBuildNumberPackageFullName** No content is currently available. +- **FlightBuilfNumber** No content is currently available. +- **FlightI`** No content is currently available. +- **flightId** No content is currently available. +- **FlightId** The specific ID of the flight (pre-release build) the device is getting. +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **FundleRepeatFailCount** No content is currently available. +- **Ha2dwareId** No content is currently available. +- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). +- **HardwareHd** No content is currently available. +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **HostNaie** No content is currently available. +- **HostName** The hostname URL the content is downloading from. +- **IcWUfBDualScanEnabled** No content is currently available. +- **IPVersi2v** No content is currently available. +- **IPVersiol** No content is currently available. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. +- **IsAOACDevice** Indicates whether the device is an Always On, Always Connected (AOAC) device. +- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update +- **IsGenuine** No content is currently available. +- **IsVUfBEnabled** No content is currently available. +- **IsWUdBDualScanEnabled** No content is currently available. +- **IsWUfB@ualScanAnabled** No content is currently available. +- **IsWUfB@ualScanEnabled** No content is currently available. +- **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. +- **LicenseType** No content is currently available. +- **loadPrioriops** No content is currently available. +- **NdtworkRestrictionStatus** No content is currently available. +- **NetworkCost** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestricti2vStatus** No content is currently available. +- **NetworkRestrictionAlatus** No content is currently available. +- **NetworkRestrictionSt`tus** No content is currently available. +- **NetworkRestrictionStat5s** No content is currently available. +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **NetworkRestrictionStatusConnectTime** No content is currently available. +- **OsVersion** No content is currently available. +- **PackageFullName** The package name of the content. +- **PackageFullNeme** No content is currently available. +- **PackageFunlName** No content is currently available. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **PlatformRole** The role of the OS platform (Desktop, Mobile, Workstation, etc.). +- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. +- **Proc%ssName** No content is currently available. +- **ProcessNale** No content is currently available. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **PRocessName** No content is currently available. +- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). +- **QualitqUpdatePiuse** No content is currently available. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **QualityUpdatePiuse** No content is currently available. +- **RdpeatFailCount** No content is currently available. +- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. +- **Regul9tionResult** No content is currently available. +- **RegulapionResult** No content is currently available. +- **Regulati2vResult** No content is currently available. +- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. +- **Rel9tedCV** No content is currently available. +- **RelatedAV** No content is currently available. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. +- **RelavedCV** No content is currently available. +- **RepeatFaidCount** No content is currently available. +- **RepeatFailCount** Indicates whether this specific content has previously failed. +- **RepeatFailFlag** Indicates whether this specific content previously failed to download. +- **ReqeatFailCount** No content is currently available. +- **RevhsionNumber** No content is currently available. +- **Revisi2vNumber** No content is currently available. +- **Revisio.Number** No content is currently available. +- **RevisionNumber** The revision number of the specified piece of content. +- **ReviwionNumber** No content is currently available. +- **SdrviceGuid** No content is currently available. +- **SerticeGuid** No content is currently available. +- **Serv)ceGuid** No content is currently available. +- **ServicaGuid** No content is currently available. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. +- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. +- **SizeCalctime** No content is currently available. +- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. +- **Statu{Code** No content is currently available. +- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. +- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. +- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. +- **TotadExpectedBytes** No content is currently available. +- **TotalExpectedBytes** The total count of bytes that the download is expected to be. +- **UotalExpectedBytes** No content is currently available. +- **UpdateId** An identifier associated with the specific piece of content. +- **UpdateID** An identifier associated with the specific piece of content. +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UpdateMd** No content is currently available. +- **UsedDO** Whether the download used the delivery optimization service. +- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. +- **VelatedCV** No content is currently available. +- **W]DeviceID** No content is currently available. +- **WQDeviceID** No content is currently available. +- **WUDevaceID** No content is currently available. +- **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 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 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 +- **ConnectionStapus** No content is currently available. +- **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" +- **JytesTransferred** No content is currently available. +- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any +- **MOAppDownloidLimit** No content is currently available. +- **MOUpdateDgwnloadLimit** No content is currently available. +- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any +- **PowerSta4e** No content is currently available. +- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) +- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one +- **ResumeCount** Number of times this active download has resumed from a suspended state +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) +- **SuspendCount** Number of times this active download has entered a suspended state +- **SuspendReason** Last reason for why this active download entered a suspended state +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Install + +This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFadlCount** No content is currently available. +- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. +- **BundleRevi3fonNumber** No content is currently available. +- **BundleReviersiNumber** No content is currently available. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BundleRevisionNumberHandlerType** No content is currently available. +- **CallerApplic9tionName** No content is currently available. +- **CallerApplicatfonName** No content is currently available. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **ClientVer3fon** No content is currently available. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No value is currently reported in this field. Expected value for this field is 0. +- **CSIErrorType** The stage of CBS installation where it failed. +- **CurrentMobileOperator** The mobile operator to which the device is currently connected. +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DeviceModel** The device model. +- **DriverPgVeBack** No content is currently available. +- **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. +- **ExtendddStatusBode** No content is currently available. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether this update is a firmware update. +- **IsSuccessFadlurePostReboot** No content is currently available. +- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. +- **IsSucgessFailurePostReboot** No content is currently available. +- **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. +- **IZ2UfBDualScanEnabled** No content is currently available. +- **IZ2UfBEnabled** No content is currently available. +- **IZFinalOutcomeEvent** No content is currently available. +- **IZFirmware** No content is currently available. +- **lriverRecoveryIds** No content is currently available. +- **MergedentTyprotocol9loymentProviderMode** No content is currently available. +- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. +- **MsiActfon** No content is currently available. +- **MsiAction** The stage of MSI installation where it failed. +- **MsiProductCode** The unique identifier of the MSI installer. +- **PackageFullName** The package name of the content being installed. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **Rel9tedCV** No content is currently available. +- **RelatedCF** No content is currently available. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFadlCount** No content is currently available. +- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. +- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. +- **Revi3fonNumber** No content is currently available. +- **ReviersiNumber** No content is currently available. +- **RevisionNum`er** No content is currently available. +- **RevisionNumber** The revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGDoupId** No content is currently available. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVer3fon** No content is currently available. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TransactfonCode** No content is currently available. +- **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. +- **UrdateImportance** No content is currently available. +- **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 + +Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). + +The following fields are available: + +- **BundleId** Identifier associated with the specific content bundle. Should not be all zeros if the BundleId was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **ClientVersion** Version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. +- **CSIErrorType** Stage of CBS installation that failed. +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **EventType** Event type (Child, Bundle, Release, or Driver). +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBuildNumber** Indicates the build number of the flight. +- **FlightId** The specific ID of the flight the device is getting. +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether an update was a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether an initial success was a failure after a reboot. +- **IsWUfBDualScanEnabled** Flag indicating whether 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 + +Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). + +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). + +The following fields are available: + +- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. +- **ClientVersion** Version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. +- **DeploymentProviderMode** The mode of operation of the Update Deployment Provider. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers when a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). +- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBuildNumber** Indicates the build number of the flight. +- **FlightId** The specific ID of the flight the device is getting. +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). +- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether an update was a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. +- **IsWUfBDualScanEnabled** Flag indicating whether WU-for-Business dual scan is enabled on the device. +- **IsWUfBEnabled** Flag indicating whether WU-for-Business is enabled on the device. +- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. +- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. +- **RepeatFailCount** Indicates whether this specific piece of content previously failed. +- **RevisionNumber** Identifies the revision number of this specific piece of content. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **UpdateId** Identifier associated with the specific piece of content. +- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). +- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. +- **WUDeviceID** Unique device ID controlled by the software distribution client. + + +### SoftwareUpdateClientTelemetry.UpdateDetected + +This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. + +The following fields are available: + +- **__TleCV__** No content is currently 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. +- **IConntPFNs** No content is currently available. +- **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. +- **RelatedCVServiceGuid** No content is currently available. +- **RelStadCV** No content is currently available. +- **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. +- **WUDeviceIF** No content is currently available. + + +### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity + +Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. + +The following fields are available: + +- **CallerAppdicationName** No content is currently available. +- **CallerAppl4cationName** No content is currently available. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **CallerApplicationNaoe** No content is currently available. +- **CtatusCode** No content is currently available. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **EvontScenario** No content is currently available. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **ExtendgdStatusCode** No content is currently available. +- **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 +- **MetadataIntegrityOode** No content is currently available. +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **QHA256OfTimestampToken** No content is currently available. +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawOode** No content is currently available. +- **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. +- **RtatusCode** No content is currently available. +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store +- **ServiceGuil** No content is currently available. +- **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. +- **SLSPpograms** No content is currently available. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **UpdateId** The update ID for a specific piece of content. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. + + +## System reset events + +### Microsoft.Windows.SysReset.FlightUninstallCancel + +This event indicates the customer has cancelled uninstallation of Windows. + + + +### Microsoft.Windows.SysReset.FlightUninstallError + +This event sends an error code when the Windows uninstallation fails. + +The following fields are available: + +- **ErrorCode** Error code for uninstallation failure. + + +### Microsoft.Windows.SysReset.FlightUninstallReboot + +This event is sent to signal an upcoming reboot during uninstallation of Windows. + + + +### Microsoft.Windows.SysReset.FlightUninstallStart + +This event indicates that the Windows uninstallation has started. + + + +### Microsoft.Windows.SysReset.FlightUninstallUnavailable + +This event sends diagnostic data when the Windows uninstallation is not available. + +The following fields are available: + +- **AddedProfiles** Indicates that new user profiles have been created since the flight was installed. +- **MissingExternalStorage** Indicates that the external storage used to install the flight is not available. +- **MissingInfra** Indicates that uninstall resources are missing. +- **MovedProfiles** Indicates that the user profile has been moved since the flight was installed. + + +### Microsoft.Windows.SysReset.HasPendingActions + +This event is sent when users have actions that will block the uninstall of the latest quality update. + + + +### Microsoft.Windows.SysReset.IndicateLCUWasUninstalled + +This event is sent when the registry indicates that the latest cumulative Windows update package has finished uninstalling. + +The following fields are available: + +- **errorCode** The error code if there was a failure during uninstallation of the latest cumulative Windows update package. + + +### Microsoft.Windows.SysReset.LCUUninstall + +This event is sent when the latest cumulative Windows update was uninstalled on a device. + +The following fields are available: + +- **errorCode** An error that occurred while the Windows update package was being uninstalled. +- **packageName** The name of the Windows update package that is being uninstalled. +- **removalTime** The amount of time it took to uninstall the Windows update package. + + +### Microsoft.Windows.SysReset.PBRBlockedByPolicy + +This event is sent when a push-button reset operation is blocked by the System Administrator. + +The following fields are available: + +- **PBRBlocked** Reason the push-button reset operation was blocked. +- **PBRType** The type of push-button reset operation that was blocked. + + +### Microsoft.Windows.SysReset.PBREngineInitFailed + +This event signals a failed handoff between two recovery binaries. + +The following fields are available: + +- **Operation** Legacy customer scenario. + + +### Microsoft.Windows.SysReset.PBREngineInitSucceed + +This event signals successful handoff between two recovery binaries. + +The following fields are available: + +- **Operation** Legacy customer scenario. + + +### Microsoft.Windows.SysReset.PBRFailedOffline + +This event reports the error code when recovery fails. + +The following fields are available: + +- **HRESULT** Error code for the failure. +- **PBRType** The recovery scenario. +- **SessionID** The unique ID for the recovery session. + + +### Microsoft.Windows.SystemReset.EsimPresentCheck + +This event is sent when a device is checked to see whether it has an embedded SIM (eSIM). + +The following fields are available: + +- **errorCode** Any error that occurred while checking for the presence of an embedded SIM. +- **esimPresent** Indicates whether an embedded SIM is present on the device. +- **sessionID** The ID of this session. + + +### Microsoft.Windows.SystemReset.PBRCorruptionRepairOption + +This event sends corruption repair diagnostic data when the PBRCorruptionRepairOption encounters a corruption error. + +The following fields are available: + +- **cbsSessionOption** The corruption repair configuration. +- **errorCode** The error code encountered. +- **meteredConnection** Indicates whether the device is connected to a metered network (wired or WiFi). +- **sessionID** The globally unique identifier (GUID) for the session. + + +### Microsoft.Windows.SystemReset.RepairNeeded + +This event provides information about whether a system reset needs repair. + +The following fields are available: + +- **repairNeeded** Indicates whether there was corruption in the system reset which needs repair. +- **sessionID** The ID of this push-button reset session. + + +## UEFI events + +### Microsoft.Windows.UEFI.ESRT + +This event sends basic data during boot about the firmware loaded or recently installed on the machine. This helps to keep Windows up to date. + +The following fields are available: + +- **DriverDirmwareFilename** No content is currently available. +- **DriverFirmwareFilename** The firmware file name reported by the device hardware key. +- **DriverFirmwarePolicy** The optional version update policy value. +- **DriverFirmwareStatus** The firmware status reported by the device hardware key. +- **DriverFirmwareVersion** The firmware version reported by the device hardware key. +- **FarmwareType** No content is currently available. +- **FirmwareId** The UEFI (Unified Extensible Firmware Interface) identifier. +- **FirmwareLastAttemptStatus** The reported status of the most recent firmware installation attempt, as reported by the EFI System Resource Table (ESRT). +- **FirmwareLastAttemptVersion** The version of the most recent attempted firmware installation, as reported by the EFI System Resource Table (ESRT). +- **FirmwareType** The UEFI (Unified Extensible Firmware Interface) type. +- **FirmwareVersion** The UEFI (Unified Extensible Firmware Interface) version as reported by the EFI System Resource Table (ESRT). +- **Ini|iateUpdate** No content is currently available. +- **InitiateUpdate** Indicates whether the system is ready to initiate an update. +- **LastAttemptDate** The date of the most recent attempted firmware installation. +- **LastAttemptStatus** The result of the most recent attempted firmware installation. +- **LastAttemptVersion** The version of the most recent attempted firmware installation. +- **LowestSupportedFirmwareVersaon** No content is currently available. +- **LowestSupportedFirmwareVersion** The oldest (lowest) version of firmware supported. +- **MaxRetryCount** The maximum number of retries, defined by the firmware class key. +- **RetpyCount** No content is currently available. +- **RetryCount** The number of attempted installations (retries), reported by the driver software key. +- **Status** The status returned to the PnP (Plug-and-Play) manager. +- **UpdateAttempted** Indicates if installation of the current update has been attempted before. + + +## Update events + +### Update360Telemetry.Revert + +This event sends data relating to the Revert phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the Revert phase. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RebootRequired** Indicates reboot is required. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **RevertResult** The result code returned for the Revert operation. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentDownloadRequest + +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **_WTlgCV__** No content is currently available. +- **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. +- **DownloadRequests** Number of times a download was retried. +- **ErrorCode** The error code returned for the current download request phase. +- **essionGId** No content is currently available. +- **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. +- **PackageCountTotalExprssi** No content is currently available. +- **PackageCountTotalPSFX** The total number of PSFX packages. +- **PackageExpressType** Type of express package. +- **PackageExprssiType** No content is currently available. +- **PackageSizeCanonical** Size of canonical packages in bytes. +- **PackageSizeDiff** Size of diff packages in bytes. +- **PackageSizeExpress** Size of express packages in bytes. +- **PackageSizeExprssi** No content is currently available. +- **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 following fields are available: + +- **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 following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **essionGData** No content is currently available. +- **essionGId** No content is currently available. +- **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. +- **ScenaiodId** No content is currently available. +- **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 following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **ExtelsionName** No content is currently available. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **MergeId** The unique ID to join two update sessions being merged. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +The 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 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 following fields are available: + +- **essionGId** No content is currently 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. +- **ScenaiodId** No content is currently available. +- **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 following fields are available: + +- **Count** The count of applicable OneSettings for the device. +- **essionGId** No content is currently available. +- **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. +- **ScenaiodId** No content is currently available. +- **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 following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **ObjectId** Unique value for each Update Agent mode. +- **PostRebootResult** Indicates the Hresult. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentReboot + +This event sends information indicating that a request has been sent to suspend an update. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. +- **ObjectId** The unique value for each Update Agent mode. +- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **ContainsExpressPackage** Indicates whether the download package is express. +- **FlightId** Unique ID for each flight. +- **FreeSpace** Free space on OS partition. +- **InstallCount** Number of install attempts using the same sandbox. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **SandboxSize** Size of the sandbox. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **SetupMode** Mode of setup to be launched. +- **UpdateId** Unique ID for each Update. +- **UserSession** Indicates whether install was invoked by user actions. + + +## Update notification events + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat + +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. + +The 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 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 following fields are available: + +- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. +- **DownloadRequestAttributes** The attributes we send to DCAT. +- **ResultCode** The result returned from the initiation of Facilitator with the URL/attributes. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **Url** The Delivery Catalog (DCAT) URL we send the request to. +- **Version** Version of Facilitator. + + +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). +- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). +- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** An ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. + + +### Setup360Telemetry.Finalize + +This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.OsUninstall + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. + +The 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. +- **ReportId** Retrieves the report ID. +- **ScenarioId** Retrieves the deployment scenario. +- **Value** Retrieves the value associated with the corresponding FieldName. + + +### Setup360Telemetry.Setup360DynamicUpdate + +This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. +- **Operation** Facilitator’s last known operation (scan, download, etc.). +- **ReportId** ID for tying together events stream side. +- **ResultCode** Result returned for the entire setup operation. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **ScenarioId** Identifies the update scenario. +- **TargetBranch** Branch of the target OS. +- **TargetBuild** Build of the target OS. + + +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + +The 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 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 following fields are available: + +- **ClientId** The Windows Update client ID passed to Setup. +- **Count** The count of applicable OneSettings for the device. +- **FlightData** The ID for the flight (test instance version). +- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **ReportId** The Update ID passed to Setup. +- **Result** The HResult of the event error. +- **ScenarioId** The update scenario ID. +- **Values** Values sent back to the device, if applicable. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.SummaryEvent + +Result of the WaaSMedic operation. + +The following fields are available: + +- **callerAppliationE** No content is currently available. +- **callerApplicatinE** No content is currently available. +- **callerApplication** The name of the calling application. +- **capsuleCount** The number of Sediment Pack capsules. +- **capsuleFailureCount** The number of capsule failures. +- **depectionSummary** No content is currently available. +- **detectinESummary** No content is currently available. +- **detectionSummary** Result of each applicable detection that was run. +- **detectonESummary** No content is currently available. +- **featureAssessientImpact** No content is currently available. +- **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. +- **noMoraActions** No content is currently available. +- **noMoreActinEs** No content is currently available. +- **noMoreActions** No more applicable diagnostics. +- **pluginFailureCount** The number of plugins that have failed. +- **pluginsCount** The number of plugins. +- **qualityAssessientImpact** No content is currently available. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **r6mediationSummary** No content is currently available. +- **remediatinESummary** No content is currently available. +- **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. +- **remediatonESummary** No content is currently available. +- **usingBackupFeatureAssessient** No content is currently available. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessient** No content is currently available. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **usingCachedFeatureAssessient** No content is currently available. +- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. +- **usingCachedQualityAssessient** No content is currently available. +- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. +- **versionString** Version of the WaaSMedic engine. +- **waasMedicRuEMode** No content is currently available. +- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. + + +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootI`** No content is currently available. +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). + + +### Value + +This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. + +The following fields are available: + +- **Algorithm** The algorithm used to preserve privacy. +- **DPRange** The upper bound of the range being measured. +- **DPValue** The randomized response returned by the client. +- **Epsilon** The level of privacy to be applied. +- **HistType** The histogram type if the algorithm is a histogram algorithm. +- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. + + +## Windows Error Reporting MTT events + +### Microsoft.Windows.WER.MTT.Denominator + +This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. + +The following fields are available: + +- **Value** Standard UTC emitted DP value structure See [Value](#value). + + +## Windows Hardware Error Architecture events + +### WheaProvider.WheaErrorRecord + +This event collects data about common platform hardware error recorded by the Windows Hardware Error Architecture (WHEA) mechanism. + +The following fields are available: + +- **creatorId** The unique identifier for the entity that created the error record. +- **errorFlags** Any flags set on the error record. +- **notifyType** The unique identifier for the notification mechanism which reported the error to the operating system. +- **partitionId** The unique identifier for the partition on which the hardware error occurred. +- **platformId** The unique identifier for the platform on which the hardware error occurred. +- **record** A collection of binary data containing the full error record. +- **recordId** The identifier of the error record. +- **sectionFlags** The flags for each section recorded in the error record. +- **sectionTypes** The unique identifier that represents the type of sections contained in the error record. +- **severityCount** The severity of each individual section. +- **timeStamp** The error time stamp as recorded in the error record. + + +## Windows Security Center events + +### Microsoft.Windows.Security.WSC.DatastoreMigratedVersion + +This event provides information about the datastore migration and whether it was successful. + +The following fields are available: + +- **datastoreisvtype** The product category of the datastore. +- **datastoremigrated** The version of the datastore that was migrated. +- **status** The result code of the migration. + + +### Microsoft.Windows.Security.WSC.GetCallerViaWdsp + +This event returns data if the registering product EXE (executable file) does not allow COM (Component Object Model) impersonation. + +The following fields are available: + +- **callerExe** The registering product EXE that does not support COM impersonation. + + +## Windows Store events + +### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation + +This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The Item Bundle ID. +- **CategoryId** The Item Category ID. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed before this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Was this a mandatory update? +- **IsRemediation** Was this a remediation install? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Flag indicating if this is an update. +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The product family name of the product being installed. +- **ProductId** The identity of the package or packages being installed. +- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. +- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds + +This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare + +This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation + +This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. +- **AttemptNumber** Total number of installation attempts. +- **BundleId** The identity of the Windows Insider build that is associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this an automatic restore of a previously acquired product? +- **IsUpdate** Is this a product update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of all packages to be downloaded and installed. +- **PreviousHResult** The previous HResult code. +- **PreviousInstallState** Previous installation state before it was canceled. +- **ProductId** The name of the package or packages requested for installation. +- **RelatedCV** Correlation Vector of a previous performed action on this product. +- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. +- **UserAttemptNumber** Total number of user attempts to install before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest + +This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Product ID of the app being installed. +- **HResult** HResult code of the action being performed. +- **IsBundle** Is this a bundle? +- **PackageFamilyName** The name of the package being installed. +- **ProductId** The Store Product ID of the product being installed. +- **SkuId** Specific edition of the item being installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense + +This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. +- **AggregatedPaskageFullNames** No content is currently available. +- **AttemptNember** No content is currently available. +- **AttemptNumber** The total number of attempts to acquire this product. +- **BundleId** The bundle ID +- **CategoryId** The identity of the package or packages being installed. +- **CatgoryId** No content is currently available. +- **ClientAppId** The identity of the app that initiated this operation. +- **EserAttemptNumber** No content is currently available. +- **HResult** HResult code to show the result of the operation (success/failure). +- **IsBundle** Is this a bundle? +- **IsBunlle** No content is currently available. +- **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? +- **NewState** No content is currently available. +- **PapentBundleId** No content is currently available. +- **Pare~tBundleId** No content is currently available. +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **PluginLastStage** No content is currently available. +- **Prevstate** No content is currently available. +- **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: + +- **AggrebatedPackageFullNames** No content is currently available. +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **AystemAttemptNumber** No content is currently available. +- **BEndleId** No content is currently available. +- **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. +- **DognloadSize** No content is currently available. +- **DownloadAize** No content is currently available. +- **DownloadSize** The total size of the download. +- **ExtendedHPesult** No content is currently available. +- **ExtendedHResult** Any extended HResult error codes. +- **HBesult** No content is currently available. +- **HPesult** No content is currently available. +- **HResult** The result code of the last action performed. +- **IsBEndle** No content is currently available. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this initiated by the user? +- **IsInteractmve** No content is currently available. +- **IsMandatory** Is this a mandatory installation? +- **IsPestore** No content is currently available. +- **IsRemediation** Is this repairing a previous installation? +- **IsRemediatmon** No content is currently available. +- **IsRestora** No content is currently available. +- **IsRestore** Is this a restore of a previously acquired product? +- **IsUpdate** Is this an update? +- **ParentBEndleId** No content is currently available. +- **parentBundleId** No content is currently available. +- **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. +- **SystemAtte}ptNumber** No content is currently available. +- **SystemAttemptNumber** The number of attempts by the system to download. +- **UserAtdemptNumber** No content is currently available. +- **UserAttemptNumber** The number of attempts by the user to download. +- **UserAttemptNumbez** No content is currently available. +- **WUCnntentId** No content is currently available. +- **WuContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate + +This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds + +This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndInstall + +This event is sent after a product has been installed to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **CategoryIdBundleId** No content is currently available. +- **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. +- **HResultaller_2tendedHResult** No content is currently available. +- **IsBundle** Is this a bundle? +- **IsEandatory** No content is currently available. +- **IsInteractive** Is this an interactive installation? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediadion** No content is currently available. +- **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: + +- **ClienpAppId** No content is currently available. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsApplicabili0y** No content is currently available. +- **IsApplicability** Is this request to only check if there are any applicable packages to install? +- **IsInteractive** Is this user requested? +- **IsOnlile** No content is currently available. +- **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. +- **WUAontentId** No content is currently available. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData + +This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of system attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare + +This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete + +This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **Cat76ogId** No content is currently available. +- **CatalogId** The name of the product catalog from which this app was chosen. +- **CTyalogId** No content is currently available. +- **FailedRetry** Indicates whether the installation or update retry was successful. +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate + +This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The name of the product catalog from which this app was chosen. +- **CatAlogId** No content is currently available. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **FulfillmentPlugiNId** No content is currently available. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **PluwynTelemetryData** No content is currently available. +- **ProductId** The product ID of the app that is being updated or installed. +- **ProDuctId** No content is currently available. + + +### 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. +- **VodumePath** No content is currently available. +- **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: + +- **AggregatedPackageFellNames** No content is currently available. +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemppNumber** No content is currently available. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CateforyId** No content is currently available. +- **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? +- **IsIntevactive** No content is currently available. +- **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? +- **IsUserRedry** No content is currently available. +- **IsUserRetry** Did the user initiate the retry? +- **P`rentBundleId** No content is currently available. +- **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. +- **PrevioesInstallState** No content is currently available. +- **PreviousHResult** The previous HResult error code. +- **PreviousInstallState** Previous state before the installation was paused. +- **Pro`uctId** No content is currently available. +- **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. +- **SystemAttelptNumber** No content is currently available. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNueber** No content is currently available. +- **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: + +- **@luginLastStage** No content is currently available. +- **Cat76ogId** No content is currently available. +- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. +- **CAtalogId** No content is currently available. +- **CatealogId** No content is currently available. +- **FulfhllmentPluginId** No content is currently available. +- **Fulfill}untPluginId** No content is currently available. +- **Fulfillment@luginId** No content is currently available. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **FulfillmentPluminId** No content is currently available. +- **Fulfillmu~tPluginId** No content is currently available. +- **HResqlt** No content is currently available. +- **HResu|t** No content is currently available. +- **HResult** The resulting HResult error/success code of this operation. +- **HRgsult** No content is currently available. +- **NdwState** No content is currently available. +- **NewCtate** No content is currently available. +- **NewState** The current fulfillment state of this product. +- **Pbevstate** No content is currently available. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginL`stStage** No content is currently available. +- **PluginLartStage** No content is currently available. +- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). +- **PluginTelemetbyData** No content is currently available. +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **PluminLastStage** No content is currently available. +- **PluminTelemetryData** No content is currently available. +- **Pretstate** No content is currently available. +- **Prevstate** The previous fulfillment state of this product. +- **ProductId** Product ID of the app that is being updated or installed. +- **ProductYd** No content is currently available. +- **Pruvstate** No content is currently available. + + +### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest + +This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **PFamN** The name of the app that is requested for update. + + +## Windows Update CSP events + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed + +This event sends basic telemetry on the failure of the Feature Rollback. + +The following fields are available: + +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **hResult** Failure error code. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. +- **sacDevice** This is the device info. +- **wUfBConnected** Result of 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 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. + + + +## 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 following fields are available: + +- **background** Is the download being done in the background? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP Address of the source CDN (Content Delivery Network). +- **cdnUrl** The URL of the source CDN (Content Delivery Network). +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **errorCode** The error code that was returned. +- **experimentId** When running a test, this is used to correlate events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **predefinedCallerName** The name of the API Caller. +- **reasonCode** Reason the action or event occurred. +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the file download session. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted + +This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **__TlgCR__** No content is currently available. +- **axpiresAt** No content is currently available. +- **backgroqnd** No content is currently available. +- **background** Is the download a background download? +- **baskground** No content is currently available. +- **bRequested** No content is currently available. +- **bytesFromCa#heServer** No content is currently available. +- **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. +- **bytesFromLinkLobalPeers** No content is currently available. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCa#he** No content is currently available. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **bytesP8omCacheServer** No content is currently available. +- **bytesP8omCDN** No content is currently available. +- **bytesP8omGroupPeers** No content is currently available. +- **bytesP8omIntPeers** No content is currently available. +- **bytesP8omLinkLocalPeers** No content is currently available. +- **bytesP8omLocalCache** No content is currently available. +- **bytesP8omPeers** No content is currently available. +- **bytesRequested** The total number of bytes requested for download. +- **bytesRequeSted** No content is currently available. +- **ca#heServerConnectionCount** No content is currently available. +- **cacheSArverConnectionCount** No content is currently available. +- **cacheServerConnectionCount** Number of connections made to cache hosts. +- **cacheServertionrctionCount** No content is currently available. +- **cdbytesRequested** No content is currently available. +- **cdnCknnectionCount** No content is currently available. +- **cdnConnectionCou.t** No content is currently available. +- **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. +- **cdntionrctionCount** No content is currently available. +- **cdnUrl** Url of the source Content Distribution Network (CDN). +- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). +- **dowNlinkBps** No content is currently available. +- **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. +- **downlocdMode** No content is currently available. +- **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. +- **fumPeers** No content is currently available. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **grouptionrctionCount** No content is currently available. +- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. +- **internetConnrctionCount** No content is currently available. +- **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. +- **jofID** No content is currently available. +- **lanAonnectionCount** No content is currently available. +- **lanConnectionCount** The total number of connections made to peers in the same LAN. +- **lantionrctionCount** No content is currently available. +- **leID** No content is currently available. +- **linkLocalConnectionCount** The number of connections made to peers in the same Link-local network. +- **linkLocaltionrctionCount** No content is currently available. +- **numPeers** The total number of peers used for this download. +- **numPeersLocal** The total number of local peers used for this download. +- **nu-PeersLocal** No content is currently available. +- **predefinedCallerName** The name of the API Caller. +- **restrictedUpload** Is the upload restricted? +- **routeToCa#heServer** No content is currently available. +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the download session. +- **sRequested** No content is currently available. +- **totalTimeMs** Duration of the download (in seconds). +- **updateID** The ID of the update being downloaded. +- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). +- **uplinkUsageBps** The upload speed (in bytes per second). +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused + +This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **arrorCode** No content is currently 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. +- **expriomentId** No content is currently available. +- **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. +- **routeToCa#heServer** No content is currently available. +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the download session. +- **ssionGGID** No content is currently available. +- **sssionGID** No content is currently available. +- **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 following fields are available: + +- **arrorCode** No content is currently available. +- **background** Indicates whether the download is happening in the background. +- **backgrouod** No content is currently available. +- **backgroutd** No content is currently available. +- **bytesRequested** Number of bytes requested for the download. +- **bytesRuquested** No content is currently available. +- **cdfileSize** No content is currently available. +- **cdnUrl** The URL of the source Content Distribution Network (CDN). +- **costFlags** A set of flags representing network cost. +- **device@rofile** No content is currently available. +- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). +- **deviceProfiLe** No content is currently available. +- **devicePronile** No content is currently available. +- **diceRoll** Random number used for determining if a client will use peering. +- **doClientVersibn** No content is currently available. +- **doClientVersion** The version of the Delivery Optimization client. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **dow~loadModeReason** No content is currently available. +- **down,oadModeSrc** No content is currently available. +- **downloadMod`Src** No content is currently available. +- **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. +- **errorCodm** No content is currently available. +- **experimen|Id** No content is currently available. +- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. +- **faleSizeCaller** No content is currently available. +- **fileID** The ID of the file being downloaded. +- **filePat`** No content is currently available. +- **filePath** The path to where the downloaded file will be written. +- **fileShzeCaller** No content is currently available. +- **fileSize** Total file size of the file that was downloaded. +- **fileSizeCa`ler** No content is currently available. +- **fileSizeCall4r** No content is currently available. +- **fileSizeCaller** Value for total file size provided by our caller. +- **filgSizeCaller** No content is currently available. +- **gdnUrl** No content is currently available. +- **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. +- **nilePath** No content is currently available. +- **pDerID** No content is currently available. +- **peerID** The ID for this delivery optimization client. +- **peerID@doClientVersion** No content is currently available. +- **predefinddCallerName** No content is currently available. +- **predefinedallerName** No content is currently available. +- **predefinedCallerName** Name of the API caller. +- **predefinedCallErName** No content is currently available. +- **routeToCacheServer** Cache server setting, source, and value. +- **rouveToCacheServer** No content is currently available. +- **sessionID** The ID for the file download session. +- **setConfigs** A JSON representation of the configurations that have been set, and their sources. +- **sssionGID** No content is currently available. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Indicates whether the download used memory streaming. + + +### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication + +This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **cdnHeaders** The HTTP headers returned by the CDN. +- **cdnHearers** No content is currently available. +- **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 +- **isHearRequest** No content is currently available. +- **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 following fields are available: + +- **cdnIp** The IP Address of the source CDN (Content Delivery Network). +- **doErrorCode** Error code returned for delivery optimization. +- **errorCode** The error code returned. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **jobID** The Windows Update job ID. + + +## Windows Update events + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary + +This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **activated** Whether the entire device manifest update is considered activated and in use. +- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. +- **flightId** Unique ID for each flight. +- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. +- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. +- **objectId** Unique value for each diagnostics session. +- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. +- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. +- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. +- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. +- **updateId** The unique ID for each update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit + +This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **objectId** The unique GUID for each diagnostics session. +- **relatedCV** A correlation vector value generated from the latest USO scan. +- **result** Outcome of the initialization of the session. +- **scenarioId** Identifies the Update scenario. +- **sessionId** The unique value for each update session. +- **updateId** The unique identifier for each Update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest + +This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The 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 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 following fields are available: + +- **errorCode** The error code returned for the current install phase. +- **flightId** The unique identifier for each flight. +- **objectId** The unique identifier for each diagnostics session. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **result** Outcome of the install phase of the update. +- **scenarioId** The unique identifier for the update scenario. +- **sessionId** Unique value for each update session. +- **updateId** The unique identifier for each update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart + +This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The 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 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 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 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 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 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 + +Indicates 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.ActivityRestrictedByActiveHoursPolicy + +This event indicates a policy is present that may restrict update activity to outside of active hours. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours + +This event indicates that update activity was blocked because it is within the active hours window. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel + +This event indicates that Windows Update activity was blocked due to low battery level. + +The following fields are available: + +- **batteryLevel** The current battery charge capacity. +- **batteryLevelThreshold** The battery capacity threshold to stop update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Device ID. + + +### Microsoft.Windows.Update.Orchestrator.DeferRestart + +This event indicates that a restart required for installing updates was postponed. + +The following fields are available: + +- **displayNeededReason** List of reasons for needing display. +- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **gameModeReason** Name of the executable that caused the game mode state check to start. +- **ignoredReason** List of reasons that were intentionally ignored. +- **IgnoreReasonsForRestart** List of reasons why restart was deferred. +- **revisionNumber** Update ID revision number. +- **systemNeededReason** List of reasons why system is needed. +- **updateId** Update ID. +- **updateScenarioType** Update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.Detection + +This event indicates that a scan for a Windows Update occurred. + +The following fields are available: + +- **deferReason** Reason why the device could not check for updates. +- **detectionBlockingPolicy** State of update action. +- **detectionBlockreason** The reason detection did not complete. +- **detectionRetryMode** Indicates whether we will try to scan again. +- **errorCode** The error code returned for the current process. +- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session was user initiated. +- **networkStatus** Error info +- **revisionNumber** Update revision number. +- **scanTriggerSource** Source of the triggered scan. +- **updateId** Update ID. +- **updateScenarioType** Identifies the type of update session being performed. +- **wuDeviceid** The unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.DetectionActivity + +This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. + +The following fields are available: + +- **applicableUpdateIdList** The list of update identifiers. +- **applicableUpdateList** The list of available updates. +- **ccenario** No content is currently available. +- **durationIESeconds** No content is currently available. +- **durationInSeconds** The amount of time (in seconds) it took for the event to run. +- **expeditedMode** Indicates whether Expedited Mode is on. +- **networkCostPolicy** The network cost. +- **scanTriggerSo}rce** No content is currently available. +- **scanTriggerSource** Indicates whether the scan is Interactive or Background. +- **scefarioReason** No content is currently available. +- **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 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 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. +- **updateScenarioTypeB174271CghtID** No content is currently available. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels + +This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. + +The following fields are available: + +- **configVersion** The escalation configuration version on the device. +- **downloadElapsedTime** Indicates how long since the download is required on device. +- **downloadRiskLevel** At-risk level of download phase. +- **installElapsedTime** Indicates how long since the install is required on device. +- **installRiskLevel** The at-risk level of install phase. +- **isSediment** Assessment of whether is device is at risk. +- **scanElapsedTime** Indicates how long since the scan is required on device. +- **scanRiskLevel** At-risk level of the scan phase. +- **wuDeviceid** Device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask + +This event indicated that USO failed to add a trigger time to a task. + +The following fields are available: + +- **errorCode** The Windows Update error code. +- **wuDeviceid** The Windows Update device ID. + + +### Microsoft.Windows.Update.Orchestrator.FlightInapplicable + +This event indicates that the update is no longer applicable to this device. + +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 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 up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **de&erReasob** No content is currently available. +- **deferReason** Reason for install not completing. +- **e6entScenario** No content is currently available. +- **errorCkde** No content is currently available. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **fl)ghtID** No content is currently available. +- **flightID** The ID of the Windows Insider build the device is getting. +- **flightUpdate** Indicates whether the update is a Windows Insider build. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. +- **Part_PrivTags** No content is currently available. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNum"er** No content is currently available. +- **revisionNumber** Update revision number. +- **rrorCode** No content is currently available. +- **updatecenarioPype** No content is currently available. +- **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. +- **wueviceid** No content is currently available. + + +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **availableHistoryMinutes** The number of minutes available from the local machine activity history. +- **isLowUptimeMachine** Is the machine considered low uptime or not. +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated before the shutdown and commit operations. + +The following fields are available: + +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask + +This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. + +The following fields are available: + +- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. +- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device ID for the device on which the reboot is restored. + + +### Microsoft.Windows.Update.Orchestrator.ScanTriggered + +This event indicates that Update Orchestrator has started a scan operation. + +The following fields are available: + +- **hsScanPastTriggerSla** No content is currently available. +- **interactive** Indicates whether the scan is interactive. +- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. +- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. +- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. +- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. +- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. +- **scanTriggerSource** Indicates what caused the scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable + +This event defines when an optional update is available for the device to help keep Windows up to date. + +The following fields are available: + +- **flightID** The unique identifier of the Windows Insider build on this device. +- **isFeatureUpdate** Indicates whether the update is a Feature Update. +- **revisionNumber** The revision number of the update. +- **updateId** The GUID (Globally Unique Identifier) of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.SeekUpdate + +This event occurs when user initiates "seeker" scan. This helps keep Windows up to date. + +The following fields are available: + +- **flightID** The ID of the Windows Insider builds on the device. +- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. +- **revisionNumber** The revision number of the update. +- **updateId** The identifier of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.StickUpdate + +This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. + +The 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 up to date. + +The following fields are available: + +- **eventScenario** End-to-end update session ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours + +This event indicates that update activity was stopped due to active hours starting. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** The device identifier. + + +### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorInvalidSignature + +This event is sent when an updater has attempted to register a binary that is not signed by Microsoft. + +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 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.UnstickUpdate + +This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. + +The following fields are available: + +- **updateId** Identifier associated with the specific piece of content. +- **wuDeviceid** Unique device ID controlled by the software distribution client. + + +### Microsoft.Windows.Update.Orchestrator.UpdateNotApplicableForReserves + +This event reports a critical error when using update reserves for OS updates to help keep Windows up to date. + +The following fields are available: + +- **updateId** The GUID (Globally Unique Identifier) of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh + +This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. + +The following fields are available: + +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaliesource** No content is currently available. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed + +This event is sent when an updater failed to execute the registered callback. + +The following fields are available: + +- **updaterArgument** The argument to pass to the updater callback. +- **updaterCmdLine** The callback executable for the updater. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired + +This event sends data about whether an update required a reboot to help keep Windows up to date. + +The following fields are available: + +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData + +This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. + +The following fields are available: + +- **malformedRegValue** The registry value that contains the malformed or missing entry. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.UsoSession + +This event represents the state of the USO service at start and completion. + +The following fields are available: + +- **activeSessionid** A unique session GUID. +- **eventScenario** The state of the update action. +- **interactive** Is the USO session interactive? +- **lastErrorcode** The last error that was encountered. +- **lastErrorstate** The state of the update when the last error was encountered. +- **sessionType** A GUID that refers to the update session type. +- **updateScenarioType** A descriptive update session type. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.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 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 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 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. It's used to help keep Windows 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. + + +### 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. + + +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. + +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 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. + + +### Mitigation360Telemetry.MitigationCustom.FixupEditionId + +This event sends data specific to the FixupEditionId mitigation used for OS updates. + +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. +- **EditionIdUpdated** Determine whether EditionId was changed. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **ProductEditionId** Expected EditionId value based on GetProductInfo. +- **ProductType** Value returned by GetProductInfo. +- **RegistryEditionId** EditionId value in the registry. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **WuId** Unique ID for the Windows Update client. + + +## 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 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 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 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 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 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 following fields are available: + +- **Fallb!ckInitUsed** No content is currently 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. +- **HardReserweTargetSize** No content is currently available. +- **HasdReserveFinalSize** No content is currently available. +- **HasdReserveInitialSize** No content is currently available. +- **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 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 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 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. + + + +### Microsoft.Windows.UpdateReserveManager.TurnOffReserves + +This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. + +The following fields are available: + +- **__TngCV__** No content is currently 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 +- **HcrdReserveSize** No content is currently available. +- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. +- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. +- **SoftReserveSize** The size of the soft reserve when Turn Off is called. +- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. + + +### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment + +This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. + +The following fields are available: + +- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. +- **Disposition** The parameter for the hard reserve adjustment function. +- **Flags** The flags passed to the hard reserve adjustment function. +- **PendingHardReserveAdjustment** The final change to the hard reserve size. +- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. + + +## Winlogon events + +### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon + +This event signals the completion of the setup process. It happens only once during the first logon. + + + +## XBOX events + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + +The following fields are available: + +- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. +- **AppId** The Xbox LIVE Title ID. +- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. +- **Result** The HResult error. +- **UserId** The Xbox LIVE User ID (XUID). + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + +The following fields are available: + +- **AppActionId** The ID of the application action. +- **AppCurrentVisibilityState** The ID of the current application visibility state. +- **AppId** The Xbox LIVE Title ID of the app. +- **AppPackageFullName** The full name of the application package. +- **AppPreviousVisibilityState** The ID of the previous application visibility state. +- **AppSessionId** The application session ID. +- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). +- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. +- **DurationMs** The amount of time (in milliseconds) since the last application state transition. +- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. +- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). +- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. +- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. +- **UserId** The XUID (Xbox User ID) of the current user. + + + diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md index ec931ed25e..f1b18fac57 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md @@ -1,6 +1,6 @@ --- description: Use this article to learn more about what required Windows diagnostic data is gathered. -title: Windows 10, version Vibranium required diagnostic events and fields (Windows 10) +title: Windows 10, version 2005 required diagnostic events and fields (Windows 10) keywords: privacy, telemetry ms.prod: w10 ms.mktglfcycl: manage @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/18/2020 +ms.date: 03/23/2020 --- @@ -26,7 +26,7 @@ ms.date: 03/18/2020 **Applies to** -- Windows 10, version Vibranium +- Windows 10, version 2005 Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. @@ -56,213 +56,24 @@ This event lists the types of objects and how many of each exist on the client d 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_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_RS5** The count of the number of this particular object type present on this device. -- **DatasourceApplicationFile_RS5Setup** 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_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_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. -- **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_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_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. -- **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_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_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoBlock_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPassive_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS5Setup** 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_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_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. -- **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_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_RS5** The count of the number of this particular object type present on this device. -- **DecisionApplicationFile_RS5Setup** 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_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_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. -- **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_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_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. -- **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_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_RS5** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoBlock_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoPassive_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS5Setup** 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_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_RS5** The count of the number of this particular object type present on this device. -- **DecisionMediaCenter_RS5Setup** 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_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_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. -- **DecisionTest_20H1** 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_21H1Setup** The count of the number of this particular object type present on this device. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **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_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_RS5** The count of the number of this particular object type present on this device. -- **Wmdrm_RS5Setup** The count of the number of this particular object type present on this device. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -Represents the basic metadata about specific application files installed on the system. - -This event 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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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 @@ -274,7 +85,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. - **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 @@ -287,28 +97,6 @@ The following fields are available: - **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. - -This event includes fields from [Ms.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. @@ -317,65 +105,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** Deprecated in RS3. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. -- **SdbEntries** Deprecated in RS3. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. - -This event includes fields from [Ms.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. - **SdbEntries** Deprecated in RS3. @@ -390,1218 +119,8 @@ 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 includes fields from [Ms.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. -- **SdbEntries** Deprecated in RS3. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. - -This event includes fields from [Ms.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. -- **SdbEntries** Deprecated in RS3. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync - -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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 includes fields from [Ms.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 is no longer present. - -This event includes fields from [Ms.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 - -The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for this driver package. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object is no longer present. - -This event includes fields from [Ms.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 - -This event indicates that a new set of DecisionDriverPackageAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestAdd - -This event provides diagnostic data for testing decision add events. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary generating the events. -- **TestDecisionDataPoint1** Test data point 1. -- **TestDecisionDataPoint2** Test data point 2. - - -### Microsoft.Windows.Appraiser.General.DecisionTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.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. - -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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. - -This event includes fields from [Ms.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.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. - -This event includes fields from [Ms.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. - -This event 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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestAdd - -This event provides diagnostic data for testing event adds. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the component sending the data. -- **TestInvDataPoint1** Test inventory data point 1. -- **TestInvDataPoint2** Test inventory data point 2. - - -### Microsoft.Windows.Appraiser.General.InventoryTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. - -This event 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.InventoryUplevelDriverPackageStartSync - -This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. - -This event includes fields from [Ms.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 indicates what should be expected in the data payload. - -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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. - -This event includes fields from [Ms.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.SystemWindowsActivationStatusStartSync - -This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InboxDataVersion** The original version of the data files before retrieving any newer version. -- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and 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 - -This event indicates that a new set of WmdrmAdd events will be sent. - -This event 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 following fields are available: - -- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). -- **ContainerId** An identifier that uniquely groups the functional devices associated with a single-function or multifunction device. -- **DeviceInstanceId** The unique identifier for this instance of the device. -- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. -- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. -- **endpointEffectModule** Module name for the endpoint effect audio processing object. -- **EndpointFormFactor** The enumeration value for the form factor of the endpoint device (for example speaker, microphone, remote network device). -- **endpointID** The unique identifier for the audio endpoint. -- **endpointInstanceId** The unique identifier for the software audio endpoint. Used for joining to other audio event. -- **Flow** Indicates whether the endpoint is capture (1) or render (0). -- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. -- **globalEffectModule** Module name for the legacy global effect audio processing object. -- **HWID** The hardware identifier for the endpoint. -- **IsBluetooth** Indicates whether the device is a Bluetooth device. -- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. -- **IsSideband** Indicates whether the device is a sideband device. -- **IsUSB** Indicates whether the device is a USB device. -- **JackSubType** A unique ID representing the KS node type of the endpoint. -- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. -- **localEffectModule** Module name for the legacy local effect audio processing object. -- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). -- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. -- **modeEffectModule** Module name for the mode effect audio processing object. -- **persistentId** A unique ID for this endpoint which is retained across migrations. -- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. -- **streamEffectModule** Module name for the stream effect audio processing object. - - ## Census events -### Census.App - -This event sends version data about the Apps running on this device, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Azure - -This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. - -The 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, type to help keep Windows 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.Camera - -This event sends data about the resolution of cameras on the device, to help keep Windows up to date. - -The following fields are available: - -- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. -- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. - - -### 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 following fields are available: - -- **AADDeviceId** Azure Active Directory device ID. -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **EnrollmentType** Defines the type of MDM enrollment on the device. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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? -- **DUID** The device unique ID. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **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, to help keep Windows 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), to help keep Windows up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** Kiosk configuration mode. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for 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. @@ -1628,8 +147,6 @@ The following fields are available: - **InkTypeImprovement** Current state of the improve inking and typing setting. - **Location** Current state of the location setting. - **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. - **Microphone** Current state of the microphone setting. - **PhoneCall** Current state of the phone call setting. - **PhoneCallHistory** Current state of the call history setting. @@ -1649,29 +166,6 @@ The following fields are available: - **WiFiDirect** Current state of the Wi-Fi direct setting. -### Census.Processor - -This event sends data about the processor to help keep Windows 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. @@ -1694,180 +188,6 @@ 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 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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 following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **InkTypePersonalization** Current state of the inking and typing personalization setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **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, to help keep Windows up to date. - -The following fields are available: - -- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVDI** Is the device using Virtual Desktop Infrastructure? -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. -- **VMId** A string that identifies a virtual machine. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? -- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? -- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? -- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **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. -- **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). - - ## Common data extensions ### Common Data Extensions.app @@ -2031,351 +351,6 @@ The following fields are available: - **xid** A list of base10-encoded XBOX User IDs. -## Component-based servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update. - -The following fields are available: - -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. - -The 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. - - - -## Diagnostic data events - -### TelClientSynthetic.AbnormalShutdown_0 - -This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. - -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 sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.AuthorizationInfo_Startup - -Fired by UTC at startup to signal what data we are allowed to collect. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.ConnectivityHeartBeat_0 - -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. - -The following fields are available: - -- **CensusExitCode** Returns last execution codes from census client run. -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTime** Retrieves the last time the device lost free network. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** 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 @@ -2387,15 +362,6 @@ The following fields are available: - **dismInstalledLCUPackageName** The name of the latest installed package. -### Microsoft.Windows.StartRepairCore.DISMPendingInstall - -The DISM Pending Install event sends information to report pending package installation found. - -The following fields are available: - -- **dismPendingInstallPackageName** The name of the pending package. - - ### Microsoft.Windows.StartRepairCore.DISMUninstallLCU The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. @@ -2405,51 +371,6 @@ The following fields are available: - **errorCode** The result code returned by the event. -### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd - -The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. - -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 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 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 following fields are available: - -- **srtRootCauseDiag** The scenario name for a diagnosis event. - - ## Driver installation events ### Microsoft.Windows.DriverInstall.DeviceInstall @@ -2490,7 +411,6 @@ 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. @@ -2509,47 +429,6 @@ 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 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 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. - - ## DxgKernelTelemetry events ### DxgKrnlTelemetry.GPUAdapterInventoryV2 @@ -2566,12 +445,10 @@ 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. @@ -2610,97 +487,16 @@ 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 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. -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - ## Holographic events -### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated - -This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. - -The 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. @@ -2720,46 +516,6 @@ This event indicates Windows Mixed Reality Portal app resuming. This event is al -### TraceLoggingOasisUsbHostApiProvider.DeviceInformation - -This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. - -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 @@ -2769,14 +525,10 @@ This event captures basic checksum data about the device inventory items stored 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 @@ -2799,72 +551,9 @@ 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 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 to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. - -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. - -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. @@ -2878,39 +567,6 @@ 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. - -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. - -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. - -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. @@ -2923,7 +579,6 @@ The following fields are available: - **DiscoveryMethod** The discovery method for the device container. - **FriendlyName** The name of the device container. - **Icon** Deprecated in RS3. The path or index to the icon file. -- **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? @@ -2936,246 +591,6 @@ 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. - -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. - -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. - -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. - -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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. - -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. - -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. - -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. - -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. - -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. - -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 provides the basic metadata about driver binaries running on the system. - -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. - -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. - -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. @@ -3198,58 +613,6 @@ 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. - -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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.General.AppHealthStaticAdd - -This event sends details collected for a specific application on the source device. - - - -### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync - -This event indicates the beginning of a series of AppHealthStaticAdd events. - - - ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd This event provides basic information about active memory slots on the device. @@ -3267,75 +630,6 @@ 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.InventoryMiscellaneousMemorySlotArrayInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync - -This diagnostic event indicates a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd - -Provides data on the installed Office Add-ins. - -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. -- **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. -- **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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 Provides data on the Office identifiers. @@ -3344,7 +638,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic 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 @@ -3354,91 +647,6 @@ 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.InventoryMiscellaneousOfficeIdentifiersStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Office-related Internet Explorer features. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 Describes Office Products installed. @@ -3447,168 +655,12 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic 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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -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 - -Indicates a new sync is being generated for this object type. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Unified Update Platform (UUP) products and what version they are at. - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - ### Microsoft.Windows.Inventory.Indicators.Checksum This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. @@ -3617,105 +669,6 @@ 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 - -These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. - -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 a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. - -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 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 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 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 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 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 @@ -3865,7 +818,6 @@ 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'. @@ -3889,7 +841,6 @@ 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: ''. @@ -3924,25 +875,25 @@ The following fields are available: ### 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 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 The following fields are available: -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). - **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client SHOULD NOT transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. - **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update 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'. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. - **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. - **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. - **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. @@ -3953,19 +904,19 @@ The following fields are available: - **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one request ID. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. - **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server SHOULD NOT return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request SHOULD be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. - **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. @@ -3981,7 +932,7 @@ The following fields are available: - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. @@ -3994,54 +945,6 @@ 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.MigObjectCountDLSys - -This event is used to indicate object count for system paths during different phases of Windows feature update. - -The following fields are available: - -- **knownFoldersSys[i]** System Known folder path location. -- **migDiagSession->CString** Indicates the phase of the update. -- **objectCount** Number of files being tracked for the corresponding phase of the update. - - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. - -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 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 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 @@ -4068,330 +971,17 @@ The following fields are available: - **ResourceFileName** DLL path and name which has a failing service checksum. -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.APIOperation - -This event includes basic data about install and uninstall OneDrive API operations. - -The following fields are available: - -- **APIName** The name of the API. -- **Duration** How long the operation took. -- **IsSuccess** Was the operation successful? -- **ResultCode** The result code. -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.EndExperience - -This event includes a success or failure summary of the installation. - -The 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 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 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 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 following fields are available: - -- **failedCheck** The error code returned by the operation. -- **winInetError** The HResult of the operation. - - ## Other events -### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded - -This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. - -The following fields are available: - -- **ClassGuid** Windows Mixed Reality device class GUID. -- **DeviceInterfaceId** Windows Mixed Reality device interface ID. -- **DeviceName** Windows Mixed Reality device name. -- **DriverVersion** Windows Mixed Reality device driver version. -- **FirmwareVersion** Windows Mixed Reality firmware version. -- **Manufacturer** Windows Mixed Reality device manufacturer. -- **ModelName** Windows Mixed Reality device model name. -- **SerialNumber** Windows Mixed Reality device serial number. - - ### Microsoft.Windows.CbsLite.CbsLiteResetBegin -No content is currently available. +This event is fired from Update OS when re-install of the OS begins. The following fields are available: -- **cbsLiteSessionID** No content is currently available. -- **resetFlags** No content is currently available. -- **wipeDuration** No content is currently available. - - -### Microsoft.Windows.DxDiag.DxDiagExeStopEvent - -This event collects information when the DirectX diagnostics provider stops. - -The following fields are available: - -- **hResult** Numeric value indicating the result of the operation. - - -### Microsoft.Windows.DxDiag.DxDiagLogStopEvent - -This event collects information when the DirectX diagnostics provider stops. - -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. Data has not been properly collected in some queries. - -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 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 following fields are available: - -- **IsISV** Boolean value indicating that the provider is being used by a non-Microsoft application. - - -### Microsoft.Windows.Fundamentals.UserInitiatedFeedback.SimilarFeedbackSelection - -This event measures the usage for Similar Feedback section in Feedback Hub. - -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. - - -### Microsoft.Windows.QUALauncher.Applicable - -This event sends basic information when AQUA launches and checks for any self update. - -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. -- **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 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 following fields are available: - -- **activeProcesses** Number of active processes. -- **atleastOneMitigationSucceeded** Bool flag indicating if at least one mitigation succeeded. -- **callerId** Identifier (GUID) of the caller requesting a system initiated troubleshooter. -- **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 following fields are available: - -- **callerId** It is a GUID to identify the component that is calling into Mitigation Client APIs. It can be: Task Scheduler, Settings App, or GetHelp App. -- **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 following fields are available: - -- **activeProcesses** Number of active processes. -- **callerId** Identifier (GUID) of the caller requesting a system initiated troubleshooter. -- **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. -- **exitCode** Exit code of the execution of the mitigation. -- **exitCodeDefinition** String describing the meaning of the exit code returned by the mitigation (i.e. ProblemNotFound). -- **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.Sense.Client.PerformanceScript.OnboardingScript - -This event is triggered whenever WDATP onboarding script is run. - -The following fields are available: - -- **Message** Error message. - - -### Microsoft.Windows.Setup.WinSetupBoot.Success - -This event sends data indicating that the device has invoked the WinSetupBoot successfully. - -The following fields are available: - -- **Action** It indicates phase/stage of operation. As success event fires on exiting the operation, this value must be 'Exiting'. -- **Duration(ms)** Duration of filter setup instance operation in milliseconds. -- **Rollback** It is blank as this event triggers in success scenario only. - - -### Microsoft.Windows.Shell.UpdateAgent.LogCriticalFailure - -This event provides information about critical errors that occur during Shell package update. - -The following fields are available: - -- **Exception** Exception description. -- **HRresult** Error HResult. -- **Message** Error message. -- **Package** Package name. +- **cbsLiteSessionID** An ID to associate other Cbs events related to this reset session. +- **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. ### NetworkTelemetry.AccessPointData @@ -4406,34 +996,6 @@ This event is logged when the flight controller attempts to write the hosts file -## 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 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 - -Event tells us effectiveness of new privacy experience. - -The following fields are available: - -- **isAdmin** whether the person who is logging in is an admin -- **isExistingUser** whether the account existed in a downlevel OS -- **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience -- **userRegionCode** The current user's region setting - - ## Sediment events ### Microsoft.Windows.Sediment.OSRSS.CheckingOneSettings @@ -4450,21 +1012,6 @@ 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 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 ### SetupPlatformTel.SetupPlatformTelActivityEvent @@ -4478,466 +1025,8 @@ The following fields are available: - **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. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## SIH events - -### SIHEngineTelemetry.ExecuteAction - -This event is triggered with SIH attempts to execute (e.g. install) the update or action in question. Includes important information like if the update required a reboot. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event, whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **RebootRequired** Indicates if a reboot was required to complete the action. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **SihclientVersion** The SIH version. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WuapiVersion** The Windows Update API version. -- **WuaucltVersion** The Windows Update version identifier for SIH. -- **WuauengVersion** The Windows Update engine version identifier. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - ## Software update events -### SoftwareUpdateClientTelemetry.CheckForUpdates - -Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No data is currently reported in this field. Expected value for this field is 0. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TargetReleaseVersion** The value selected for the target release version policy. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Commit - -This event tracks the commit process post the update installation when software update client is trying to update the device. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClassificationId** Classification identifier of the update content. -- **ClientVersion** Version number of the software distribution client -- **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. -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". -- **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). -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. -- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. -- **AppXScope** Indicates the scope of the app download. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. -- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. -- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** What is the device model. -- **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. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The hostname URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. -- **RegulationReason** The reason that the update is regulated -- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific content has previously failed. -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **TargetReleaseVersion** The value selected for the target release version policy. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in ms) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total count of bytes that the download is expected to be. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedDO** Whether the download used the delivery optimization service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content - -The 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 following fields are available: - -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **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. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **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. -- **DeviceModel** The device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetReleaseVersion** The value selected for the target release version policy. -- **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 - -Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). - -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 - -Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). - -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). @@ -4987,277 +1076,8 @@ 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 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 - -Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. - -The following fields are available: - -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected. Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - ## Update events -### Update360Telemetry.Revert - -This event sends data relating to the Revert phase of updating Windows. - -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 following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. - -The following fields are available: - -- **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. -- **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 following fields are available: - -- **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 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 following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. - -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 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 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 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 following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - ### Update360Telemetry.UpdateAgentReboot This event sends information indicating that a request has been sent to suspend an update. @@ -5270,276 +1090,20 @@ 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 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 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 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 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 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. @@ -5548,84 +1112,6 @@ 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 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 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 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. @@ -5633,7 +1119,6 @@ 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 @@ -5648,609 +1133,6 @@ 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 following fields are available: - -- **diagnostic** Parameter where the diagnostic failed. -- **hResult** Error code from attempting the diagnostic. -- **isDetected** Flag indicating whether the condition was detected. -- **pluginName** Name of the attempted diagnostic. -- **versionString** The version number of the remediation engine. - - -### Microsoft.Windows.WaaSMedic.RemediationFailed - -This event is sent when the WaaS Medic update stack remediation tool fails to apply a described resolution to a problem that is blocking Windows Update from operating correctly on a target device. - -The 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 - -Result of the WaaSMedic operation. - -The following fields are available: - -- **callerApplication** The name of the calling application. -- **capsuleCount** The number of Sediment Pack capsules. -- **capsuleFailureCount** The number of capsule failures. -- **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineBlockReason** Indicates the reason for stopping WaaSMedic. -- **hrEngineResult** Error code from the engine operation. -- **hrLastSandboxError** The last error sent by the WaaSMedic sandbox. -- **initSummary** Summary data of the initialization method. -- **isInteractiveMode** The user started a run of WaaSMedic. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **pluginFailureCount** The number of plugins that have failed. -- **pluginsCount** The number of plugins. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **versionString** Version of the WaaSMedic engine. -- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -## 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 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 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.WheaDriverErrorInternal - -This event is sent when a common platform hardware error is recorded by a WHEA error source driver. - -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.WheaDriverErrorInternalNonCritical - -This event is sent when a common platform hardware error is recorded by a WHEA error source driver. These records are for events that can happen at high rates. - -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 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 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. - - -### WheaProvider.WheaErrorRecordNonCritical - -This event reports a common platform hardware error recorded by WHEA. These records are for events that can happen at high rates like PCIe corrected errors. - -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. - - -## Windows Store events - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **ResumeClientId** The ID of the app that initiated the resume operation. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specfic edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.StateTransition - -Products in the process of being fulfilled (installed or updated) are maintained in a list. This event is sent any time there is a change in a product's fulfillment status (pending, working, paused, cancelled, or complete), to help keep Windows up to date and secure. - -The following fields are available: - -- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **HResult** The resulting HResult error/success code of this operation. -- **NewState** The current fulfillment state of this product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **Prevstate** The previous fulfillment state of this product. -- **ProductId** Product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - ## Windows Update CSP events ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed @@ -6269,213 +1151,6 @@ The following fields are available: - **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 following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **cdnUrl** The URL of the source CDN (Content Delivery Network). -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller. -- **reasonCode** Reason the action or event occurred. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **cdnUrl** Url of the source Content Distribution Network (CDN). -- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **expiresAt** The time when the content will expire from the Delivery Optimization Cache. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **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). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### 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 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 following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isEncrypted** Indicates whether the download is encrypted. -- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **peerID** The ID for this delivery optimization client. -- **predefinedCallerName** Name of the API caller. -- **routeToCacheServer** Cache server setting, source, and value. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The 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 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 @@ -6484,1075 +1159,27 @@ This event sends data collected at the beginning of the Data Migration Framework The following fields are available: -- **CorrelationVectors** CVs associated with each phase. - **MigrationMicrosoftPhases** The number of Microsoft-authored migrators scheduled to be ran by DMF for this upgrade - **MigrationOEMPhases** The number of OEM-authored migrators scheduled to be ran by DMF for this upgrade - **MigrationStartTime** The timestamp representing the beginning of the DMF migration - **WuClientId** The GUID of the Windows Update client invoking DMF -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary - -This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. -- **flightId** Unique ID for each flight. -- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. -- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. -- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. -- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. -- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. -- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** The unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The 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 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 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 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 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 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.EnhancedEngagedRebootForcedWarningDialog - -This event indicates that the Enhanced Engaged "forced warning" dialog box was displayed. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **EnterpriseAttributionValue** Indicates whether the dialog had enterprise attribution or not. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog - -This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. - -The 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 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 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 - -Indicates 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 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.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel - -This event indicates that Windows Update activity was blocked due to low battery level. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.CommitFailed - -This event indicates that a device was unable to restart after an update. - -The following fields are available: - -- **errorCode** The error code that was returned. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. - -The following fields are available: - -- **displayNeededReason** List of reasons for needing display. -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **gameModeReason** Name of the executable that caused the game mode state check to start. -- **ignoredReason** List of reasons that were intentionally ignored. -- **IgnoreReasonsForRestart** List of reasons why restart was deferred. -- **revisionNumber** Update ID revision number. -- **systemNeededReason** List of reasons why system is needed. -- **updateId** Update ID. -- **updateScenarioType** Update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event indicates that a scan for a Windows Update occurred. - -The following fields are available: - -- **deferReason** Reason why the device could not check for updates. -- **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session was user initiated. -- **networkStatus** Error info -- **revisionNumber** Update revision number. -- **scanTriggerSource** Source of the triggered scan. -- **updateId** Update ID. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DetectionActivity - -This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. - -The following fields are available: - -- **applicableUpdateIdList** The list of update identifiers. -- **applicableUpdateList** The list of available updates. -- **durationInSeconds** The amount of time (in seconds) it took for the event to run. -- **expeditedMode** Indicates whether Expedited Mode is on. -- **networkCostPolicy** The network cost. -- **scanTriggerSource** Indicates whether the scan is Interactive or Background. -- **scenario** The result code of the event. -- **scenarioReason** The reason for the result code (scenario). -- **seekerUpdateIdList** The list of “seeker” update identifiers. -- **seekerUpdateList** The list of “seeker” updates. -- **services** The list of services that were called during update. -- **wilActivity** The activity results. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -This event indicates the reboot was postponed due to needing a display. - -The 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 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.EscalationRiskLevels - -This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. - -The following fields are available: - -- **configVersion** The escalation configuration version on the device. -- **downloadElapsedTime** Indicates how long since the download is required on device. -- **downloadRiskLevel** At-risk level of download phase. -- **installElapsedTime** Indicates how long since the install is required on device. -- **installRiskLevel** The at-risk level of install phase. -- **isSediment** Assessment of whether is device is at risk. -- **scanElapsedTime** Indicates how long since the scan is required on device. -- **scanRiskLevel** At-risk level of the scan phase. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask - -This event indicated that USO failed to add a trigger time to a task. - -The following fields are available: - -- **errorCode** The Windows Update error code. -- **wuDeviceid** The Windows Update device ID. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event indicates that the update is no longer applicable to this device. - -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 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 up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. - -The following fields are available: - -- **availableHistoryMinutes** The number of minutes available from the local machine activity history. -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PostInstall - -This event is sent after a Windows update install completes. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **bundleId** Identifier associated with the specific content bundle. -- **bundleRevisionnumber** Identifies the revision number of the content bundle. -- **errorCode** The error code returned for the current phase. -- **eventScenario** State of update action. -- **flightID** The flight ID of the device -- **sessionType** The Windows Update session type (Interactive or Background). -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. The following fields are available: -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. - -The following fields are available: - -- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. -- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.ScanTriggered - -This event indicates that Update Orchestrator has started a scan operation. - -The following fields are available: - -- **interactive** Indicates whether the scan is interactive. -- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. -- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. -- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. -- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. -- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. -- **scanTriggerSource** Indicates what caused the scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable - -This event defines when an optional update is available for the device to help keep Windows up to date. - -The following fields are available: - -- **flightID** The unique identifier of the Windows Insider build on this device. -- **isFeatureUpdate** Indicates whether the update is a Feature Update. -- **revisionNumber** The revision number of the update. -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.StickUpdate - -This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. - -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 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 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.UnstickUpdate - -This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. - -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.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed - -This event is sent when an updater failed to execute the registered callback. - -The following fields are available: - -- **updaterArgument** The argument to pass to the updater callback. -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData - -This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. - -The following fields are available: - -- **malformedRegValue** The registry value that contains the malformed or missing entry. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### 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 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 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 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. It's used to help keep Windows 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 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. - - -### 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. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. - -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 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 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 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 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 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 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 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 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 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 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. - - - -### Microsoft.Windows.UpdateReserveManager.TurnOffReserves - -This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. - -The following fields are available: - -- **Flags** Flags used in the turn off reserves function. -- **HardReserveSize** The size of the hard reserve when Turn Off is called. -- **HardReserveUsedSpace** The amount of space used by the hard reserve when Turn Off is called -- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. -- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. -- **SoftReserveSize** The size of the soft reserve when Turn Off is called. -- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. - -The following fields are available: - -- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. -- **Disposition** The parameter for the hard reserve adjustment function. -- **Flags** The flags passed to the hard reserve adjustment function. -- **PendingHardReserveAdjustment** The final change to the hard reserve size. -- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - +- **endpoint** No content is currently available. +- **scenario** No content is currently available. +- **settings** No content is currently available. +- **wilActivity** No content is currently available. See [wilActivity](#wilactivity). +- **WOSCUniqueId** No content is currently available. ## XBOX events -### Microsoft.Gaming.AppModel.AddUserAsync - Start - -This event is logged when adding user. - -The following fields are available: - -- **options** Selected options. - - -### Microsoft.Gaming.Install.BadInstallVolume - -This event is sent when a bad volume installs. - -The following fields are available: - -- **InstallVolume** Represents volume UID. - - ### Microsoft.Gaming.Install.ResurrectedInstall This event is logged when app installation resumes on Xbox console. @@ -7563,18 +1190,6 @@ The following fields are available: - **Result** App install resume result. -### Microsoft.Xbox.StreamManagementService.AgentReceivedRegionInfo - -This event is reported by Xbox Game Streaming services when they receive regional specific information to register with game steaming services. - -The following fields are available: - -- **regionName** Name of the Azure region. -- **registrationUri** URI to register with Game streaming services. -- **serverInfo** Server specific info including blade, rack name, and asset tag. See [serverInfo](#serverinfo). -- **servicesUri** Service end point. - - ### Microsoft.Xbox.XceBridge.CS.1.0.0.9.0.2.SFR.ConnectedStandbyEnterEnd This event is triggered when connected standby is finished activating. @@ -7613,16 +1228,6 @@ This event reports a digest of a number of different counters that are tracked l ## 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 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. @@ -7639,7 +1244,6 @@ 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. From dd40988a74e9da2c3a3510017abbcb51179f3597 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 09:51:39 -0700 Subject: [PATCH 064/393] update 3/27/20 --- ...ndows-diagnostic-events-and-fields-1703.md | 12 +- ...ndows-diagnostic-events-and-fields-1709.md | 12 +- ...ndows-diagnostic-events-and-fields-1803.md | 12 +- ...ndows-diagnostic-events-and-fields-1809.md | 12 +- ...ndows-diagnostic-events-and-fields-1903.md | 18747 ++++++++-------- ...ndows-diagnostic-events-and-fields-2005.md | 17 +- 6 files changed, 8789 insertions(+), 10023 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index d1f20553b8..bf8e26dabb 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/23/2020 +ms.date: 03/27/2020 ms.reviewer: --- @@ -81,7 +81,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd -Represents the basic metadata about specific application files installed on the system. +This event sends compatibility information about a file to help keep Windows up-to-date. The following fields are available: @@ -2513,7 +2513,7 @@ This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will ### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd -This event provides the basic metadata about driver binaries running on the system. +This event sends basic metadata about driver binaries running on the system to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -4035,7 +4035,7 @@ This event sends basic metadata about the update installation process generated ### SetupPlatformTel.SetupPlatformTelEvent -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. +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: @@ -6028,7 +6028,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable -This event indicates that the update is no longer applicable to this device. +This event sends data on whether the update was applicable to the device, to help keep Windows up to date. The following fields are available: @@ -6109,7 +6109,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.PostInstall -This event is sent after a Windows update install completes. +This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. The following fields are available: diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index a5130da156..ddad42d136 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/23/2020 +ms.date: 03/27/2020 ms.reviewer: --- @@ -1866,7 +1866,7 @@ The following fields are available: ### CbsServicingProvider.CbsCapabilityEnumeration -This event reports on the results of scanning for optional Windows content on Windows Update. +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: @@ -2566,7 +2566,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd -This event provides the basic metadata about driver binaries running on the system. +This event sends basic metadata about driver binaries running on the system to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -4020,7 +4020,7 @@ This event sends basic metadata about the update installation process generated ### SetupPlatformTel.SetupPlatformTelEvent -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. +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: @@ -6303,7 +6303,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable -This event indicates that the update is no longer applicable to this device. +This event sends data on whether the update was applicable to the device, to help keep Windows up to date. The following fields are available: @@ -6397,7 +6397,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.PostInstall -This event is sent after a Windows update install completes. +This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. The following fields are available: diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index c86c083c2a..9755e9f334 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/23/2020 +ms.date: 03/27/2020 ms.reviewer: --- @@ -2044,7 +2044,7 @@ The following fields are available: ### CbsServicingProvider.CbsCapabilityEnumeration -This event reports on the results of scanning for optional Windows content on Windows Update. +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: @@ -3528,7 +3528,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd -This event provides the basic metadata about driver binaries running on the system. +This event sends basic metadata about driver binaries running on the system to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -5271,7 +5271,7 @@ This event sends basic metadata about the update installation process generated ### SetupPlatformTel.SetupPlatformTelEvent -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. +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: @@ -7798,7 +7798,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable -This event indicates that the update is no longer applicable to this device. +This event sends data on whether the update was applicable to the device, to help keep Windows up to date. The following fields are available: @@ -7892,7 +7892,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.PostInstall -This event is sent after a Windows update install completes. +This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. The following fields are available: diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index 599d1781b0..ebdfda06d6 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/23/2020 +ms.date: 03/27/2020 ms.reviewer: --- @@ -2580,7 +2580,7 @@ The following fields are available: ### CbsServicingProvider.CbsCapabilityEnumeration -This event reports on the results of scanning for optional Windows content on Windows Update. +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: @@ -4304,7 +4304,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd -This event provides the basic metadata about driver binaries running on the system. +This event sends basic metadata about driver binaries running on the system to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -6018,7 +6018,7 @@ This event sends basic metadata about the update installation process generated ### SetupPlatformTel.SetupPlatformTelEvent -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. +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: @@ -8447,7 +8447,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable -This event indicates that the update is no longer applicable to this device. +This event sends data on whether the update was applicable to the device, to help keep Windows up to date. The following fields are available: @@ -8533,7 +8533,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.PostInstall -This event is sent after a Windows update install completes. +This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. The following fields are available: diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 3fbcfbc677..74ab92179b 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -1,9984 +1,8763 @@ ---- -description: Use this article to learn more about what required Windows diagnostic data is gathered. -title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) -keywords: privacy, telemetry -ms.prod: w10 -ms.mktglfcycl: manage -ms.sitesec: library -ms.pagetype: security -localizationpriority: high -author: brianlic-msft -ms.author: brianlic -manager: dansimp -ms.collection: M365-security-compliance -ms.topic: article -audience: ITPro -ms.date: 03/23/2020 ---- - - -# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields - - -> [!IMPORTANT] -> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. - - - **Applies to** - -- Windows 10, version 1909 -- Windows 10, version 1903 - - -Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. - -Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - - -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - - - -## AppLocker events - -### Microsoft.Windows.Security.AppLockerCSP.AddParams - -This event indicates the parameters passed to the Add function of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to add. -- **uri** URI of the node relative to %SYSTEM32%/AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.AddStart - -This event indicates the start of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.AddStop - -This event indicates the end of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** The HRESULT returned by Add function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Commit - -This event returns information about the Commit operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure.. - -The following fields are available: - -- **oldId** The unique identifier for the most recent previous CSP transaction. -- **txId** The unique identifier for the current CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Rollback - -This event provides the result of the Rollback operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **oldId** Previous id for the CSP transaction. -- **txId** Current id for the CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearParams - -This event provides the parameters passed to the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** The URI relative to the %SYSTEM32%\AppLocker folder. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStart - -This event indicates the start of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStop - -This event indicates the end of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT reported at the end of the 'Clear' function. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceParams - -This event provides the parameters that were passed to the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **NodeId** NodeId passed to CreateNodeInstance. -- **nodeOps** NodeOperations parameter passed to CreateNodeInstance. -- **uri** URI passed to CreateNodeInstance, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStart - -This event indicates the start of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStop - -This event indicates the end of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the CreateNodeInstance function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildParams - -This event provides the parameters passed to the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to delete. -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStart - -This event indicates the start of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStop - -This event indicates the end of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the DeleteChild function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.EnumPolicies - -This event provides the logged Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker if the plug-in GUID is null or the Configuration Service Provider (CSP) doesn't believe the old policy is present. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesParams - -This event provides the parameters passed to the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%/AppLocker for MDM node. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStart - -This event indicates the start of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStop - -This event indicates the end of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child[0]** If function succeeded, the first child's name, else "NA". -- **count** If function succeeded, the number of child node names returned by the function, else 0. -- **hr** HRESULT returned by the GetChildNodeNames function of AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.GetLatestId - -This event provides the latest time-stamped unique identifier in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dirId** The latest directory identifier found by GetLatestId. -- **id** The id returned by GetLatestId if id > 0 - otherwise the dirId parameter. - - -### Microsoft.Windows.Security.AppLockerCSP.HResultException - -This event provides the result code (HRESULT) generated by any arbitrary function in the AppLocker Configuration Service Provider (CSP). - -The following fields are available: - -- **file** File in the OS code base in which the exception occurs. -- **function** Function in the OS code base in which the exception occurs. -- **hr** HRESULT that is reported. -- **line** Line in the file in the OS code base in which the exception occurs. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueParams - -This event provides the parameters that were passed to the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dataLength** Length of the value to set. -- **uri** The node URI to that should contain the value, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStart - -This event indicates the start of the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStop - -End of the "SetValue" operation for the AppLockerCSP node. - -The following fields are available: - -- **hr** HRESULT returned by the SetValue function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.TryRemediateMissingPolicies - -This event provides information for fixing a policy in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. It includes Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker that needs to be fixed. - -The following fields are available: - -- **uri** URI for node relative to %SYSTEM32%/AppLocker. - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. - -The following fields are available: - -- **DatasourceA9FBC-EtionFile_20H1** No content is currently available. -- **DatasourceApplicapponFile_20H1** No content is currently 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** No content is currently available. -- **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. -- **DatasourceApplicationFileW20H1** No content is currently available. -- **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** No content is currently available. -- **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_RS3Setup** 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. -- **DatasourceDevicePnpW20H1** No content is currently available. -- **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** No content is currently available. -- **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_RS3Setup** 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. -- **DatasourceDriverPackageW20H1** No content is currently available. -- **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_20H0** No content is currently available. -- **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** No content is currently available. -- **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. -- **DataSourceMatchingInfoBlockW20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DataSourceMatchingInfoPassiveW20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DataSourceMatchingInfoPostUpgradeW20H1** No content is currently available. -- **DatasourceSystemBios_19ASetup** 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** No content is currently available. -- **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_RS3Setup** The count of the number of this particular object type 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. -- **DatasourceSystemBiosW20H1** No content is currently available. -- **DeaisionMatchingInfoBlock_20H1** No content is currently available. -- **DecionGGApplicationFile_20H1** No content is currently available. -- **DecionGGDevicePnp_20H1** No content is currently available. -- **DecionGGDriverPackage_20H1** No content is currently available. -- **DecionGGMatchingInfoBlock_20H1** No content is currently available. -- **DecionGGMatchingInfoPassive_20H1** No content is currently available. -- **DecionGGMatchingInfoPostUpgrade_20H1** No content is currently available. -- **DecionGGMediaCenter_20H1** No content is currently available. -- **DecionGGSystemBios_20H1** No content is currently available. -- **DecisionA9FBC-EtionFile_20H1** No content is currently available. -- **DecisionApplicapponFile_20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DecisionApplicationFileW20H1** No content is currently available. -- **DecisionDevicePn`_20H1** No content is currently available. -- **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** No content is currently available. -- **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_RS3Setup** 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. -- **DecisionDevicePnpW20H1** No content is currently available. -- **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** No content is currently available. -- **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_RS3Setup** 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. -- **DecisionDriverPackageW20H1** No content is currently available. -- **DecisionMatchingI~foPostUpgrade_20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DecisionMatchingInfoBlockW20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DecisionMatchingInfoPassiveW20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DecisionMatchingInfoPostUpgradeW20H1** No content is currently available. -- **DecisionMatchingIofoBlock_20H1** No content is currently available. -- **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** No content is currently available. -- **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. -- **DecisionMediaCenterW20H1** No content is currently available. -- **DecisionSystemBios_19ASetup** 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** No content is currently available. -- **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_RS3Setup** The count of the number of this particular object type present 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. -- **DecisionSystemBiosW20H1** No content is currently available. -- **DecisionSystemProcessor_RS2** 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** No content is currently available. -- **DecisionTest_21H1Setup** The count of the number of this particular object type present on this device. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisyonMatchingInfoPassive_20H1** No content is currently available. -- **InventoryA9FBC-EtionFile** No content is currently available. -- **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **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. -- **InventorySystemMachine** The count of the number of this particular object type present on this device. -- **InventorySystemProcessor** 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. -- **SystemWindowsAappvationStatus** No content is currently available. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. -- **SystemWindowsActivEtionStatus** No content is currently available. -- **SystemWlan** The total number of objects of this type present on this device. -- **SystemWlanSystemWim** No content is currently available. -- **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** No content is currently available. -- **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. -- **WmdrmW20H1** No content is currently available. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -Represents the basic metadata about specific application files installed on the system. - -This event 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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AappveNetworkConnection** No content is currently available. -- **ActiveN%tworkConnection** No content is currently available. -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **base@ata** No content is currently available. See [base@ata](#base@ata). -- **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. -- **IsBootCritical** Indicates whether the device boot is critical. -- **UplevelInboxDriver** Indicates whether there is a driver uplevel for this device. -- **WuDr)verUpdateId** No content is currently available. -- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. -- **WuDriverEpdateId** No content is currently available. -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. - -This event includes fields from [Ms.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.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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? -- **NeedsDismissActio.** No content is currently available. -- **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. - -This event includes fields from [Ms.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 includes fields from [Ms.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? -- **BlockUpgradeIfDr)verBlockedAndOnlyActiveNetwork** No content is currently available. -- **BlockUpgradeIfDri6erBlockedAndOnlyActiveNetwork** No content is currently available. -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyAappveNetwork** No content is currently available. -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **BlockUpgradeIfEriverBlockedAndOnlyActiveNetwork** No content is currently available. -- **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? -- **NeedsDismissAappon** No content is currently available. -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NeedsDisMissAction** No content is currently available. -- **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 is no longer present. - -This event includes fields from [Ms.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 - -The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. - -This event includes fields from [Ms.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 is no longer present. - -This event includes fields from [Ms.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 - -This event indicates that a new set of DecisionDriverPackageAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. - -This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.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. - -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. -- **BinFmleVersion** No content is currently available. -- **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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorEndSync - -This event indicates that a full set of InventorySystemProcessorAdd events has been sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorStartSync - -This event indicates that a new set of InventorySystemProcessorAdd events will be sent. - -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.InventoryTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. - -This event 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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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 indicates what should be expected in the data payload. - -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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. - -This event includes fields from [Ms.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** No content is currently available. -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InboxDataVersion** The original version of the data files before retrieving any newer version. -- **IndC-EtorsWritten** No content is currently available. -- **IndicaporsWritten** No content is currently available. -- **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. -- **InventovyFullSync** No content is currently available. -- **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. -- **pperaiserBranch** No content is currently available. -- **pperaiserDataVersion** No content is currently available. -- **pperaiserProcssi** No content is currently available. -- **pperaiserVersion** No content is currently available. -- **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. -- **Runpperaiser** No content is currently available. -- **RunResult** The hresult of the Appraiser diagnostic data run. -- **S#heduledUploadDay** No content is currently available. -- **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 -- **StorneHndleIsNotNull** No content is currently available. -- **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. -- **VerboweMode** No content is currently available. -- **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 - -This event indicates that a new set of WmdrmAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Audio endpoint events - -### MicArrayGeometry - -This event provides information about the layout of the individual microphone elements in the microphone array. - -The following fields are available: - -- **MicCoords** The location and orientation of the microphone element. -- **usFrequencyBandHi** The high end of the frequency range for the microphone. -- **usFrequencyBandLo** The low end of the frequency range for the microphone. -- **usMicArrayType** The type of the microphone array. -- **usNumberOfMicrophones** The number of microphones in the array. -- **usVersion** The version of the microphone array specification. -- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). -- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). -- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). -- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). - - -### MicCoords - -This event provides information about the location and orientation of the microphone element. - -The following fields are available: - -- **usType** The type of microphone. -- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). -- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). -- **wXCoord** The x-coordinate of the microphone. -- **wYCoord** The y-coordinate of the microphone. -- **wZCoord** The z-coordinate of the microphone. - - -### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo - -This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. - -The following fields are available: - -- **AsSideband** No content is currently available. -- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). -- **BusEnumeratorNameEndpointDevnodeId** No content is currently available. -- **BusEnumeratorNcme** No content is currently available. -- **ContahnerId** No content is currently available. -- **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. -- **e~dpointEffectClsid** No content is currently available. -- **EndpjintFormFactor** No content is currently available. -- **EndpmintFormFactor** No content is currently available. -- **endpoiltID** No content is currently available. -- **EndpointBormFactor** No content is currently available. -- **EndpointDevnodaId** No content is currently available. -- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. -- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. -- **endpointEffectModula** No content is currently available. -- **endpointEffectModule** Module name for the endpoint effect audio processing object. -- **EndpointFormF!ctor** No content is currently available. -- **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). -- **globalEffeatClsid** No content is currently available. -- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. -- **globalEffectClsId** No content is currently available. -- **globalEffectModule** Module name for the legacy global effect audio processing object. -- **globsuEffectClsid** No content is currently available. -- **globsuEffectModule** No content is currently available. -- **HWI@** No content is currently available. -- **HWID** The hardware identifier for the endpoint. -- **IsBluetoot`** No content is currently available. -- **isBluetooth** No content is currently available. -- **IsBluetooth** Indicates whether the device is a Bluetooth device. -- **IsBnuetooth** No content is currently available. -- **isFarFiedd** No content is currently available. -- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. -- **isFarFielt** No content is currently available. -- **IsSideband** Indicates whether the device is a sideband device. -- **IsUSB** Indicates whether the device is a USB device. -- **JackSubTqpe** No content is currently available. -- **JackSubType** A unique ID representing the KS node type of the endpoint. -- **localEfdecdClsid** No content is currently available. -- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. -- **localEffectLodule** No content is currently available. -- **localEffectModule** Module name for the legacy local effect audio processing object. -- **localEffuctModule** No content is currently available. -- **MicArrayGeom%try** No content is currently available. See [MicArrayGeom%try](#micarraygeom%try). -- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). -- **MIcArrayGeometry** No content is currently available. See [MIcArrayGeometry](#micarraygeometry). -- **modeEffectClsi`** No content is currently available. -- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. -- **modeEffectModule** Module name for the mode effect audio processing object. -- **ndpointDevnodeId** No content is currently available. -- **persistentId** A unique ID for this endpoint which is retained across migrations. -- **streamEffebtClsid** No content is currently available. -- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. -- **streamEffectModule** Module name for the stream effect audio processing object. -- **usType** No content is currently available. -- **wHorizontalAngle** No content is currently available. -- **wVerticalAngle** No content is currently available. -- **wXCoorD** No content is currently available. -- **wYCoord** No content is currently available. -- **wZCoord** No content is currently available. -- **YsUSB** No content is currently available. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device, to help keep Windows up to date. - -The following fields are available: - -- **Ap`raiserEnterpriseErrorCode** No content is currently available. -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCoda** No content is currently available. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeSt2mp** No content is currently available. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunSt2rtTimeSt2mp** No content is currently available. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Azure - -This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. - -The 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, type to help keep Windows 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. -- **InternalBatteryNumberOfAharges** No content is currently available. -- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. -- **InternalBatteryNumberOfChatges** No content is currently available. -- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected . Boolean value. - - -### Census.Camera - -This event sends data about the resolution of cameras on the device, to help keep Windows up to date. - -The following fields are available: - -- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. -- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. - - -### 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 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. -- **CDJTypd** No content is currently available. -- **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. -- **EnrollmentTxpe** No content is currently available. -- **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 -- **IsDERequirdmentMet** No content is currently available. -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtdcted** No content is currently available. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows up to date. - -The following fields are available: - -- **DeniceSampleRate** No content is currently 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. -- **DriverTatgetRing** No content is currently available. -- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. -- **FlightIds** A list of the different Windows Insider builds on this device. -- **FlightiigBranchame** No content is currently available. -- **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. -- **IsMlightsDusabled** No content is currently available. -- **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. -- **ySA_Accomnts** No content is currently available. - - -### Census.Hardware - -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support, to help keep Windows up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowebPlatformRole** No content is currently available. -- **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. -- **TFCProximity** No content is currently available. -- **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, to help keep Windows up to date. - -The following fields are available: - -- **TotalPhysicalPAM** No content is currently 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), to help keep Windows up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows 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. -- **CompactNS** No content is currently available. -- **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. -- **DevelopgrUnlockStatus** No content is currently available. -- **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. -- **IsPortableOpdratingSystem** No content is currently available. -- **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 -- **OSOOBEDatdTime** No content is currently available. -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivathonResult** No content is currently available. -- **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. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **FindMyDevice** Current state of the "find my device" setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneC49x** No content is currently available. -- **PhoneC49xHistory** No content is currently available. -- **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. -- **SpeuchPersonalization** No content is currently available. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.Processor - -This event sends data about the processor to help keep Windows 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. - -The following fields are available: - -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. -- **ingawGuest** No content is currently available. -- **ingawHost** No content is currently available. -- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. -- **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **SModeState** The Windows S mode trail state. -- **SystemGuardState** Indicates the SystemGuard state. NotCapable (0), Capable (1), Enabled (2), Error (0xFF). -- **TpmReadyState** Indicates the TPM ready state. NotReady (0), ReadyForStorage (1), ReadyForAttestation (2), Error (0xFF). -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. -- **WdagPolicyValue** The Windows Defender Application Guard policy. - - -### Census.Speech - -This event is used to gather basic speech settings on the device. - -The 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. -- **KeyVeser:[]DSeechServicesValueSource** No content is currently available. -- **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, to help keep Windows 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, to help keep Windows 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. -- **LongDAteFormat** No content is currently available. -- **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, to help keep Windows up to date. - -The following fields are available: - -- **InternalPrim!ryDisplayLogicalDPIX** No content is currently available. -- **InternalPrimaryDhsplayPhysicalDPIX** No content is currently 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. -- **InternalPrimaryDisplayLogicalDQIX** No content is currently available. -- **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 -- **InternalPrkmaryDisplayPhysicalDPIX** No content is currently available. -- **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, to help keep Windows 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. -- **Speec`InputLanguages** No content is currently available. -- **SpeechInputLangu`ges** No content is currently available. -- **SpeechInputLanguagds** No content is currently available. -- **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 following fields are available: - -- **Activ)tyHistoryCloudSync** No content is currently available. -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollectinE** No content is currently available. -- **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. -- **BCellularData** No content is currently available. -- **BChat** No content is currently available. -- **BContacts** No content is currently available. -- **BDocumentsLibrary** No content is currently available. -- **BEmail** No content is currently available. -- **BGazeInput** No content is currently available. -- **BHumaEInterfaceDevice** No content is currently available. -- **BLocatinE** No content is currently available. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BPhoneCallHistory** No content is currently available. -- **BPicturesLibrary** No content is currently available. -- **BRadios** No content is currently available. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **BSensorsCustom** No content is currently available. -- **BSerialCommunicatinE** No content is currently available. -- **BSInkTypeImprovement** No content is currently available. -- **BSInkTypePersonalizatinE** No content is currently available. -- **BSms** No content is currently available. -- **BSpeechPersonalizatinE** No content is currently available. -- **BUSB** No content is currently available. -- **BUserAccountInformatinE** No content is currently available. -- **BUserDataTasks** No content is currently available. -- **BUserNotificatinEListener** No content is currently available. -- **BVideosLibrary** No content is currently available. -- **BWebcam** No content is currently available. -- **BWiFiDirect** No content is currently available. -- **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. -- **LocatinEHistory** No content is currently available. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneC49x** No content is currently available. -- **PhoneC49xHistory** No content is currently available. -- **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. -- **UserLotificationListener** No content is currently available. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics, to help keep Windows 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. -- **jyperVisor** No content is currently available. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizatioFirmwareEnabled** No content is currently available. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. -- **VirtualizationFirmwareEoabled** No content is currently available. -- **VMId** A string that identifies a virtual machine. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. - -The following fields are available: - -- **AppraisdrGatedStatus** No content is currently available. -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualidyUpdate** No content is currently available. -- **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. -- **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). - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **locale** The locale of the app. -- **name** The name of the app. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **epoch** An ID that's incremented for each SDK initialization. -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **seq** An ID that's incremented for each event. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. -- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId -- **make** Device manufacturer. -- **model** Device model. - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.mscv - -Describes the correlation vector-related fields. - -The following fields are available: - -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. -- **name** Represents the operating system name. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.sdk - -Used by platform specific libraries to record fields that are required for a specific SDK. - -The following fields are available: - -- **epoch** An ID that is incremented for each SDK initialization. -- **installId** An ID that's created during the initialization of the SDK for the first time. -- **libVer** The SDK version. -- **seq** An ID that is incremented for each event. -- **ver** The version of the logging SDK. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **locale** The language and region. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **pgName** The short form of the provider group name associated with the event. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **providerGuid** The ETW provider ID associated with the provider name. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **wcmp** The Windows Shell Composer ID. -- **wPId** The Windows Core OS product ID. -- **wsId** The Windows Core OS session ID. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Component-based servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update. - -The following fields are available: - -- **__TlgCV_** No content is currently available. -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **namespace`languabe** No content is currently available. -- **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 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. -- **buildVarsion** No content is currently available. -- **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. - - - -## Diagnostic data events - -### TelClientSynthetic.AbnormalShutdown_0 - -This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. - -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. -- **AcDcStateAtLtSuphutdown** No content is currently available. -- **BatteryLevelAtLastShutdo** No content is currently available. -- **BatteryLevelAtLastShutdown** The last recorded battery level. -- **BatteryLevelAtLtSuphutdown** No content is currently available. -- **BatteryPercentageAtLastShutdown** The battery percentage at the last shutdown. -- **BatteryPercentageAtLtSuphutdown** No content is currently available. -- **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. -- **Firmwaredatam>ResetReasonEmbeddedControllerAdditional** No content is currently available. -- **FirmwareType** ID of the FirmwareType as enumerated in DimFirmwareType. -- **HardwareWatchdogTimerGeneratedLastReset** Indicates whether the hardware watchdog timer caused the last reset. -- **HardwareWatchdogTimerGeneratedLtSuReset** No content is currently available. -- **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. -- **LtSuBugCheckBootId** No content is currently available. -- **LtSuBugCheckCode** No content is currently available. -- **LtSuBugCheckContextFlags** No content is currently available. -- **LtSuBugCheckOriginalDumpType** No content is currently available. -- **LtSuBugCheckOtherSettings** No content is currently available. -- **LtSuBugCheckParameter1** No content is currently available. -- **LtSuBugCheckProgress** No content is currently available. -- **LtSuBugCheckVersion** No content is currently available. -- **LtSuppccessfullyShutdownBootId** No content is currently available. -- **OOBEInProgress** Identifies if OOBE is running. -- **OSSetupInProgress** Identifies if the operating system setup is running. -- **phutdownDeviceType** No content is currently available. -- **PowerButtonCumulativePressCount** How many times has the power button been pressed? -- **PowerButtonCumulativePsessCount** No content is currently available. -- **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. -- **PowerButtonLtSuPressBootId** No content is currently available. -- **PowerButtonLtSuPressTime** No content is currently available. -- **PowerButtonLtSuReleaseBootId** No content is currently available. -- **PowerButtonLtSuReleaseTime** No content is currently available. -- **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. -- **PowerButtonPressLtSuPowerWatchdogStage** No content is currently available. -- **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. -- **StaleCootStatData** No content is currently available. -- **TrajsitionInfoCSInProgress** No content is currently available. -- **Transitio~InfoSleepTranstionsToOn** No content is currently available. -- **TransitionInfoBootId** BootId of the captured transition info. -- **TransitionInfoBoouId** No content is currently available. -- **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. -- **TransitionInfoLtSuReferenceTimeChecksum** No content is currently available. -- **TransitionInfoLtSuReferenceTimestamp** No content is currently available. -- **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. -- **TransitionInfoSleepTransTionsToOn** No content is currently available. -- **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. -- **TransitionInfoUserRhutdownInProgress** No content is currently available. -- **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. -- **TransitionLateSuCheckpointId** No content is currently available. -- **TransitionLateSuCheckpointSeqNumber** No content is currently available. -- **TransitionLateSuCheckpointType** No content is currently available. -- **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. -- **WhutdownDeviceType** No content is currently available. - - -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -This event sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. - -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. -- **CanCorsectAnyTelemetry** No content is currently available. -- **CanCorsectCoreTelemetry** No content is currently available. -- **CanCorsectHeartbeats** No content is currently available. -- **CanCorsectOsTelemetry** No content is currently available. -- **CanCorsectWindowsAnalyticsEvents** No content is currently available. -- **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 - -Fired by UTC at startup to signal what data we are allowed to collect. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanAddMsaVoMsTelemetry** No content is currently available. -- **CanBeportScenarios** No content is currently available. -- **CanCodlectCoreTelemetry** No content is currently available. -- **CanColldctOsTelemetry** No content is currently available. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectCoreTelemeury** No content is currently available. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectToreTelemetry** No content is currently available. -- **CanCollectWindowsAnalyticrEvents** No content is currently available. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPeportScenarios** No content is currently available. -- **CanPerbormDiagnosticEscalations** No content is currently available. -- **CanPerformDiagf1sticEscalations** No content is currently available. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanReport9Henarios** No content is currently available. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **Previous45D014sions** No content is currently available. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TranritionFromEverythingOff** No content is currently available. -- **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. - -The following fields are available: - -- **CensusExitCode** Returns last execution codes from census client run. -- **CensusS** No content is currently available. -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTiie** No content is currently available. -- **LastConnectivityLossTime** Retrieves the last time the device lost free network. -- **N/NetworkTime** No content is currently available. -- **N0tworkState** No content is currently available. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoN0tworkTime** No content is currently available. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedN0tworkTime** No content is currently available. -- **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. - - -### TelClientSynthetic.EventMonitor_0 - -This event provides statistics for specific diagnostic events. - -The following fields are available: - -- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. -- **EventName** The name of the event being monitored. -- **EventSnFirst** The expected first event serial number. -- **EventSnLast** The expected last event serial number. -- **EventStoreCount** The number of events reaching the event store. -- **MonitorSn** The serial number of the monitor. -- **TriggerCount** The number of events reaching the trigger buffer. -- **UploadedCount** The number of events uploaded. - - -### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 - -This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. - -The following fields are available: - -- **FilePath** The unexpanded path in the scenario XML. -- **ScenarioId** The globally unique identifier (GUID) of the scenario. -- **ScenarioInstanceId** The error code denoting which path failed (internal or external). - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - -The following fields are available: - -- **AaxActiveAgentConnectionCount** No content is currently available. -- **AaxInUseScenarioCounter** No content is currently available. -- **AgentConnect** No content is currently available. -- **AgentConnectionErrkrsCount** No content is currently available. -- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **AgentConnectuonErrorsCount** No content is currently available. -- **BriticalOverflowEntersCounter** No content is currently available. -- **Cens0sExitCode** No content is currently available. -- **Cens0sStartTime** No content is currently available. -- **Cens0sTaskEnabled** No content is currently available. -- **CensusEx)tCode** No content is currently available. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** Time of last Census run. -- **CensusStartTme** No content is currently available. -- **CensusStottTime** No content is currently available. -- **CensusTaskEnabced** No content is currently available. -- **CensusTaskEnabded** No content is currently available. -- **CensusTaskEnabled** True if Census is enabled, false otherwise. -- **CensusTaskEnaV5ed** No content is currently available. -- **CoepressedBytesUploaded** No content is currently available. -- **CompressedBy|esUploaded** No content is currently available. -- **CompressedByt8sUploaded** No content is currently available. -- **CompressedBytesUploaded** Number of compressed bytes uploaded. -- **ComPressedBytesUploaded** No content is currently available. -- **Cons0EC&DroppedCount** No content is currently available. -- **ConsumerDrop9edCount** No content is currently available. -- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. -- **CoThressedBytesUploaded** No content is currently available. -- **CounterTopUpl** No content is currently available. -- **CriticalD`taThrottleDroppedCount** No content is currently available. -- **CriticalDaDaDbDroppedCount** No content is currently available. -- **CriticalDataDbDrop9edCount** No content is currently available. -- **CriticalDataDbDroppedCou.t** No content is currently available. -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThro{tleDroppedCount** No content is currently available. -- **CriticalDataThrottleDrop9edCount** No content is currently available. -- **CriticalDataThrottleDroppedCounp** No content is currently available. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalDataThrottleDroppgdCount** No content is currently available. -- **CriticalDataTSrottleDroppedCount** No content is currently available. -- **CriticalEataDbDroppedCount** No content is currently available. -- **CriticalOverflowEntcrsCountcr** No content is currently available. -- **CriticalOverflowEnteroCounter** No content is currently available. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. -- **CritkcalOverflowEntersCounter** No content is currently available. -- **CrlizcalDataDbDroppedCount** No content is currently available. -- **CrlizcalDataThrottleDroppedCount** No content is currently available. -- **CrlizcalOverflowEntersCounter** No content is currently available. -- **DastAgentConnectionError** No content is currently available. -- **DbCriticalDrop9edCount** No content is currently available. -- **DbCriticalDroppedBount** No content is currently available. -- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. -- **DbCrlizcalDroppedCount** No content is currently available. -- **DbDientStoreLifetimeResetCounter** No content is currently available. -- **DbDr/ppedFailureCount** No content is currently available. -- **DbDrop9edCount** No content is currently available. -- **DbDrop9edFailureCount** No content is currently available. -- **DbDrop9edFullCount** No content is currently available. -- **DbDroper** No content is currently available. -- **DbDroppedCount** Number of events dropped due to DB fullness. -- **DbDroppedFai|ureCount** No content is currently available. -- **DbDroppedFai6ureCount** No content is currently available. -- **DbDroppedFailureCount** Number of events dropped due to DB failures. -- **DbDroppedFailuReCount** No content is currently available. -- **DbDroppedFailureunt** No content is currently available. -- **DbDroppedFseFailCount** No content is currently available. -- **DbDroppedFullCount** Number of events dropped due to DB fullness. -- **DbiticalDatroppedCount** No content is currently available. -- **DecodingDrop9edCount** No content is currently available. -- **DecodingDroppedCount** Number of events dropped due to decoding failures. -- **DecodthiDroppedCount** No content is currently available. -- **DtwDroppedBufferCount** No content is currently available. -- **DtwDroppedCount** No content is currently available. -- **DventStoreLifetimeResetCounter** No content is currently available. -- **EawDroppedBufferCount** No content is currently available. -- **EawDroppedCount** No content is currently available. -- **EntcringCriticalOverflowDroppedCountcr** No content is currently available. -- **EnteringCriticalOverflowDrop9edCounter** No content is currently available. -- **enteringCriticalOverflowDroppedCounter** No content is currently available. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EnteringCriticalOverflowr** No content is currently available. -- **EnteringCrlizcalOverflowDroppedCounter** No content is currently available. -- **EnterodiCriticalOverflowDroppedCounter** No content is currently available. -- **EnterthiCriticalOverflowDroppedCounter** No content is currently available. -- **EntertteCriticalOverflowDroppedCounter** No content is currently available. -- **EtwDrop9edBufferCount** No content is currently available. -- **EtwDrop9edCount** No content is currently available. -- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. -- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. -- **EventsPerIDstedCount** No content is currently available. -- **EventsPeroistedCount** No content is currently available. -- **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventStoreLifetimeReserCounter** No content is currently available. -- **EventStoreLifetimeResetCountcr** No content is currently available. -- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. -- **EventStoreReRetCounter** No content is currently available. -- **EventStoreReserCounter** No content is currently available. -- **EventStoreReserSizeSum** No content is currently available. -- **EventStoreReset4izeSum** No content is currently available. -- **EventStoreResetAounter** No content is currently available. -- **EventStoreResetCountcr** No content is currently available. -- **EventStoreResetCountdr** No content is currently available. -- **EventStoreResetCounter** Number of times event DB was reset. -- **EventStoreResetSizeSBn** No content is currently available. -- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. -- **EventStoreResetSizeTum** No content is currently available. -- **EventStoseResetCounter** No content is currently available. -- **EventsUploaded** Number of events uploaded. -- **EventsUploafed** No content is currently available. -- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. -- **FlaGs** No content is currently available. -- **FullSriggerBufferDroppedCount** No content is currently available. -- **FullTiiggerBufferDroppedCount** No content is currently available. -- **FullTriggerBufferDrop9edCount** No content is currently available. -- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. -- **FullTrmggerBufferDroppedCount** No content is currently available. -- **HeartBeatSeqpenceNumber** No content is currently available. -- **HeartBeatSequenceNumber** The sequence number of this heartbeat. -- **InvalidHptpCodeCount** No content is currently available. -- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. -- **IovalidHttpCodeCount** No content is currently available. -- **LaspEventSizeOffender** No content is currently available. -- **LastAge.tConnectionError** No content is currently available. -- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. -- **LastAgentConnectuonError** No content is currently available. -- **LastEventSizeOffender** Event name of last event which exceeded max event size. -- **LastEventSizeOffendeR** No content is currently available. -- **LastEventSizeOffenner** No content is currently available. -- **LastEventSizeOffenTer** No content is currently available. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **Lastunt** No content is currently available. -- **MahActiveAgentConnectionCount** No content is currently available. -- **MahInUseScenarioCounter** No content is currently available. -- **MaxActiv%AgentConnectionCount** No content is currently available. -- **MaxActiveAgentConnectiknCount** No content is currently available. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxActuveAgentConnectuonCount** No content is currently available. -- **MaxInUse9HenarioCounter** No content is currently available. -- **MaxInUseScenacioCounter** No content is currently available. -- **MaxInUseScenarioCountcr** No content is currently available. -- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. -- **MaxInVseScenarioCounter** No content is currently available. -- **MaxIpUseScenarioCounter** No content is currently available. -- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). -- **PreviousPermissions** No content is currently available. -- **PrivacyB1T0kedCount** No content is currently available. -- **PrivacyBlockadCount** No content is currently available. -- **PrivacyBlockedCount** The number of events blocked due to privacy settings or tags. -- **PruvacyBlockedCount** No content is currently available. -- **Rep2-1P.lT5:ok3nts** No content is currently available. -- **RepeatedUploadFai6ureDropped** No content is currently available. -- **RepeatedUploadFailureDrlpped** No content is currently available. -- **RepeatedUploadFailureDrop9ed** No content is currently available. -- **RepeatedUploadFailureDropped** Number of events lost due to repeated upload failures for a single buffer. -- **rtexHttpAtFailures4xx** No content is currently available. -- **Se|tingsHttpAttempts** No content is currently available. -- **SettingrHttpAttempts** No content is currently available. -- **SettingsHttpAttempas** No content is currently available. -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFai6ures** No content is currently available. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **SettingsHttpFailuresSum** No content is currently available. -- **SettodisHttpAttempts** No content is currently available. -- **SettodisHttpFailures** No content is currently available. -- **SettthisHttpAttempts** No content is currently available. -- **SettthisHttpFailures** No content is currently available. -- **tBeatTimeSequenceNumber** No content is currently available. -- **ThrottledDrop9edCount** No content is currently available. -- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. -- **TopUploaderErrors** List of top errors received from the upload endpoint. -- **TSrottledDroppedCount** No content is currently available. -- **UploaderDrop9edCount** No content is currently available. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **UploaderErrorCount** Number of errors received from the upload endpoint. -- **VortaxHttpResponseFailures** No content is currently available. -- **VortexF`iluresTimeout** No content is currently available. -- **VortexFai6uresTimeout** No content is currently available. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexFailureSTimeout** No content is currently available. -- **VortexFakluresTimeout** No content is currently available. -- **VortexHttpAttempas** No content is currently available. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFai6ures4xx** No content is currently available. -- **VortexHttpFai6ures5xx** No content is currently available. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFai6ures** No content is currently available. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesOithDroppedEvents** No content is currently available. -- **VortexHttpResponsesWathDroppedEvents** No content is currently available. -- **VortexHttpResponsesWdthDroppedEvents** No content is currently available. -- **VortexHttpResponsesWithDrop9edEvents** No content is currently available. -- **vortexHttpResponsesWithDroppedEvents** No content is currently available. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -### TelClientSynthetic.HeartBeat_Agent_5 - -This event sends data about the health and quality of the diagnostic data from the specified device (agent), to help keep Windows up to date. - -The following fields are available: - -- **ConsumerDroppedCount** The number of events dropped at the consumer layer of the diagnostic data collection client. -- **ContainerBufferFullDropCount** The number of events dropped due to the container buffer being full. -- **ContainerBufferFullSevilleDropCount** The number of “Seville” events dropped due to the container buffer being full. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events dropped due to data throttling. -- **DecodingDroppedCount** The number of events dropped due to decoding failures. -- **EtwDroppedBufferCount** The number of buffers dropped in the ETW (Event Tracing for Windows) session. -- **EtwDroppedCount** The number of events dropped at the ETW (Event Tracing for Windows) layer of the diagnostic data collection client on the user’s device. -- **EventsForwardedToHost** The number of events forwarded from agent (device) to host (server). -- **FullTriggerBufferDroppedCount** The number of events dropped due to the trigger buffer being full. -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **HostConnectionErrorsCount** The number of non-timeout errors encountered in the host (server)/agent (device) socket transport channel. -- **HostConnectionTimeoutsCount** The number of connection timeouts between the host (server) and agent (device). -- **LastHostConnectionError** The last error from a connection between host (server) and agent (device). -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. -- **ThrottledDroppedCount** The number of events dropped due to throttling of “noisy” providers. - - -### TelClientSynthetic.HeartBeat_DevHealthMon_5 - -This event sends data (for Surface Hub devices) to monitor and ensure the correct functioning of those Surface Hub devices. This data helps ensure the device is up to date with the latest security and safety features. - -The following fields are available: - -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. - - -### TelClientSynthetic.LifetimeManager_ConsumerBaseTimestampChange_0 - -This event sends data when the Windows Diagnostic data collection mechanism detects a timestamp adjustment for incoming diagnostic events. This data is critical for dealing with time changes during diagnostic data analysis, to help keep the device up to date. - -The following fields are available: - -- **NewBaseTime** The new QPC (Query Performance Counter) base time from ETW (Event Tracing for Windows). -- **NewSystemTime** The new system time of the device. -- **OldSystemTime** The previous system time of the device. - - -### TelClientSynthetic.MatchEngine_ScenarioCompletionThrottled_0 - -This event sends data when scenario completion is throttled (truncated or otherwise restricted) because the scenario is excessively large. - -The following fields are available: - -- **MaxHourlyCompletionsSetting** The maximum number of scenario completions per hour until throttling kicks in. -- **ScenarioId** The globally unique identifier (GUID) of the scenario being throttled. -- **ScenarioName** The name of the scenario being throttled. - - -### TelClientSynthetic.OsEvents_BootStatReset_0 - -This event sends data when the Windows diagnostic data collection mechanism resets the Boot ID. This data helps ensure Windows is up to date. - -The following fields are available: - -- **BootId** The current Boot ID. -- **ResetReason** The reason code for resetting the Boot ID. - - -### TelClientSynthetic.ProducerThrottled_At_TriggerBuffer_0 - -This event sends data when a producer is throttled due to the trigger buffer exceeding defined thresholds. - -The following fields are available: - -- **BufferSize** The size of the trigger buffer. -- **DataType** The type of event that this producer generates (Event Tracing for Windows, Time, Synthetic). -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. -- **Threshold** The threshold crossed, which caused the throttling. - - -### TelClientSynthetic.ProducerThrottled_Event_Rate_0 - -This event sends data when an event producer is throttled by the Windows Diagnostic data collection mechanism. This data helps ensure Windows is up to date. - -The following fields are available: - -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **EventPerProviderThreshold** The trigger point for throttling (value for each provider). This value is only applied once EventRateThreshold has been met. -- **EventRateThreshold** The total event rate trigger point for throttling. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. - - -### TelClientSynthetic.RunExeWithArgsAction_ExeTerminated_0 - -This event sends data when an executable (EXE) file is terminated during escalation because it exceeded its maximum runtime (the maximum amount of time it was expected to run). This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **MaximumRuntimeMs** The maximum runtime (in milliseconds) for this action. -- **ScenarioId** The globally unique identifier (GUID) of the scenario that was terminated. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance that was terminated. - - -### TelClientSynthetic.RunExeWithArgsAction_ProcessReturnedNonZeroExitCode - -This event sends data when the RunExe process finishes during escalation, but returns a non-zero exit code. This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExitCode** The exit code of the process -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **ScenarioId** The globally unique identifier (GUID) of the escalating scenario. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance. - - -### TelClientSynthetic.ServiceMain_DevHealthMonEvent - -This event is a low latency health alert that is part of the 4Nines device health monitoring feature currently available on Surface Hub devices. For a device that is opted in, this event is sent before shutdown to signal that the device is about to be powered down. - - - -## Direct to update events - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector -- **hResult** HRESULT of the failure - - -## 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 following fields are available: - -- **dismInstalledLCUPackageName** The name of the latest installed package. - - -### Microsoft.Windows.StartRepairCore.DISMPendingInstall - -The DISM Pending Install event sends information to report pending package installation found. - -The 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 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 following fields are available: - -- **errorCode** The result code returned by the event. - - -### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd - -The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. - -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 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 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 following fields are available: - -- **srtRootCauseDiag** The scenario name for a diagnosis event. - - -## Driver installation events - -### Microsoft.Windows.DriverInstall.DeviceInstall - -This critical event sends information about the driver installation that took place. - -The following fields are available: - -- **ClassGuid** The unique ID for the device class. -- **ClassLowerFilters** The list of lower filter class drivers. -- **ClassUpperFilters** The list of upper filter class drivers. -- **CoInstallers** The list of coinstallers. -- **ConfigFlags** The device configuration flags. -- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. -- **DeviceInstalled** Indicates whether the legacy install code path was used. -- **DeviceInstanceId** The unique identifier of the device in the system. -- **DeviceStack** The device stack of the driver being installed. -- **DriverDate** The date of the driver. -- **DriverDescription** A description of the driver function. -- **DriverDeskription** No content is currently available. -- **DriverInfName** Name of the INF file (the setup information file) for the driver. -- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. -- **DriverPackageId** The ID of the driver package that is staged to the driver store. -- **DriverProvider** The driver manufacturer or provider. -- **DriverUpdated** Indicates whether the driver is replacing an old driver. -- **DriverVersion** The version of the driver file. -- **EndTime** The time the installation completed. -- **Error** Provides the WIN32 error code for the installation. -- **ExtensionDrivers** List of extension drivers that complement this installation. -- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. -- **FinishInstallUI** Indicates whether the installation process shows the user interface. -- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **FlightIds** A list of the different Windows Insider builds on the device. -- **GenericDriver** Indicates whether the driver is a generic driver. -- **Inbox** Indicates whether the driver package is included with Windows. -- **InstallDate** The date the driver was installed. -- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. -- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. -- **LegacyInstallReasonError** The error code for the legacy installation. -- **LowerFilters** The list of lower filter drivers. -- **LtSuCompatibleId** No content is currently available. -- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. -- **NeedReboot** Indicates whether the driver requires a reboot. -- **OriginalDriverInfName** The original name of the INF file before it was renamed. -- **ParentDeviceInstanceId** The device instance ID of the parent of the device. -- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. -- **Problem** Error code returned by the device after installation. -- **ProblemStatus** The status of the device after the driver installation. -- **ProblemStauus** No content is currently available. -- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. -- **SecondaryDevice** Indicates whether the device is a secondary device. -- **ServiceNamd** No content is currently available. -- **ServiceName** The service name of the driver. -- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. -- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. -- **StartTime** The time when the installation started. -- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. -- **UpperFilters** The list of upper filter drivers. - - -### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd - -This event sends data about the driver installation once it is completed. - -The 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 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. - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **!iSeqId** No content is currently available. -- **`iSeqId** No content is currently available. -- **AdapterTypeVa,ue** No content is currently available. -- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. -- **AdapterTypeVanue** No content is currently available. -- **AdatterTypeValue** No content is currently available. -- **adSeqId** No content is currently available. -- **aiSeqId** The event sequence ID. -- **apter** No content is currently available. -- **AsHwSchSupported** No content is currently available. -- **atedSystemMemoryB** No content is currently available. -- **bootAd** No content is currently available. -- **bootId** The system boot ID. -- **boovId** No content is currently available. -- **BrighdnessVersionViaDDI** No content is currently available. -- **Brightn6ssVersionViaDDI** No content is currently available. -- **BrightnessVersionVaaDDI** No content is currently available. -- **BrightnessVersionVi!DDI** No content is currently available. -- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. -- **BrightnessVessionViaDDI** No content is currently available. -- **C/mputePreemptionLevel** No content is currently available. -- **castSupported** No content is currently available. -- **chSupported** No content is currently available. -- **CoeputePreemptionLevel** No content is currently available. -- **ComputePreemptaonLevel** No content is currently available. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **ComputePreemptionLmvel** No content is currently available. -- **DA** No content is currently available. -- **DDMVersion** No content is currently available. -- **DedibatedSystemMemoryB** No content is currently available. -- **DedicatedCystemMemoryB** No content is currently available. -- **DedicatedSystdmMemoryB** No content is currently available. -- **DedicatedSystemMamoryB** No content is currently available. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedSyStemMemoryB** No content is currently available. -- **DedicateDSystemMemoryB** No content is currently available. -- **DedicatedVideoMemmryB** No content is currently available. -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **DeoicatedSystemMemoryB** No content is currently available. -- **DeoicatedVideoMemoryB** No content is currently available. -- **Device** No content is currently available. -- **dicatedVideoMemoryB** No content is currently available. -- **Display1UMDFilePath** The file path to the location of the Display User Mode Driver in the Driver Store. -- **DisplayAdapterL}id** No content is currently available. -- **DisplayAdapterLuid** The display adapter LUID. -- **DisqlayAdapterLuid** No content is currently available. -- **DpiverVersion** No content is currently available. -- **DpiverWorkarounds** No content is currently available. -- **DriverDate** The date of the display driver. -- **DrivErDate** No content is currently available. -- **DriverDatg** No content is currently available. -- **DriverDrat** No content is currently available. -- **DriverPank** No content is currently available. -- **DriverR`nk** No content is currently available. -- **DriverRank** The rank of the display driver. -- **DriVerRank** No content is currently available. -- **DriverVersio~** No content is currently available. -- **DriverVersion** The display driver version. -- **DriverWopkarounds** No content is currently available. -- **DriverWorkapounds** No content is currently available. -- **DriverWorkarounds** Numeric value indicating the driver workarounds that are enabled for this device. -- **DriverWoskasounds** No content is currently available. -- **DriwerVersion** No content is currently available. -- **DriwerWorkarounds** No content is currently available. -- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. -- **DX11TMDFilePath** No content is currently available. -- **DX11UMDFilaPath** No content is currently available. -- **DX11UMDFilePat`** No content is currently available. -- **DX11uMDFilePath** No content is currently available. -- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. -- **DX11UMDFilePati** No content is currently available. -- **DX11UMLFilePath** No content is currently available. -- **DX12UMDFilePat`** No content is currently available. -- **Dx12UMDFilePath** No content is currently available. -- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. -- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. -- **DX9UMDFileQath** No content is currently available. -- **DX9UMDFklePath** No content is currently available. -- **elemetryEnabled** No content is currently available. -- **ePath** No content is currently available. -- **evice** No content is currently available. -- **GPEDeviceID** No content is currently available. -- **GPUBevisionID** No content is currently available. -- **GPUDericeID** No content is currently available. -- **GPUDeviceID** The GPU device ID. -- **GPUDevyceID** No content is currently available. -- **GPUDewiceID** No content is currently available. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURe~isionID** No content is currently available. -- **GPURevisimnID** No content is currently available. -- **GPURevisionID** The GPU revision ID. -- **GPURewisionID** No content is currently available. -- **GPUVendorID** The GPU vendor ID. -- **h** No content is currently available. -- **I{SoftwareDevice** No content is currently available. -- **IcMsMiracastSupported** No content is currently available. -- **ID** No content is currently available. -- **idDiscrete** No content is currently available. -- **InterfaceId** The GPU interface ID. -- **InvEvntTrigger** No content is currently available. -- **IqHwSchSupported** No content is currently available. -- **iracastSupported** No content is currently available. -- **IrMsMiracastSupported** No content is currently available. -- **IsDispl`yDevice** No content is currently available. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHwCchSupported** No content is currently available. -- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. -- **IsHwSchStpported** No content is currently available. -- **IsHwSchSu`ported** No content is currently available. -- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. -- **IsHybiidDiscrete** No content is currently available. -- **IsHybiidIntegrated** No content is currently available. -- **IsHybri$Integrated** No content is currently available. -- **IsHybri`Discrete** No content is currently available. -- **IsHybrid1202trated** No content is currently available. -- **IsHybridDascrete** No content is currently available. -- **IsHybridDhscrete** No content is currently available. -- **IsHybridDiccrete** No content is currently available. -- **IsHybridDiscreat** No content is currently available. -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegraped** No content is currently available. -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsHybridInteorated** No content is currently available. -- **IsHycridDiscrete** No content is currently available. -- **IsL@A** No content is currently available. -- **IsLDa** No content is currently available. -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMhracastSupported** No content is currently available. -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMiracasTSupported** No content is currently available. -- **IsMiraCastSupported** No content is currently available. -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMismatkhLDA** No content is currently available. -- **IsMPOSuppmrted** No content is currently available. -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMPOSupxorted** No content is currently available. -- **IsMsMiracactSupported** No content is currently available. -- **IsMsMiracastCupported** No content is currently available. -- **IsMsMiracastSupporded** No content is currently available. -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsMsMiracastSupportee** No content is currently available. -- **IsMsMiracastSupportmd** No content is currently available. -- **IsPo3tAdapter** No content is currently available. -- **IsPos|Adapter** No content is currently available. -- **IsPostAdaptdr** No content is currently available. -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsQofdwareDevice** No content is currently available. -- **IsRemovab|e** No content is currently available. -- **IsRemovabde** No content is currently available. -- **IsRemovable** TRUE if the adapter supports being disabled or removed. -- **IsReMovable** No content is currently available. -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsRgmovable** No content is currently available. -- **IsSofdwareDevice** No content is currently available. -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **KMDFalePath** No content is currently available. -- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. -- **KMDFiles.uh** No content is currently available. -- **led** No content is currently available. -- **lePath** No content is currently available. -- **lue** No content is currently available. -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **MPOSupported** No content is currently available. -- **N}mVidPnSources** No content is currently available. -- **nabled** No content is currently available. -- **�nterfaceId** No content is currently available. -- **Nu}VidPnTargets** No content is currently available. -- **NumVidPnSoupces** No content is currently available. -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **NumVydPnSources** No content is currently available. -- **otId** No content is currently available. -- **ources** No content is currently available. -- **ported** No content is currently available. -- **PreemptionLevel** No content is currently available. -- **PUDeviceID** No content is currently available. -- **PUVendorID** No content is currently available. -- **riverVersion** No content is currently available. -- **rRank** No content is currently available. -- **rsion** No content is currently available. -- **S}bSystemID** No content is currently available. -- **SharedSystemMe}oryB** No content is currently available. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **sionViaDDI** No content is currently available. -- **sRemovable** No content is currently available. -- **SubFendorID** No content is currently available. -- **SubSystemAD** No content is currently available. -- **SubSystemID** The subsystem ID. -- **SubTendorID** No content is currently available. -- **SubVdndorID** No content is currently available. -- **SubVendorID** The GPU sub vendor ID. -- **SubVeneorID** No content is currently available. -- **SuSystemID** No content is currently available. -- **tegrated** No content is currently available. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvjtTrigger** No content is currently available. -- **TelInvEvn4Trigger** No content is currently available. -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **temMemoryB** No content is currently available. -- **ts** No content is currently available. -- **UPreemptionLevel** No content is currently available. -- **version** The event version. -- **verVersion** No content is currently available. -- **WDDMVerqion** No content is currently available. -- **WDDMVersinn** No content is currently available. -- **WDDMVersion** The Windows Display Driver Model version. -- **yAdapterLuid** No content is currently available. -- **yDevice** No content is currently available. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **securityLevelForStorage** The cluster parameter: security level for storage. -- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **4a9retAppId** No content is currently available. -- **4a9retAppVer** No content is currently available. -- **4a9retAsId** No content is currently available. -- **AppName** The name of the app that has crashed. -- **AppNeme** No content is currently available. -- **AppSessionGuhd** No content is currently available. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTileStamp** No content is currently available. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **E8ceptionCode** No content is currently available. -- **eventFlaTargetAppId** No content is currently available. -- **Ex#eptionCode** No content is currently available. -- **ExcepionECode** No content is currently available. -- **ExcepionEOffset** No content is currently available. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **ExceptiooOffset** No content is currently available. -- **ExcettionCode** No content is currently available. -- **ExcmptionCode** No content is currently available. -- **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. -- **Fmags** No content is currently available. -- **FniendlyAspName** No content is currently available. -- **FrhendlyAppName** No content is currently available. -- **FriefdlyAppName** No content is currently available. -- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. -- **FrienflyAppName** No content is currently available. -- **FritchlyAppName** No content is currently available. -- **FrmendlyAppName** No content is currently available. -- **IrFatal** No content is currently available. -- **IsFatal** True/False to indicate whether the crash resulted in process termination. -- **MkdName** No content is currently available. -- **ModNaee** No content is currently available. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModTimeStampPackageFullNamd** No content is currently available. -- **ModTymeStamp** No content is currently available. -- **ModVersikn** No content is currently available. -- **ModVersion** The version of the module that has crashed. -- **ModVersioo** No content is currently available. -- **MoeTimeStamp** No content is currently available. -- **MoiName** No content is currently available. -- **MoiTimeStamp** No content is currently available. -- **MoiVersion** No content is currently available. -- **MolVersion** No content is currently available. -- **Pa9kageFullName** No content is currently available. -- **Pa9kageRelativeAppId** No content is currently available. -- **PackabeRelativeAppId** No content is currently available. -- **PackageFullName** Store application identity. -- **PackageRelaonMSAppId** No content is currently available. -- **PackageRelapiveAppId** No content is currently available. -- **PackageRelativeAppId** Store application identity. -- **PacxageFullName** No content is currently available. -- **PacxageRelativeAppId** No content is currently available. -- **PargetAppVer** No content is currently available. -- **ppTimeStamp** No content is currently available. -- **PrjcessId** No content is currently available. -- **ProcessAd** No content is currently available. -- **ProcessArchitectupe** No content is currently available. -- **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. -- **ProcessCreateTihe** No content is currently available. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessCreAteTime** No content is currently available. -- **ProcessCrgateTime** No content is currently available. -- **Processd8,hitecture** No content is currently available. -- **ProcessId** The ID of the process that has crashed. -- **ProcgssArchitecture** No content is currently available. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **T!rgetAsId** No content is currently available. -- **TargatAppVer** No content is currently available. -- **Target@sId** No content is currently available. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVeb** No content is currently available. -- **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 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. - - - -## 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. -- **PackageRelativeAppIdWaitingOnAppName** No content is currently available. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - -## Holographic events - -### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated - -This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. - -The following fields are available: - -- **HmdState** Windows Mixed Reality Headset HMD state. -- **NewHoloShellState** Windows Mixed Reality HoloShell state. -- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. -- **SimulationEnabled** Windows Mixed Reality Simulation state. - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated - -This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. - -The following fields are available: - -- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. -- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. -- **PackageVersion** Windows Mixed Reality Portal app package version. -- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. -- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming - -This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. - - - -### TraceLoggingOasisUsbHostApiProvider.DeviceInformation - -This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. - -The following fields are available: - -- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. -- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. -- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. -- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. -- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. -- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. -- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. -- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. -- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. -- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. -- **DeviceInfoFlags** Windows Mixed Reality device info flags. -- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. -- **DeviceReleaseNumber** Windows Mixed Reality device release number. -- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. -- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. -- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. -- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. -- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. -- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. -- **FriendlyName** Windows Mixed Reality device friendly name. -- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. -- **HeaderSize** Windows Mixed Reality device header size. -- **HeaderVersion** Windows Mixed Reality device header version. -- **LicenseKey** Windows Mixed Reality device header license key. -- **Make** Windows Mixed Reality device make. -- **ManufacturingDate** Windows Mixed Reality device manufacturing date. -- **Model** Windows Mixed Reality device model. -- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. -- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. -- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. -- **ProductBoardRevision** Windows Mixed Reality device product board revision number. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## Inventory events - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. - -The 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 -- **InventoryApplicationShortcut** A count of application shortcut objects in cache -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDeviceUsbHubClass** A count of device usb objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache -- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. -- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache -- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache -- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache -- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache -- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache -- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache -- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache -- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache -- **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 following fields are available: - -- **aeinv** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd - -This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **CatalogSigners** Signers from catalog. Each signer starts with Chain. -- **DigestAlgorithm** The pseudonymizing (hashing) algorithm used when the file or package was signed. -- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. -- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. -- **FileName** The file name of the file whose signatures are listed. -- **FileType** Either exe or sys, depending on if a driver package or application executable. -- **InventoryVersion** The version of the inventory file generating the events. -- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). - -The following fields are available: - -- **^ersion** No content is currently available. -- **AnstallDate** No content is currently available. -- **AnstallDateFromLinkFile** No content is currently available. -- **AppType** No content is currently available. -- **blisher** No content is currently available. -- **ctCode** No content is currently available. -- **CV__** No content is currently available. -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **Ins|allDate** No content is currently available. -- **Inst`llDateFromLinkFile** No content is currently available. -- **InstallD!te** No content is currently available. -- **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 -- **InstallDateFromL)nkFile** No content is currently available. -- **InstallDateFromLincFile** No content is currently available. -- **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. -- **InstallDaueArpLastModified** No content is currently available. -- **inventoryId** No content is currently available. -- **InventoryVersiof** No content is currently available. -- **InventoryVersion** The version of the inventory file generating the events. -- **Lang}age** No content is currently available. -- **Language** The language code of the program. -- **me** No content is currently available. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProd}ctCode** No content is currently available. -- **MsiProductBode** No content is currently available. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **nAtInstallTime** No content is currently available. -- **nceId** No content is currently available. -- **ode** No content is currently available. -- **OSVersionA|InstallTime** No content is currently available. -- **OSVersionAtAnstallTime** No content is currently available. -- **OSVersionAtIns|allTime** No content is currently available. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **P}blisher** No content is currently available. -- **PackageFullNam%** No content is currently available. -- **PackageFullName** The package full name for a Store application. -- **ProgramInsta.ceId** No content is currently available. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publishdr** No content is currently available. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **rce** No content is currently available. -- **RootDirPath** The path to the root directory where the program was installed. -- **rPath** No content is currently available. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StgreAppType** No content is currently available. -- **StoreAppTqpe** No content is currently available. -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **syncId** No content is currently available. -- **teMsi** No content is currently available. -- **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. - -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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFileAdd - -This event provides file-level information about the applications that exist on the system. This event is used to understand the applications on a device to determine if those applications will experience compatibility issues when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BinaryType** The architecture of the binary (executable) file. -- **BinFileVersion** Version information for the binary (executable) file. -- **BinProductVersion** The product version provided by the binary (executable) file. -- **BoeProgramId** The “bag of evidence” program identifier. -- **CompanyName** The company name included in the binary (executable) file. -- **FileId** A pseudonymized (hashed) unique identifier derived from the file itself. -- **FileVersion** The version of the file. -- **InventoryVersion** The version of the inventory component. -- **Language** The language declared in the binary (executable) file. -- **LinkDate** The compiler link date. -- **LowerCaseLongPath** The file path in “long” format. -- **Name** The file name. -- **ProductName** The product name declared in the binary (executable) file. -- **ProductVersion** The product version declared in the binary (executable) file. -- **ProgramId** The program identifier associated with the binary (executable) file. -- **Size** The size of the binary (executable) file. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file. -- **Frameworks** The list of frameworks this file depends on. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. - -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. - -This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). - -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. - -This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). - -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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsAtiove** No content is currently available. -- **IsConectied** No content is currently available. -- **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? -- **IsN0tworked** No content is currently available. -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **MmdelName** No content is currently available. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **Prim`ryCategory** No content is currently 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. - -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. - -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. - -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. - -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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. - -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. - -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: - -- **@arentId** No content is currently available. -- **241** No content is currently available. -- **BusReportedDescription** The description of the device reported by the bux. -- **bytesRequested** No content is currently available. -- **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. -- **Contain%rId** No content is currently available. -- **ContainerId** The list of compat ids for the device. -- **D2230rId** No content is currently available. -- **DCode** No content is currently available. -- **Descriptign** No content is currently available. -- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **Devic%State** No content is currently available. -- **DeviceAxtDriversFlightIds** No content is currently available. -- **DeviceDriverFlightId** The test build (Flight) identifier of the device driver. -- **DeviceE8tDriversFlightIds** No content is currently available. -- **DeviceExtD2iversFlightIds** No content is currently available. -- **DeviceExtDriversFlightIds** The test build (Flight) identifier for all extended device drivers. -- **DevIceExtDriversFlightIds** No content is currently available. -- **DeviceIntarfaceClasses** No content is currently available. -- **DeviceInterfaceC,asses** No content is currently available. -- **DeviceInterfaceClasses** The device interfaces that this device implements. -- **DeviceRtate** No content is currently available. -- **DeviceSpate** No content is currently available. -- **DeviceStat%** No content is currently available. -- **DeviceState** The device description. -- **diceRoll** No content is currently available. -- **downloadModeReason** No content is currently available. -- **downloadModeSrc** No content is currently available. -- **DrirerVerDate** No content is currently available. -- **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. -- **DriverPacka'eStrongName** No content is currently available. -- **DriverPackageCtrongName** No content is currently available. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage -- **DriverVerDa4e** No content is currently available. -- **DriverVerDate** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). -- **DriverVerDcte** No content is currently available. -- **DriverVerVers)on** No content is currently available. -- **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **Enumerator** The date of the driver loaded for the device. -- **EnumeratOr** No content is currently available. -- **ExtendedInfs** The extended INF file names. -- **fileSize** No content is currently available. -- **fileSizeCaller** No content is currently available. -- **FirstInstallDate** The first time this device was installed on the machine. -- **Gnumerator** No content is currently available. -- **HGID** No content is currently available. -- **HWID** The version of the driver loaded for the device. -- **I.stallState** No content is currently available. -- **Inf** The bus that enumerated the device. -- **InstallDate** The date of the most recent installation of the device on the machine. -- **InstallDcte** No content is currently available. -- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx -- **InvantoryVersion** No content is currently available. -- **InventoryVersion** List of hardware ids for the device. -- **IsFatal** No content is currently available. -- **jobID** No content is currently available. -- **LowerClassFi,ters** No content is currently available. -- **LowerClassFilters** Lower filter class drivers IDs installed for the device -- **LowerFilters** Lower filter drivers IDs installed for the device -- **Manufa#turer** No content is currently available. -- **Manufacturer** INF file name (the name could be renamed by OS, such as oemXX.inf) -- **Manufacuurer** No content is currently available. -- **matchingID** No content is currently available. -- **MatchingID** Device installation state. -- **Modal** No content is currently available. -- **Model** The version of the inventory binary generating the events. -- **Paren4Id** No content is currently available. -- **ParentId** Lower filter class drivers IDs installed for the device. -- **ProblemCode** Lower filter drivers IDs installed for the device. -- **ProblemCodm** No content is currently available. -- **Provi$er** No content is currently available. -- **Provider** The device manufacturer. -- **Service** The device service name -- **sessionID** No content is currently available. -- **STACKID** Represents the hardware ID or compatible ID that Windows uses to install a device instance. -- **Uppe2ClassFilters** No content is currently available. -- **UpperC,assFilters** No content is currently available. -- **UpperClassFilters** Upper filter drivers IDs installed for the device -- **UpperF)lters** No content is currently available. -- **UpperFilters** The device model. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. - -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. - -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. - -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. - -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 provides the basic metadata about driver binaries running on the system. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **__Tl'CV__** No content is currently 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 -- **DriverTimdStamp** No content is currently available. -- **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. -- **I.ventoryVersion** No content is currently available. -- **ImageSize** The size of the driver file. -- **Inf** The name of the INF file. -- **Inventoryersion** No content is currently available. -- **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. -- **WdfVers)on** No content is currently available. -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. - -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. - -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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **FlightIds** Driver Flight IDs. -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **RecoveryIds** Driver recovery IDs. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. - -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. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd - -Provides data on the installed Office Add-ins. - -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. -- **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. -- **Usage** Data about usage for the add-in. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Provides data on the Office identifiers. - -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 -- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit -- **OpudienceData** No content is currently available. -- **OpudienceId** No content is currently available. -- **OTenantId** Unique GUID representing the Microsoft O365 Tenant -- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 -- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Office-related Internet Explorer features. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **fficeAVersion** No content is currently 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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Describes Office Products installed. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -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. -- **SharedompouterLicensing** No content is currently available. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync - -Indicates a new sync is being generated for this object type. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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 - -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 - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -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. - -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 - -Diagnostic event to indicate a new sync is being generated for this object type. - -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 - -Provides data on Unified Update Platform (UUP) products and what version they are at. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Identifier** UUP identifier -- **LastActivapedVersion** No content is currently available. -- **LastActivatedVersiol** No content is currently available. -- **LastActivatedVersion** Last activated version -- **PreviousTersion** No content is currently available. -- **PreviousVersion** Previous version -- **Source** UUP source -- **Version** UUP version - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove - -Indicates that this particular data object represented by the objectInstanceId is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **basdData** No content is currently available. See [basdData](#basddata). - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. - -The following fields are available: - -- **CensusId** A unique hardware identifier. -- **ChecksumDictiona2y** No content is currently available. -- **ChecksumDictionary** A count of each operating system indicator. -- **PCFP** Equivalent to the InventoryId field that is found in other core events. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd - -These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. This data helps ensure the device is up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -## IoT events - -### Microsoft.Windows.IoT.Client.CEPAL.MonitorStarted - -This event identifies Windows Internet of Things (IoT) devices which are running the CE PAL subsystem by sending data during CE PAL startup. - - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -OS information collected during Boot, used to evaluate the success of the upgrade process. - -The following fields are available: - -- **BootApplicat)onId** No content is currently available. -- **BootApplicathonId** No content is currently available. -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootApplicatonId** No content is currently available. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BOotSequence** No content is currently available. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetBeasonEmbeddedControllerAdditional** No content is currently available. -- **FirmwareResetReasonEmbeddedControhlerAdditional** No content is currently available. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControlleradditional** No content is currently available. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwaReResetReasonEmbeddedControllerAdditional** No content is currently available. -- **FirmwareResetReasonEmbedMenController** No content is currently available. -- **FirmwareResetReasonEmbedMenControllerAdditional** No content is currently available. -- **FirmwareResetReasonP#hAdditi/nal** No content is currently available. -- **FirmwareResetReasonP#hAdditional** No content is currently available. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **FirmwereResetReasonEmbeddedController** No content is currently available. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBoo4Succeeded** No content is currently available. -- **lastBootSucceeded** No content is currently available. -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastBootSuc-eeded** No content is currently available. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **LastShutdownSuc-eeded** No content is currently available. -- **MaxAbove4gbFreeRange** No content is currently available. -- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. -- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. -- **MeastredLaunchResume** No content is currently available. -- **MeasuredLaunchCapable** Indicates the system is capable of booting with Dynamic Root of Trust for Measurement (DRTM) support. -- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). -- **MeasuredLaunchResume** This field tells us if Dynamic Root of Trust for Measurement (DRTM) was used when resuming from hibernation. -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **TcbLaunch** Indicates whether the Trusted Computing Base was used during the boot flow. -- **UsepInputTiie** No content is currently available. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -### Microsoft.Windows.Kernel.DeviceConfig.DeviceConfig - -This critical device configuration event provides information about drivers for a driver installation that took place within the kernel. - -The following fields are available: - -- **/eedReboot** No content is currently available. -- **ClassGuid** The unique ID for the device class. -- **DeviceIn3tanceId** No content is currently available. -- **DeviceInstanceId** The unique ID for the device on the system. -- **Driver@rovider** No content is currently available. -- **DriverDate** The date of the driver. -- **DriverFlightIds** The IDs for the driver flights. -- **DriverFlyghtIds** No content is currently available. -- **DriverInfName** Driver INF file name. -- **DriverProvider** The driver manufacturer or provider. -- **DriverSub}issionId** No content is currently available. -- **DriverSubmirsionId** No content is currently available. -- **DriverSubmissionId** The driver submission ID assigned by the hardware developer center. -- **DriverSubmissionYd** No content is currently available. -- **DriverSubmyssionId** No content is currently available. -- **DriverSufmissionId** No content is currently available. -- **DriverVersaon** No content is currently available. -- **DriverVersion** The driver version number. -- **DuviceInstanceId** No content is currently available. -- **EriverProvider** No content is currently available. -- **ExtensionDrivers** The list of extension driver INF files, extension IDs, and associated flight IDs. -- **ExtensionTrivers** No content is currently available. -- **Firs4HardwareId** No content is currently available. -- **FirsdHardwareId** No content is currently available. -- **FirstHardwareAd** No content is currently available. -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **FirstHardwareMd** No content is currently available. -- **FirstHardwareYd** No content is currently available. -- **I~boxDriver** No content is currently available. -- **InboxDriver** Indicates whether the driver package is included with Windows. -- **Insta|lDate** No content is currently available. -- **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. -- **N-F6Reboot** No content is currently available. -- **OeedReboot** No content is currently available. -- **Setu`Mode** No content is currently available. -- **SetupMode** Indicates whether the device configuration occurred during the Out Of Box Experience (OOBE). -- **StatesCode** No content is currently available. -- **StatucCode** No content is currently available. -- **StatusCode** The NTSTATUS of device configuration operation. -- **StatusCOde** No content is currently available. - - -### Microsoft.Windows.Kernel.PnP.AggregateClearDevNodeProblem - -This event is sent when a problem code is cleared from a device. - -The following fields are available: - -- **Cound** No content is currently available. -- **Count** The total number of events. -- **DeviceInstanceId** The unique identifier of the device on the system. -- **LastPrmblemStatus** No content is currently available. -- **LastProb|em** No content is currently available. -- **LastProblem** The previous problem that was cleared. -- **LastProblemStatus** The previous NTSTATUS value that was cleared. -- **LtSuProblem** No content is currently available. -- **LtSuProblemStatus** No content is currently available. -- **S%rviceName** No content is currently available. -- **Service** No content is currently available. -- **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 following fields are available: - -- **@roblem** No content is currently available. -- **CerviceName** No content is currently available. -- **Cound** No content is currently available. -- **Count** The total number of events. -- **DaviceInstanceId** No content is currently available. -- **DeviceInstanceId** The unique identifier of the device in the system. -- **Last@roblemStatus** No content is currently available. -- **LastPr/blem** No content is currently available. -- **LastProb|emStatus** No content is currently available. -- **LastProblem** The previous problem code that was set on the device. -- **LastProblemStadus** No content is currently available. -- **LastProblemStatus** The previous NTSTATUS value that was set on the device. -- **LtSuProblem** No content is currently available. -- **LtSuProblemStatus** No content is currently available. -- **Proble-** No content is currently available. -- **Problel** No content is currently available. -- **Problem** The new problem code that was set on the device. -- **ProblemStatus** The new NTSTATUS value that was set on the device. -- **Service** No content is currently available. -- **Service^ame** No content is currently available. -- **ServiceName** The driver or service name that is attached to the device. -- **ServiceTame** No content is currently available. - - -### 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 following fields are available: - -- **temperature** Contains the actual temperature measurement, in tenths of degrees Kelvin, for the area that exceeded the limit. -- **thermalZone** Contains an identifier that specifies which area it was that exceeded temperature limits. - - -## Microsoft Edge events - -### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** No content is currently available. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_env** No content is currently 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). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** No content is currently available. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -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. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **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'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_env** No content is currently 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). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Microsoft.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 - -The following fields are available: - -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. -- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. -- **eventType** A string representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -## Migration events - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. - -The 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 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 following fields are available: - -- **currentSid** Indicates the user SID for which the migration is being performed. -- **knownFoldersUsr[i]** Predefined folder path locations. -- **migDiagSession->CString** The phase of the upgrade where the migration occurs. (For example, Validate tracked content.) -- **objectCount** The number of objects that are being transferred. - - -## Miracast events - -### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd - -This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session - -The following fields are available: - -- **AudioChannelCount** The number of audio channels. -- **AudioSampleRate** The sample rate of audio in terms of samples per second. -- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. -- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. -- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. -- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. -- **ConnectorType** The type of connector used during the Miracast session. -- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. -- **EncodeCount** The count of total frames encoded in the session. -- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. -- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. -- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. -- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. -- **FirstFrameTime** The time (tick count) when the first frame is sent. -- **FirstLatencyMode** The first latency mode. -- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. -- **FrameCount** The total number of frames processed. -- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. -- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. -- **Glitches** The number of frames that failed to be delivered on time. -- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. -- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. -- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. -- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. -- **LastLatencyMode** The last reported latency mode. -- **LogTimeReference** The reference time, in tick counts. -- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. -- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. -- **MediaErrorCode** The error code reported by the media session, if applicable. -- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. -- **MiracastM1** The time (tick count) when the M1 request was sent. -- **MiracastM2** The time (tick count) when the M2 request was sent. -- **MiracastM3** The time (tick count) when the M3 request was sent. -- **MiracastM4** The time (tick count) when the M4 request was sent. -- **MiracastM5** The time (tick count) when the M5 request was sent. -- **MiracastM6** The time (tick count) when the M6 request was sent. -- **MiracastM7** The time (tick count) when the M7 request was sent. -- **MiracastSessionState** The state of the Miracast session when the connection ended. -- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. -- **ProfileCount** The count of profiles generated from the receiver M4 response. -- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. -- **RefreshRate** The refresh rate set on the remote display. -- **RotationSupported** Indicates if the Miracast receiver supports display rotation. -- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. -- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. -- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. -- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. -- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. -- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. -- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. -- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. -- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. -- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. -- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. -- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. -- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. -- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. -- **UIBCStatus** The result code reported by the UIBC setup process. -- **VideoBitrate** The starting bitrate for the video encoder. -- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. -- **VideoHeight** The height of encoded video frames. -- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. -- **VideoWidth** The width of encoded video frames. -- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. - - -## Mixed Reality events - -### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded - -This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. - -The following fields are available: - -- **ClassGuid** Windows Mixed Reality device class GUID. -- **DeviceInterfaceId** Windows Mixed Reality device interface ID. -- **DeviceName** Windows Mixed Reality device name. -- **DriverVersion** Windows Mixed Reality device driver version. -- **FirmwareVersion** Windows Mixed Reality firmware version. -- **Manufacturer** Windows Mixed Reality device manufacturer. -- **ModelName** Windows Mixed Reality device model name. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -## 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 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 - -Event tells us effectiveness of new privacy experience. - -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 - - -## Push Button Reset events - -### Microsoft.Windows.PBR.BitLockerWipeFinished - -This event sends error data after the BitLocker wipe finishes if there were any issues during the wipe. - -The following fields are available: - -- **error** The error code if there were any issues during the BitLocker wipe. -- **sessionID** This is the session ID. -- **succeeded** Indicates the BitLocker wipe successful completed. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.BootState - -This event sends data on the Windows Recovery Environment (WinRE) boot, which can be used to determine whether the boot was successful. - -The following fields are available: - -- **BsdSummaryInfo** Summary of the last boot. -- **sessionID** The ID of the push-button reset session. -- **timestamp** The timestamp of the boot state. - - -### Microsoft.Windows.PBR.ClearTPMStarted - -This event sends basic data about the recovery operation on the device to allow investigation. - -The following fields are available: - -- **sessionID** The ID for this push-button restart session. -- **timestamp** The time when the Trusted Platform Module will be erased. - - -### Microsoft.Windows.PBR.ClientInfo - -This event indicates whether push-button reset (PBR) was initiated while the device was online or offline. - -The following fields are available: - -- **name** Name of the user interface entry point. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The time when this event occurred. - - -### Microsoft.Windows.PBR.Completed - -This event sends data about the recovery operation on the device to allow for investigation. - -The following fields are available: - -- **sessionID** The ID of the push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.DataVolumeCount - -This event provides the number of additional data volumes that the push-button reset operation has detected. - -The following fields are available: - -- **count** The number of attached data drives. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.DiskSpaceRequired - -This event sends the peak disk usage required for the push-button reset operation. - -The following fields are available: - -- **numBytes** The number of bytes required for the reset operation. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Time the event occurred. - - -### Microsoft.Windows.PBR.EnterAPI - -This event is sent at the beginning of each push-button reset (PRB) operation. - -The following fields are available: - -- **apiName** Name of the API command that is about to execute. -- **sessionID** The session ID. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.EnteredOOBE - -This event is sent when the push-button reset (PRB) process enters the Out Of Box Experience (OOBE). - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.LeaveAPI - -This event is sent when the push-button reset operation is complete. - -The following fields are available: - -- **a0iName** No content is currently available. -- **apiName** Name of the API command that completed. -- **errorCode** Error code if an error occurred during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation is successfully completed. -- **success** Indicates whether the API call was successful. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OEMExtensionFinished - -This event is sent when the OEM extensibility scripts have completed. - -The following fields are available: - -- **exitCode** The exit code from OEM extensibility scripts to push-button reset. -- **param** Parameters used for the OEM extensibility script. -- **phase** Name of the OEM extensibility script phase. -- **script** The path to the OEM extensibility script. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the OEM extensibility script executed successfully. -- **timedOut** Indicates whether the OEM extensibility script timed out. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OEMExtensionStarted - -This event is sent when the OEM extensibility scripts start to execute. - -The following fields are available: - -- **param** The parameters used by the OEM extensibility script. -- **phase** The name of the OEM extensibility script phase. -- **script** The path to the OEM extensibility script. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationExecuteFinished - -This event is sent at the end of a push-button reset (PBR) operation. - -The following fields are available: - -- **error** Indicates the result code of the event. -- **index** The operation index. -- **operation** The name of the operation. -- **phase** The name of the operation phase. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation successfully completed. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationExecuteStarted - -This event is sent at the beginning of a push-button reset operation. - -The following fields are available: - -- **index** The index of this operation. -- **operation** The name of this operation. -- **phase** The phase of this operation. -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. -- **weight** The weight of the operation used to distribute the change in percentage. - - -### Microsoft.Windows.PBR.OperationQueueConstructFinished - -This event is sent when construction of the operation queue for push-button reset is finished. - -The following fields are available: - -- **error** The result code for operation queue construction. -- **errorCode** Represents any error code during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the operation successfully completed. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.OperationQueueConstructStarted - -This event is sent when construction of the operation queue for push-button reset is started. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** Timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.PBRClearTPMFailed - -This event is sent when there was a failure while clearing the Trusted Platform Module (TPM). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionFailed - -This event is sent when the push-button reset operation fails to construct a new copy of the operating system. - -The following fields are available: - -- **HRESULT** Indicates the result code of the event. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. -- **SPErrorCode** The error code for the Setup Platform operation. -- **SPOperation** The last Setup Platform operation. -- **SPPhase** The last phase of the Setup Platform operation. - - -### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionSucceed - -This event is sent when the push-button reset operation succeeds in constructing a new copy of the operating system. - -The following fields are available: - -- **CBSPackageCount** The Component Based Servicing package count. -- **CustomizationPackageCount** The Customization package count. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFailed - -This event is sent when the push-button reset operation fails and rolls back to the previous state. - -The following fields are available: - -- **ErrorType** The result code for the push-button reset error. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFinalUserSelection - -This event is sent when the user makes the final selection in the user interface. - -The following fields are available: - -- **PBREraseData** Indicates whether the option to erase data is selected. -- **PBRRecoveryStrategy** The recovery strategy for the push-button reset operation. -- **PBRRepartitionDisk** Indicates whether the user has selected the option to repartition the disk. -- **PBRVariation** Indicates the push-button reset type. -- **PBRWipeDataDrives** Indicates whether the option to wipe the data drives is selected. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRFormatOSVolumeSucceed - -This event is sent when the operation to format the operating system volume succeeds during push-button reset (PBR). - -The following fields are available: - -- **JustDeleteFiles** Indicates whether disk formatting was skipped. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRIOCTLErasureSucceed - -This event is sent when the erasure operation succeeds during push-button reset (PBR). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRLayoutImageFailed - -This event is sent when push-button reset fails to create a new image of Windows. - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBROEM1Failed - -This event is sent when the first OEM extensibility operation is successfully completed. - -The following fields are available: - -- **HRESULT** The result error code from the OEM extensibility script. -- **Parameters** The parameters that were passed to the OEM extensibility script. -- **PBRType** The type of push-button reset. -- **ScriptName** The path to the OEM extensibility script. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRReachedOOBE - -This event returns data when the PBR (Push Button Reset) process reaches the OOBE (Out of Box Experience). - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRReconstructionInitiated - -This event returns data when a PBR (Push Button Reset) reconstruction operation begins. - -The following fields are available: - -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecks - -This event returns data when PBR (Push Button Reset) requirement checks begin. - -The following fields are available: - -- **DeploymentType** The type of deployment. -- **InstallType** The type of installation. -- **PBRType** The type of push-button reset. -- **SessionID** The ID for this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecksFailed - -This event returns data when PBR (Push Button Reset) requirement checks fail. - -The following fields are available: - -- **DiskSpaceAvailable** The disk space available for the push-button reset. -- **DiskSpaceRequired** The disk space required for the push-button reset. -- **ErrorType** The type of error that occurred during the requirement checks phase of the push-button reset operation. -- **PBRImageVersion** The image version of the push-button reset tool. -- **PBRRecoveryStrategy** The recovery strategy for this phase of push-button reset. -- **PBRStartedFrom** Identifies the push-button reset entry point. -- **PBRType** The type of push-button reset specified by the user interface. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRRequirementChecksPassed - -This event returns data when PBR (Push Button Reset) requirement checks are passed. - -The following fields are available: - -- **OSVersion** The OS version installed on the device. -- **PBRImageType** The push-button reset image type. -- **PBRImageVersion** The version of the push-button reset image. -- **PBRRecoveryStrategy** The push-button reset recovery strategy. -- **PBRStartedFrom** Identifies the push-button reset entry point. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PBRSucceed - -This event returns data when PBR (Push Button Reset) succeeds. - -The following fields are available: - -- **OSVersion** The OS version installed on the device. -- **PBRType** The type of push-button reset. -- **SessionID** The ID of this push-button reset session. - - -### Microsoft.Windows.PBR.PhaseFinished - -This event returns data when a phase of PBR (Push Button Reset) has completed. - -The following fields are available: - -- **error** The result code for this phase of push-button reset. -- **phase** The name of this push-button reset phase. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether this phase of push-button reset executed successfully. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.PhaseStarted - -This event is sent when a phase of the push-button reset (PBR) operation starts. - -The following fields are available: - -- **phase** The name of this phase of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.ReconstructionInfo - -This event returns data about the PBR (Push Button Reset) reconstruction. - -The following fields are available: - -- **numPackagesAbandoned** The number of packages that were abandoned during the reconstruction operation of push-button reset. -- **numPackagesFailed** The number of packages that failed during the reconstruction operation of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **slowMode** The mode of reconstruction. -- **targetVersion** The target version of the OS for the reconstruction. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ResetOptions - -This event returns data about the PBR (Push Button Reset) reset options selected by the user. - -The following fields are available: - -- **overwriteSpace** Indicates whether the option was selected to erase data during push-button reset. -- **preserveWorkplace** Indicates whether the option was selected to reserve the workplace during push-button reset. -- **scenario** The selected scenario for the push-button on reset operation. -- **sessionID** The ID of this push-button on reset session. -- **timestamp** The timestamp of this push-button on reset event. -- **usePayload** Indicates whether Cloud PBR or Reconstruction was used. -- **wipeData** Indicates whether the option was selected to wipe additional drives during push-button reset. - - -### Microsoft.Windows.PBR.RetryQueued - -This event returns data about the retry count when PBR (Push Button Reset) is restarted due to a reboot. - -The following fields are available: - -- **attempt** The number of retry attempts that were made -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ReturnedToOldOS - -This event returns data after PBR (Push Button Reset) has completed the rollback. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ReturnTaskSchedulingFailed - -This event returns data when there is a failure scheduling a boot into WinRE (Windows Recovery). - -The following fields are available: - -- **errorCode** The error that occurred while scheduling the task. -- **sessionID** The ID of this push-button reset session. -- **taskName** The name of the task. -- **timestamp** The ID of this push-button reset event. - - -### Microsoft.Windows.PBR.RollbackFinished - -This event returns data when the PBR (Push Button Reset) rollback completes. - -The following fields are available: - -- **error** Any errors that occurred during rollback to the old operating system. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the rollback succeeded. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.RollbackStarted - -This event returns data when the PBR (Push Button Reset) rollback begins. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.ScenarioNotSupported - -This event returns data when the PBR (Push Button Reset) scenario selected is not supported on the device. - -The following fields are available: - -- **errorCode** The error that occurred. -- **reason** The reason why this push-button reset scenario is not supported. -- **sessionID** The ID for this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionCreated - -This event returns data when the PRB (Push Button Reset) session is created at the beginning of the UI (user interface) process. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionResumed - -This event returns data when the PRB (Push Button Reset) session is resumed after reboots. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SessionSaved - -This event returns data when the PRB (Push Button Reset) session is suspended between reboots. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SetupExecuteFinished - -This event returns data when the PBR (Push Button Reset) setup finishes. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **systemState** Information about the system state of the Setup Platform operation. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SetupExecuteStarted - -This event returns data when the PBR (Push Button Reset) setup starts. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.SetupFinalizeStarted - -This event returns data when the Finalize operation is completed by setup during PBR (Push Button Reset). - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.SetupOperationFailed - -This event returns data when a PRB (Push Button Reset) setup operation fails. - -The following fields are available: - -- **errorCode** An error that occurred during the setup phase of push-button reset. -- **sessionID** The ID of this push-button reset session. -- **setupExecutionOperation** The name of the Setup Platform operation. -- **setupExecutionPhase** The phase of the setup operation that failed. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SystemInfoField - -This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate reset options are shown to the user. - -The following fields are available: - -- **name** Name of the system information field. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp of this push-button reset event. -- **value** The system information field value. - - -### Microsoft.Windows.PBR.SystemInfoListItem - -This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate options can be shown to the user. - -The following fields are available: - -- **index** The index number associated with the system information item. -- **name** The name of the list of system information items. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. -- **value** The value of the system information item. - - -### Microsoft.Windows.PBR.SystemInfoSenseFinished - -This event returns data when System Info Sense is finished. - -The following fields are available: - -- **error** The error code if an error occurred while querying for system information. -- **errorCode** Represents any error code during the API call. -- **sessionID** The ID of this push-button reset session. -- **succeeded** Indicates whether the query for system information was successful. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.SystemInfoSenseStarted - -This event returns data when System Info Sense is started. - -The following fields are available: - -- **sessionID** The ID of this push-button reset event. -- **timestamp** The timestamp of this push-button reset event. - - -### Microsoft.Windows.PBR.UserAcknowledgeCleanupWarning - -This event returns data when the user acknowledges the cleanup warning pop-up after PRB (Push Button Reset) is complete. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.UserCancel - -This event returns data when the user confirms they wish to cancel PBR (Push Button Reset) from the user interface. - -The following fields are available: - -- **pageID** The page ID for the page the user canceled. -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.UserConfirmStart - -This event returns data when the user confirms they wish to reset their device and PBR (Push Button Reset) begins. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.WinREInstallFinished - -This event returns data when WinRE (Windows Recovery) installation is complete. - -The following fields are available: - -- **errorCode** Any error that occurred during the Windows Recovery Environment (WinRE) installation. -- **sessionID** The ID of this push-button reset session. -- **success** Indicates whether the Windows Recovery Environment (WinRE) installation successfully completed. -- **timestamp** The timestamp for this push-button reset event. - - -### Microsoft.Windows.PBR.WinREInstallStarted - -This event returns data when WinRE (Windows Recovery) installation starts. - -The following fields are available: - -- **sessionID** The ID of this push-button reset session. -- **timestamp** The timestamp for this push-button reset event. - - -## Quality Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVercion** No content is currently available. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Provides information on reasons why the update is not applicable to the device. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Indicates why the device did not pass the readiness check. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. - -The following fields are available: - -- **CV** Correlation vector. -- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. -- **DownloadMode** Indicates how the quality update was downloaded. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. -- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. -- **Result** Download of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. - -The following fields are available: - -- **CV** Correlation vector. -- **DismInstallHResult** Internal result code from DISM when used to install the quality update. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. -- **KBNumber** KBNumber of the update being installed. -- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. -- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. -- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. -- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. -- **Result** Install of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. -- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. - -The following fields are available: - -- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. -- **Id** Identifies the trial being run, such as a disk related trial. -- **ReleaseVer** The version of the component. -- **State** The state of the reporting data from the trial, such as the top-level directory analysis. -- **Time** The time the event was fired. - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - -The following fields are available: - -- **NewPhase** The phase of progress made. -- **ReleaseVer** The version information for the component in which the change occurred. -- **Time** The system time at which the phase chance occurred. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **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. - -The following fields are available: - -- **__TlgCVp_** No content is currently available. -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **_WTlgCV__EventScenario** No content is currently available. -- **0|EveInstanceID** No content is currently available. -- **0|EveScenario** No content is currently available. -- **2|StusCode** No content is currently available. -- **2canDurationInSeconds** No content is currently available. -- **2canEnqueueTime** No content is currently available. -- **2canProps** No content is currently available. -- **Activi0yMatchingId** No content is currently available. -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **C`pabilityDetectoidGuid** No content is currently available. -- **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. -- **CallErApplicationName** No content is currently available. -- **CallerAppligationName** No content is currently available. -- **Capabili0yDetectoidGuid** No content is currently available. -- **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. -- **CligntVersikn** No content is currently available. -- **Cliu~tVersion** No content is currently available. -- **CommonPpops** No content is currently available. -- **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. -- **CommonPrors** No content is currently available. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassParformed** No content is currently available. -- **DriverSyncPassPerformad** No content is currently available. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EfentInst`nceID** No content is currently available. -- **EpentInstqnceID** No content is currently available. -- **erExclusionPolicy** No content is currently available. -- **EventCcenario** No content is currently available. -- **EventInstafceID** No content is currently available. -- **EventInstanceI@** No content is currently available. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventInstancesn** No content is currently available. -- **EventScdnario** No content is currently available. -- **EventSce~ario** No content is currently available. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **eventScenarioPEventInstanceID** No content is currently available. -- **Exonnded2|StusCode** No content is currently available. -- **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. -- **FeatqreUpdat!Pause** No content is currently available. -- **FeatureUp`atePause** No content is currently available. -- **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. -- **FeatureUpdatePausePerhod** No content is currently available. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **iceGuid** No content is currently available. -- **IConntPFNs** No content is currently available. -- **IntenthFNs** No content is currently available. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUdBDualScanEnabled** No content is currently available. -- **IsWUfBDu6lScanEnabled** No content is currently available. -- **IsWUfBDual2canEnabled** No content is currently available. -- **IsWUfBDualScaiEnabled** No content is currently available. -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBDualSsanEnabled** No content is currently available. -- **IsWUfBEnabldd** No content is currently available. -- **IsWUfBEnable`** No content is currently available. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFe`eratedScanDisabled** No content is currently available. -- **IsWUfBFederatedScaiDisabled** No content is currently available. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **IsWUfBFederatedScanDiSabled** No content is currently available. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the WU-for-Business target version policy is enabled on the device. -- **LumberOfApplicationsCategoryScanEvaluated** No content is currently available. -- **MetadataICongrityMode** No content is currently available. -- **MetadataIntegri0yMode** No content is currently available. -- **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. -- **NeatureUpdateDeferral** No content is currently available. -- **NetworkConnectivi0yDetected** No content is currently available. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NetworkConnectiviuyDetected** No content is currently available. -- **NumbepOfApplicationsCategoryScanEvaluated** No content is currently available. -- **NumberOfApplicableupdates** No content is currently available. -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCatego@yScanEvAluated** No content is currently available. -- **NumberOfApplicationsCategoryEcanEvaluated** No content is currently available. -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfApplicationsCategoryScanEvaluStad** No content is currently available. -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSykc** No content is currently available. -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfNewUpdatesFromSesviceSync** No content is currently available. -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumberOfUpdatesEvaluStad** No content is currently available. -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Onlile** No content is currently available. -- **Online** Indicates if this was an online scan. -- **OnLine** No content is currently available. -- **Pause`Updates@BranchReadinessLevel** No content is currently available. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PausedUpdates@BranchReadinessLevel** No content is currently available. -- **PauseFeatureUpdates2|SrtTime** No content is currently available. -- **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. -- **PauseQu6lityUpdatesEndTime** No content is currently available. -- **PauseQu6lityUpdatesStartTime** No content is currently available. -- **PauseQualityUpdates2|SrtTime** No content is currently available. -- **PauseQualityUpdatesE$dTime** No content is currently available. -- **PauseQualityUpdatesEddTime** No content is currently available. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdaTesEndTime** No content is currently available. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesSuartTime** No content is currently available. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QauseQualityUpdatesStartTime** No content is currently available. -- **Qu6lityUpdateDeferral** No content is currently available. -- **Qu6lityUpdatePause** No content is currently available. -- **Qu6lityUpdatePausePeriod** No content is currently available. -- **Quali0yUpdatePause** No content is currently available. -- **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 -- **RelStadCV** No content is currently available. -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ScanEnqueveTime** No content is currently available. -- **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). -- **ServiceGuad** No content is currently available. -- **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 -- **ServKceUrl** No content is currently available. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncntTy** No content is currently available. -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVepsion** No content is currently available. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TargetMetAdataVersion** No content is currently available. -- **TargeTMetadataVersion** No content is currently available. -- **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. -- **WUDevicesn** No content is currently available. -- **WULeviceID** No content is currently available. - - -### SoftwareUpdateClientTelemetry.Commit - -This event tracks the commit process post the update installation when software update client is trying to update the device. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** Version number of the software distribution client -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). - -The following fields are available: - -- **__TlgKV__** No content is currently available. -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. -- **ActiveDownLoadTime** No content is currently available. -- **AizeCalcTime** No content is currently available. -- **AlatusCode** No content is currently available. -- **AppXBloccHashFailures** No content is currently available. -- **AppXBlockHashDailures** No content is currently available. -- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **AppXScope** Indicates the scope of the app download. -- **ApxXBlockHashFailures** No content is currently available. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BufdleRevisionNumber** No content is currently available. -- **BundleBypesDownlkaded** No content is currently available. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleBytesDownloadwd** No content is currently available. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BunDleId** No content is currently available. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. -- **BundleRevisi2vNumber** No content is currently available. -- **BundleRevisionNumbep** No content is currently available. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **Bundl-RevisionNumber** No content is currently available. -- **BundRevisionNumber** No content is currently available. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **C,ientVersion** No content is currently available. -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CadlerApplicationName** No content is currently available. -- **CallerApplic9tionName** No content is currently available. -- **CallerApplicati2vName** No content is currently available. -- **CallerApplicationNamd** No content is currently available. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. -- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersi2v** No content is currently available. -- **ClientVersion** The version number of the software distribution client. -- **ClientVezsion** No content is currently available. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. -- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DeviceOEM** Identifies the Original Equipment Manufacturer (OEM) of the device. -- **DlightId** No content is currently available. -- **DovnloadPriority** No content is currently available. -- **Downloa`Priority** No content is currently available. -- **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. -- **DownloadPsiority** No content is currently available. -- **DownloadPsops** No content is currently available. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **EptendedS|atusCode** No content is currently available. -- **EType:4|S** No content is currently available. -- **EventInsta.ceID** No content is currently available. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventInstenceID** No content is currently available. -- **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. -- **EventScenasio** No content is currently available. -- **EventType** Possible values are Child, Bundle, or Driver. -- **EwentScenario** No content is currently available. -- **ExteDdedStatusCode** No content is currently available. -- **ExtendedAlatusCode** No content is currently available. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FaatureUpdatePause** No content is currently available. -- **FeatureUpdatePaure** No content is currently available. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **Flight7uildNumber** No content is currently available. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightBuildNumberPackageFullName** No content is currently available. -- **FlightBuilfNumber** No content is currently available. -- **FlightI`** No content is currently available. -- **flightId** No content is currently available. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **FundleRepeatFailCount** No content is currently available. -- **Ha2dwareId** No content is currently available. -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareHd** No content is currently available. -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostNaie** No content is currently available. -- **HostName** The hostname URL the content is downloading from. -- **IcWUfBDualScanEnabled** No content is currently available. -- **IPVersi2v** No content is currently available. -- **IPVersiol** No content is currently available. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsAOACDevice** Indicates whether the device is an Always On, Always Connected (AOAC) device. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsGenuine** No content is currently available. -- **IsVUfBEnabled** No content is currently available. -- **IsWUdBDualScanEnabled** No content is currently available. -- **IsWUfB@ualScanAnabled** No content is currently available. -- **IsWUfB@ualScanEnabled** No content is currently available. -- **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. -- **LicenseType** No content is currently available. -- **loadPrioriops** No content is currently available. -- **NdtworkRestrictionStatus** No content is currently available. -- **NetworkCost** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestricti2vStatus** No content is currently available. -- **NetworkRestrictionAlatus** No content is currently available. -- **NetworkRestrictionSt`tus** No content is currently available. -- **NetworkRestrictionStat5s** No content is currently available. -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **NetworkRestrictionStatusConnectTime** No content is currently available. -- **OsVersion** No content is currently available. -- **PackageFullName** The package name of the content. -- **PackageFullNeme** No content is currently available. -- **PackageFunlName** No content is currently available. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PlatformRole** The role of the OS platform (Desktop, Mobile, Workstation, etc.). -- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. -- **Proc%ssName** No content is currently available. -- **ProcessNale** No content is currently available. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **PRocessName** No content is currently available. -- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). -- **QualitqUpdatePiuse** No content is currently available. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePiuse** No content is currently available. -- **RdpeatFailCount** No content is currently available. -- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. -- **Regul9tionResult** No content is currently available. -- **RegulapionResult** No content is currently available. -- **Regulati2vResult** No content is currently available. -- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. -- **Rel9tedCV** No content is currently available. -- **RelatedAV** No content is currently available. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **RelavedCV** No content is currently available. -- **RepeatFaidCount** No content is currently available. -- **RepeatFailCount** Indicates whether this specific content has previously failed. -- **RepeatFailFlag** Indicates whether this specific content previously failed to download. -- **ReqeatFailCount** No content is currently available. -- **RevhsionNumber** No content is currently available. -- **Revisi2vNumber** No content is currently available. -- **Revisio.Number** No content is currently available. -- **RevisionNumber** The revision number of the specified piece of content. -- **ReviwionNumber** No content is currently available. -- **SdrviceGuid** No content is currently available. -- **SerticeGuid** No content is currently available. -- **Serv)ceGuid** No content is currently available. -- **ServicaGuid** No content is currently available. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **SizeCalctime** No content is currently available. -- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. -- **Statu{Code** No content is currently available. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotadExpectedBytes** No content is currently available. -- **TotalExpectedBytes** The total count of bytes that the download is expected to be. -- **UotalExpectedBytes** No content is currently available. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UpdateMd** No content is currently available. -- **UsedDO** Whether the download used the delivery optimization service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **VelatedCV** No content is currently available. -- **W]DeviceID** No content is currently available. -- **WQDeviceID** No content is currently available. -- **WUDevaceID** No content is currently available. -- **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 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 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 -- **ConnectionStapus** No content is currently available. -- **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" -- **JytesTransferred** No content is currently available. -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOAppDownloidLimit** No content is currently available. -- **MOUpdateDgwnloadLimit** No content is currently available. -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerSta4e** No content is currently available. -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFadlCount** No content is currently available. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevi3fonNumber** No content is currently available. -- **BundleReviersiNumber** No content is currently available. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BundleRevisionNumberHandlerType** No content is currently available. -- **CallerApplic9tionName** No content is currently available. -- **CallerApplicatfonName** No content is currently available. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVer3fon** No content is currently available. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No value is currently reported in this field. Expected value for this field is 0. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** The device model. -- **DriverPgVeBack** No content is currently available. -- **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. -- **ExtendddStatusBode** No content is currently available. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFadlurePostReboot** No content is currently available. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsSucgessFailurePostReboot** No content is currently available. -- **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. -- **IZ2UfBDualScanEnabled** No content is currently available. -- **IZ2UfBEnabled** No content is currently available. -- **IZFinalOutcomeEvent** No content is currently available. -- **IZFirmware** No content is currently available. -- **lriverRecoveryIds** No content is currently available. -- **MergedentTyprotocol9loymentProviderMode** No content is currently available. -- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. -- **MsiActfon** No content is currently available. -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **Rel9tedCV** No content is currently available. -- **RelatedCF** No content is currently available. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFadlCount** No content is currently available. -- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **Revi3fonNumber** No content is currently available. -- **ReviersiNumber** No content is currently available. -- **RevisionNum`er** No content is currently available. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGDoupId** No content is currently available. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVer3fon** No content is currently available. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactfonCode** No content is currently available. -- **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. -- **UrdateImportance** No content is currently available. -- **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 - -Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). - -The following fields are available: - -- **BundleId** Identifier associated with the specific content bundle. Should not be all zeros if the BundleId was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **CSIErrorType** Stage of CBS installation that failed. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **EventType** Event type (Child, Bundle, Release, or Driver). -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether 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 - -Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). - -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). - -The following fields are available: - -- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **DeploymentProviderMode** The mode of operation of the Update Deployment Provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers when a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). -- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether WU-for-Business dual scan is enabled on the device. -- **IsWUfBEnabled** Flag indicating whether WU-for-Business is enabled on the device. -- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. -- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific piece of content previously failed. -- **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **UpdateId** Identifier associated with the specific piece of content. -- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). -- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. -- **WUDeviceID** Unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. - -The following fields are available: - -- **__TleCV__** No content is currently 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. -- **IConntPFNs** No content is currently available. -- **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. -- **RelatedCVServiceGuid** No content is currently available. -- **RelStadCV** No content is currently available. -- **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. -- **WUDeviceIF** No content is currently available. - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. - -The following fields are available: - -- **CallerAppdicationName** No content is currently available. -- **CallerAppl4cationName** No content is currently available. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **CallerApplicationNaoe** No content is currently available. -- **CtatusCode** No content is currently available. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **EvontScenario** No content is currently available. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **ExtendgdStatusCode** No content is currently available. -- **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 -- **MetadataIntegrityOode** No content is currently available. -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **QHA256OfTimestampToken** No content is currently available. -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawOode** No content is currently available. -- **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. -- **RtatusCode** No content is currently available. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **ServiceGuil** No content is currently available. -- **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. -- **SLSPpograms** No content is currently available. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## System reset events - -### Microsoft.Windows.SysReset.FlightUninstallCancel - -This event indicates the customer has cancelled uninstallation of Windows. - - - -### Microsoft.Windows.SysReset.FlightUninstallError - -This event sends an error code when the Windows uninstallation fails. - -The following fields are available: - -- **ErrorCode** Error code for uninstallation failure. - - -### Microsoft.Windows.SysReset.FlightUninstallReboot - -This event is sent to signal an upcoming reboot during uninstallation of Windows. - - - -### Microsoft.Windows.SysReset.FlightUninstallStart - -This event indicates that the Windows uninstallation has started. - - - -### Microsoft.Windows.SysReset.FlightUninstallUnavailable - -This event sends diagnostic data when the Windows uninstallation is not available. - -The following fields are available: - -- **AddedProfiles** Indicates that new user profiles have been created since the flight was installed. -- **MissingExternalStorage** Indicates that the external storage used to install the flight is not available. -- **MissingInfra** Indicates that uninstall resources are missing. -- **MovedProfiles** Indicates that the user profile has been moved since the flight was installed. - - -### Microsoft.Windows.SysReset.HasPendingActions - -This event is sent when users have actions that will block the uninstall of the latest quality update. - - - -### Microsoft.Windows.SysReset.IndicateLCUWasUninstalled - -This event is sent when the registry indicates that the latest cumulative Windows update package has finished uninstalling. - -The following fields are available: - -- **errorCode** The error code if there was a failure during uninstallation of the latest cumulative Windows update package. - - -### Microsoft.Windows.SysReset.LCUUninstall - -This event is sent when the latest cumulative Windows update was uninstalled on a device. - -The following fields are available: - -- **errorCode** An error that occurred while the Windows update package was being uninstalled. -- **packageName** The name of the Windows update package that is being uninstalled. -- **removalTime** The amount of time it took to uninstall the Windows update package. - - -### Microsoft.Windows.SysReset.PBRBlockedByPolicy - -This event is sent when a push-button reset operation is blocked by the System Administrator. - -The following fields are available: - -- **PBRBlocked** Reason the push-button reset operation was blocked. -- **PBRType** The type of push-button reset operation that was blocked. - - -### Microsoft.Windows.SysReset.PBREngineInitFailed - -This event signals a failed handoff between two recovery binaries. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBREngineInitSucceed - -This event signals successful handoff between two recovery binaries. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBRFailedOffline - -This event reports the error code when recovery fails. - -The following fields are available: - -- **HRESULT** Error code for the failure. -- **PBRType** The recovery scenario. -- **SessionID** The unique ID for the recovery session. - - -### Microsoft.Windows.SystemReset.EsimPresentCheck - -This event is sent when a device is checked to see whether it has an embedded SIM (eSIM). - -The following fields are available: - -- **errorCode** Any error that occurred while checking for the presence of an embedded SIM. -- **esimPresent** Indicates whether an embedded SIM is present on the device. -- **sessionID** The ID of this session. - - -### Microsoft.Windows.SystemReset.PBRCorruptionRepairOption - -This event sends corruption repair diagnostic data when the PBRCorruptionRepairOption encounters a corruption error. - -The following fields are available: - -- **cbsSessionOption** The corruption repair configuration. -- **errorCode** The error code encountered. -- **meteredConnection** Indicates whether the device is connected to a metered network (wired or WiFi). -- **sessionID** The globally unique identifier (GUID) for the session. - - -### Microsoft.Windows.SystemReset.RepairNeeded - -This event provides information about whether a system reset needs repair. - -The following fields are available: - -- **repairNeeded** Indicates whether there was corruption in the system reset which needs repair. -- **sessionID** The ID of this push-button reset session. - - -## UEFI events - -### Microsoft.Windows.UEFI.ESRT - -This event sends basic data during boot about the firmware loaded or recently installed on the machine. This helps to keep Windows up to date. - -The following fields are available: - -- **DriverDirmwareFilename** No content is currently available. -- **DriverFirmwareFilename** The firmware file name reported by the device hardware key. -- **DriverFirmwarePolicy** The optional version update policy value. -- **DriverFirmwareStatus** The firmware status reported by the device hardware key. -- **DriverFirmwareVersion** The firmware version reported by the device hardware key. -- **FarmwareType** No content is currently available. -- **FirmwareId** The UEFI (Unified Extensible Firmware Interface) identifier. -- **FirmwareLastAttemptStatus** The reported status of the most recent firmware installation attempt, as reported by the EFI System Resource Table (ESRT). -- **FirmwareLastAttemptVersion** The version of the most recent attempted firmware installation, as reported by the EFI System Resource Table (ESRT). -- **FirmwareType** The UEFI (Unified Extensible Firmware Interface) type. -- **FirmwareVersion** The UEFI (Unified Extensible Firmware Interface) version as reported by the EFI System Resource Table (ESRT). -- **Ini|iateUpdate** No content is currently available. -- **InitiateUpdate** Indicates whether the system is ready to initiate an update. -- **LastAttemptDate** The date of the most recent attempted firmware installation. -- **LastAttemptStatus** The result of the most recent attempted firmware installation. -- **LastAttemptVersion** The version of the most recent attempted firmware installation. -- **LowestSupportedFirmwareVersaon** No content is currently available. -- **LowestSupportedFirmwareVersion** The oldest (lowest) version of firmware supported. -- **MaxRetryCount** The maximum number of retries, defined by the firmware class key. -- **RetpyCount** No content is currently available. -- **RetryCount** The number of attempted installations (retries), reported by the driver software key. -- **Status** The status returned to the PnP (Plug-and-Play) manager. -- **UpdateAttempted** Indicates if installation of the current update has been attempted before. - - -## Update events - -### Update360Telemetry.Revert - -This event sends data relating to the Revert phase of updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the Revert phase. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RebootRequired** Indicates reboot is required. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **RevertResult** The result code returned for the Revert operation. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. - -The following fields are available: - -- **_WTlgCV__** No content is currently available. -- **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. -- **DownloadRequests** Number of times a download was retried. -- **ErrorCode** The error code returned for the current download request phase. -- **essionGId** No content is currently available. -- **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. -- **PackageCountTotalExprssi** No content is currently available. -- **PackageCountTotalPSFX** The total number of PSFX packages. -- **PackageExpressType** Type of express package. -- **PackageExprssiType** No content is currently available. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **PackageSizeExprssi** No content is currently available. -- **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 following fields are available: - -- **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 following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **essionGData** No content is currently available. -- **essionGId** No content is currently available. -- **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. -- **ScenaiodId** No content is currently available. -- **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 following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **ExtelsionName** No content is currently available. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **MergeId** The unique ID to join two update sessions being merged. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. - -The 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 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 following fields are available: - -- **essionGId** No content is currently 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. -- **ScenaiodId** No content is currently available. -- **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 following fields are available: - -- **Count** The count of applicable OneSettings for the device. -- **essionGId** No content is currently available. -- **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. -- **ScenaiodId** No content is currently available. -- **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 following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentReboot - -This event sends information indicating that a request has been sent to suspend an update. - -The following fields are available: - -- **ErrorCode** The error code returned for the current reboot. -- **FlightId** Unique ID for the flight (test instance version). -- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. -- **ObjectId** The unique value for each Update Agent mode. -- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. - -The 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 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 following fields are available: - -- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. -- **DownloadRequestAttributes** The attributes we send to DCAT. -- **ResultCode** The result returned from the initiation of Facilitator with the URL/attributes. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **Url** The Delivery Catalog (DCAT) URL we send the request to. -- **Version** Version of Facilitator. - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. - -The 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. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **Operation** Facilitator’s last known operation (scan, download, etc.). -- **ReportId** ID for tying together events stream side. -- **ResultCode** Result returned for the entire setup operation. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **ScenarioId** Identifies the update scenario. -- **TargetBranch** Branch of the target OS. -- **TargetBuild** Build of the target OS. - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. - -The 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 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 following fields are available: - -- **ClientId** The Windows Update client ID passed to Setup. -- **Count** The count of applicable OneSettings for the device. -- **FlightData** The ID for the flight (test instance version). -- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **ReportId** The Update ID passed to Setup. -- **Result** The HResult of the event error. -- **ScenarioId** The update scenario ID. -- **Values** Values sent back to the device, if applicable. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -Result of the WaaSMedic operation. - -The following fields are available: - -- **callerAppliationE** No content is currently available. -- **callerApplicatinE** No content is currently available. -- **callerApplication** The name of the calling application. -- **capsuleCount** The number of Sediment Pack capsules. -- **capsuleFailureCount** The number of capsule failures. -- **depectionSummary** No content is currently available. -- **detectinESummary** No content is currently available. -- **detectionSummary** Result of each applicable detection that was run. -- **detectonESummary** No content is currently available. -- **featureAssessientImpact** No content is currently available. -- **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. -- **noMoraActions** No content is currently available. -- **noMoreActinEs** No content is currently available. -- **noMoreActions** No more applicable diagnostics. -- **pluginFailureCount** The number of plugins that have failed. -- **pluginsCount** The number of plugins. -- **qualityAssessientImpact** No content is currently available. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **r6mediationSummary** No content is currently available. -- **remediatinESummary** No content is currently available. -- **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. -- **remediatonESummary** No content is currently available. -- **usingBackupFeatureAssessient** No content is currently available. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessient** No content is currently available. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **usingCachedFeatureAssessient** No content is currently available. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessient** No content is currently available. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **versionString** Version of the WaaSMedic engine. -- **waasMedicRuEMode** No content is currently available. -- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootI`** No content is currently available. -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -### Value - -This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. - -The following fields are available: - -- **Algorithm** The algorithm used to preserve privacy. -- **DPRange** The upper bound of the range being measured. -- **DPValue** The randomized response returned by the client. -- **Epsilon** The level of privacy to be applied. -- **HistType** The histogram type if the algorithm is a histogram algorithm. -- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. - - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure See [Value](#value). - - -## Windows Hardware Error Architecture events - -### WheaProvider.WheaErrorRecord - -This event collects data about common platform hardware error recorded by the Windows Hardware Error Architecture (WHEA) mechanism. - -The following fields are available: - -- **creatorId** The unique identifier for the entity that created the error record. -- **errorFlags** Any flags set on the error record. -- **notifyType** The unique identifier for the notification mechanism which reported the error to the operating system. -- **partitionId** The unique identifier for the partition on which the hardware error occurred. -- **platformId** The unique identifier for the platform on which the hardware error occurred. -- **record** A collection of binary data containing the full error record. -- **recordId** The identifier of the error record. -- **sectionFlags** The flags for each section recorded in the error record. -- **sectionTypes** The unique identifier that represents the type of sections contained in the error record. -- **severityCount** The severity of each individual section. -- **timeStamp** The error time stamp as recorded in the error record. - - -## Windows Security Center events - -### Microsoft.Windows.Security.WSC.DatastoreMigratedVersion - -This event provides information about the datastore migration and whether it was successful. - -The following fields are available: - -- **datastoreisvtype** The product category of the datastore. -- **datastoremigrated** The version of the datastore that was migrated. -- **status** The result code of the migration. - - -### Microsoft.Windows.Security.WSC.GetCallerViaWdsp - -This event returns data if the registering product EXE (executable file) does not allow COM (Component Object Model) impersonation. - -The following fields are available: - -- **callerExe** The registering product EXE that does not support COM impersonation. - - -## Windows Store events - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AggregatedPaskageFullNames** No content is currently available. -- **AttemptNember** No content is currently available. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **CatgoryId** No content is currently available. -- **ClientAppId** The identity of the app that initiated this operation. -- **EserAttemptNumber** No content is currently available. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsBunlle** No content is currently available. -- **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? -- **NewState** No content is currently available. -- **PapentBundleId** No content is currently available. -- **Pare~tBundleId** No content is currently available. -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **PluginLastStage** No content is currently available. -- **Prevstate** No content is currently available. -- **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: - -- **AggrebatedPackageFullNames** No content is currently available. -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **AystemAttemptNumber** No content is currently available. -- **BEndleId** No content is currently available. -- **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. -- **DognloadSize** No content is currently available. -- **DownloadAize** No content is currently available. -- **DownloadSize** The total size of the download. -- **ExtendedHPesult** No content is currently available. -- **ExtendedHResult** Any extended HResult error codes. -- **HBesult** No content is currently available. -- **HPesult** No content is currently available. -- **HResult** The result code of the last action performed. -- **IsBEndle** No content is currently available. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsInteractmve** No content is currently available. -- **IsMandatory** Is this a mandatory installation? -- **IsPestore** No content is currently available. -- **IsRemediation** Is this repairing a previous installation? -- **IsRemediatmon** No content is currently available. -- **IsRestora** No content is currently available. -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBEndleId** No content is currently available. -- **parentBundleId** No content is currently available. -- **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. -- **SystemAtte}ptNumber** No content is currently available. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAtdemptNumber** No content is currently available. -- **UserAttemptNumber** The number of attempts by the user to download. -- **UserAttemptNumbez** No content is currently available. -- **WUCnntentId** No content is currently available. -- **WuContentId** No content is currently available. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **CategoryIdBundleId** No content is currently available. -- **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. -- **HResultaller_2tendedHResult** No content is currently available. -- **IsBundle** Is this a bundle? -- **IsEandatory** No content is currently available. -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediadion** No content is currently available. -- **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: - -- **ClienpAppId** No content is currently available. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicabili0y** No content is currently available. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnlile** No content is currently available. -- **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. -- **WUAontentId** No content is currently available. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **Cat76ogId** No content is currently available. -- **CatalogId** The name of the product catalog from which this app was chosen. -- **CTyalogId** No content is currently available. -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **CatAlogId** No content is currently available. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **FulfillmentPlugiNId** No content is currently available. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **PluwynTelemetryData** No content is currently available. -- **ProductId** The product ID of the app that is being updated or installed. -- **ProDuctId** No content is currently available. - - -### 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. -- **VodumePath** No content is currently available. -- **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: - -- **AggregatedPackageFellNames** No content is currently available. -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemppNumber** No content is currently available. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CateforyId** No content is currently available. -- **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? -- **IsIntevactive** No content is currently available. -- **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? -- **IsUserRedry** No content is currently available. -- **IsUserRetry** Did the user initiate the retry? -- **P`rentBundleId** No content is currently available. -- **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. -- **PrevioesInstallState** No content is currently available. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **Pro`uctId** No content is currently available. -- **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. -- **SystemAttelptNumber** No content is currently available. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNueber** No content is currently available. -- **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: - -- **@luginLastStage** No content is currently available. -- **Cat76ogId** No content is currently available. -- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. -- **CAtalogId** No content is currently available. -- **CatealogId** No content is currently available. -- **FulfhllmentPluginId** No content is currently available. -- **Fulfill}untPluginId** No content is currently available. -- **Fulfillment@luginId** No content is currently available. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **FulfillmentPluminId** No content is currently available. -- **Fulfillmu~tPluginId** No content is currently available. -- **HResqlt** No content is currently available. -- **HResu|t** No content is currently available. -- **HResult** The resulting HResult error/success code of this operation. -- **HRgsult** No content is currently available. -- **NdwState** No content is currently available. -- **NewCtate** No content is currently available. -- **NewState** The current fulfillment state of this product. -- **Pbevstate** No content is currently available. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginL`stStage** No content is currently available. -- **PluginLartStage** No content is currently available. -- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). -- **PluginTelemetbyData** No content is currently available. -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **PluminLastStage** No content is currently available. -- **PluminTelemetryData** No content is currently available. -- **Pretstate** No content is currently available. -- **Prevstate** The previous fulfillment state of this product. -- **ProductId** Product ID of the app that is being updated or installed. -- **ProductYd** No content is currently available. -- **Pruvstate** No content is currently available. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update CSP events - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed - -This event sends basic telemetry on the failure of the Feature Rollback. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** This is the device info. -- **wUfBConnected** Result of 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 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. - - - -## 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 following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **cdnUrl** The URL of the source CDN (Content Delivery Network). -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller. -- **reasonCode** Reason the action or event occurred. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **__TlgCR__** No content is currently available. -- **axpiresAt** No content is currently available. -- **backgroqnd** No content is currently available. -- **background** Is the download a background download? -- **baskground** No content is currently available. -- **bRequested** No content is currently available. -- **bytesFromCa#heServer** No content is currently available. -- **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. -- **bytesFromLinkLobalPeers** No content is currently available. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCa#he** No content is currently available. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesP8omCacheServer** No content is currently available. -- **bytesP8omCDN** No content is currently available. -- **bytesP8omGroupPeers** No content is currently available. -- **bytesP8omIntPeers** No content is currently available. -- **bytesP8omLinkLocalPeers** No content is currently available. -- **bytesP8omLocalCache** No content is currently available. -- **bytesP8omPeers** No content is currently available. -- **bytesRequested** The total number of bytes requested for download. -- **bytesRequeSted** No content is currently available. -- **ca#heServerConnectionCount** No content is currently available. -- **cacheSArverConnectionCount** No content is currently available. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **cacheServertionrctionCount** No content is currently available. -- **cdbytesRequested** No content is currently available. -- **cdnCknnectionCount** No content is currently available. -- **cdnConnectionCou.t** No content is currently available. -- **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. -- **cdntionrctionCount** No content is currently available. -- **cdnUrl** Url of the source Content Distribution Network (CDN). -- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **dowNlinkBps** No content is currently available. -- **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. -- **downlocdMode** No content is currently available. -- **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. -- **fumPeers** No content is currently available. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **grouptionrctionCount** No content is currently available. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **internetConnrctionCount** No content is currently available. -- **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. -- **jofID** No content is currently available. -- **lanAonnectionCount** No content is currently available. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **lantionrctionCount** No content is currently available. -- **leID** No content is currently available. -- **linkLocalConnectionCount** The number of connections made to peers in the same Link-local network. -- **linkLocaltionrctionCount** No content is currently available. -- **numPeers** The total number of peers used for this download. -- **numPeersLocal** The total number of local peers used for this download. -- **nu-PeersLocal** No content is currently available. -- **predefinedCallerName** The name of the API Caller. -- **restrictedUpload** Is the upload restricted? -- **routeToCa#heServer** No content is currently available. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the download session. -- **sRequested** No content is currently available. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **arrorCode** No content is currently 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. -- **expriomentId** No content is currently available. -- **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. -- **routeToCa#heServer** No content is currently available. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the download session. -- **ssionGGID** No content is currently available. -- **sssionGID** No content is currently available. -- **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 following fields are available: - -- **arrorCode** No content is currently available. -- **background** Indicates whether the download is happening in the background. -- **backgrouod** No content is currently available. -- **backgroutd** No content is currently available. -- **bytesRequested** Number of bytes requested for the download. -- **bytesRuquested** No content is currently available. -- **cdfileSize** No content is currently available. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). -- **costFlags** A set of flags representing network cost. -- **device@rofile** No content is currently available. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **deviceProfiLe** No content is currently available. -- **devicePronile** No content is currently available. -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersibn** No content is currently available. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **dow~loadModeReason** No content is currently available. -- **down,oadModeSrc** No content is currently available. -- **downloadMod`Src** No content is currently available. -- **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. -- **errorCodm** No content is currently available. -- **experimen|Id** No content is currently available. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **faleSizeCaller** No content is currently available. -- **fileID** The ID of the file being downloaded. -- **filePat`** No content is currently available. -- **filePath** The path to where the downloaded file will be written. -- **fileShzeCaller** No content is currently available. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCa`ler** No content is currently available. -- **fileSizeCall4r** No content is currently available. -- **fileSizeCaller** Value for total file size provided by our caller. -- **filgSizeCaller** No content is currently available. -- **gdnUrl** No content is currently available. -- **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. -- **nilePath** No content is currently available. -- **pDerID** No content is currently available. -- **peerID** The ID for this delivery optimization client. -- **peerID@doClientVersion** No content is currently available. -- **predefinddCallerName** No content is currently available. -- **predefinedallerName** No content is currently available. -- **predefinedCallerName** Name of the API caller. -- **predefinedCallErName** No content is currently available. -- **routeToCacheServer** Cache server setting, source, and value. -- **rouveToCacheServer** No content is currently available. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. -- **sssionGID** No content is currently available. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **cdnHeaders** The HTTP headers returned by the CDN. -- **cdnHearers** No content is currently available. -- **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 -- **isHearRequest** No content is currently available. -- **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 following fields are available: - -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary - -This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. -- **flightId** Unique ID for each flight. -- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. -- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. -- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. -- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. -- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. -- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** The unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The 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 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 following fields are available: - -- **errorCode** The error code returned for the current install phase. -- **flightId** The unique identifier for each flight. -- **objectId** The unique identifier for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Outcome of the install phase of the update. -- **scenarioId** The unique identifier for the update scenario. -- **sessionId** Unique value for each update session. -- **updateId** The unique identifier for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. - -The 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 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 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 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 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 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 - -Indicates 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.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel - -This event indicates that Windows Update activity was blocked due to low battery level. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. - -The following fields are available: - -- **displayNeededReason** List of reasons for needing display. -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **gameModeReason** Name of the executable that caused the game mode state check to start. -- **ignoredReason** List of reasons that were intentionally ignored. -- **IgnoreReasonsForRestart** List of reasons why restart was deferred. -- **revisionNumber** Update ID revision number. -- **systemNeededReason** List of reasons why system is needed. -- **updateId** Update ID. -- **updateScenarioType** Update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event indicates that a scan for a Windows Update occurred. - -The following fields are available: - -- **deferReason** Reason why the device could not check for updates. -- **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session was user initiated. -- **networkStatus** Error info -- **revisionNumber** Update revision number. -- **scanTriggerSource** Source of the triggered scan. -- **updateId** Update ID. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DetectionActivity - -This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. - -The following fields are available: - -- **applicableUpdateIdList** The list of update identifiers. -- **applicableUpdateList** The list of available updates. -- **ccenario** No content is currently available. -- **durationIESeconds** No content is currently available. -- **durationInSeconds** The amount of time (in seconds) it took for the event to run. -- **expeditedMode** Indicates whether Expedited Mode is on. -- **networkCostPolicy** The network cost. -- **scanTriggerSo}rce** No content is currently available. -- **scanTriggerSource** Indicates whether the scan is Interactive or Background. -- **scefarioReason** No content is currently available. -- **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 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 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. -- **updateScenarioTypeB174271CghtID** No content is currently available. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels - -This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. - -The following fields are available: - -- **configVersion** The escalation configuration version on the device. -- **downloadElapsedTime** Indicates how long since the download is required on device. -- **downloadRiskLevel** At-risk level of download phase. -- **installElapsedTime** Indicates how long since the install is required on device. -- **installRiskLevel** The at-risk level of install phase. -- **isSediment** Assessment of whether is device is at risk. -- **scanElapsedTime** Indicates how long since the scan is required on device. -- **scanRiskLevel** At-risk level of the scan phase. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask - -This event indicated that USO failed to add a trigger time to a task. - -The following fields are available: - -- **errorCode** The Windows Update error code. -- **wuDeviceid** The Windows Update device ID. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event indicates that the update is no longer applicable to this device. - -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 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 up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **de&erReasob** No content is currently available. -- **deferReason** Reason for install not completing. -- **e6entScenario** No content is currently available. -- **errorCkde** No content is currently available. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **fl)ghtID** No content is currently available. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **Part_PrivTags** No content is currently available. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNum"er** No content is currently available. -- **revisionNumber** Update revision number. -- **rrorCode** No content is currently available. -- **updatecenarioPype** No content is currently available. -- **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. -- **wueviceid** No content is currently available. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. - -The following fields are available: - -- **availableHistoryMinutes** The number of minutes available from the local machine activity history. -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. - -The following fields are available: - -- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. -- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.ScanTriggered - -This event indicates that Update Orchestrator has started a scan operation. - -The following fields are available: - -- **hsScanPastTriggerSla** No content is currently available. -- **interactive** Indicates whether the scan is interactive. -- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. -- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. -- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. -- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. -- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. -- **scanTriggerSource** Indicates what caused the scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable - -This event defines when an optional update is available for the device to help keep Windows up to date. - -The following fields are available: - -- **flightID** The unique identifier of the Windows Insider build on this device. -- **isFeatureUpdate** Indicates whether the update is a Feature Update. -- **revisionNumber** The revision number of the update. -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.SeekUpdate - -This event occurs when user initiates "seeker" scan. This helps keep Windows up to date. - -The following fields are available: - -- **flightID** The ID of the Windows Insider builds on the device. -- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. -- **revisionNumber** The revision number of the update. -- **updateId** The identifier of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.StickUpdate - -This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. - -The 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 up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours - -This event indicates that update activity was stopped due to active hours starting. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorInvalidSignature - -This event is sent when an updater has attempted to register a binary that is not signed by Microsoft. - -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 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.UnstickUpdate - -This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. - -The following fields are available: - -- **updateId** Identifier associated with the specific piece of content. -- **wuDeviceid** Unique device ID controlled by the software distribution client. - - -### Microsoft.Windows.Update.Orchestrator.UpdateNotApplicableForReserves - -This event reports a critical error when using update reserves for OS updates to help keep Windows up to date. - -The following fields are available: - -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaliesource** No content is currently available. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed - -This event is sent when an updater failed to execute the registered callback. - -The following fields are available: - -- **updaterArgument** The argument to pass to the updater callback. -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData - -This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. - -The following fields are available: - -- **malformedRegValue** The registry value that contains the malformed or missing entry. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.UsoSession - -This event represents the state of the USO service at start and completion. - -The following fields are available: - -- **activeSessionid** A unique session GUID. -- **eventScenario** The state of the update action. -- **interactive** Is the USO session interactive? -- **lastErrorcode** The last error that was encountered. -- **lastErrorstate** The state of the update when the last error was encountered. -- **sessionType** A GUID that refers to the update session type. -- **updateScenarioType** A descriptive update session type. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.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 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 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 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. It's used to help keep Windows 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. - - -### 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. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. - -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 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. - - -### Mitigation360Telemetry.MitigationCustom.FixupEditionId - -This event sends data specific to the FixupEditionId mitigation used for OS updates. - -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. -- **EditionIdUpdated** Determine whether EditionId was changed. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **ProductEditionId** Expected EditionId value based on GetProductInfo. -- **ProductType** Value returned by GetProductInfo. -- **RegistryEditionId** EditionId value in the registry. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **WuId** Unique ID for the Windows Update client. - - -## 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 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 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 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 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 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 following fields are available: - -- **Fallb!ckInitUsed** No content is currently 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. -- **HardReserweTargetSize** No content is currently available. -- **HasdReserveFinalSize** No content is currently available. -- **HasdReserveInitialSize** No content is currently available. -- **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 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 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 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. - - - -### Microsoft.Windows.UpdateReserveManager.TurnOffReserves - -This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. - -The following fields are available: - -- **__TngCV__** No content is currently 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 -- **HcrdReserveSize** No content is currently available. -- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. -- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. -- **SoftReserveSize** The size of the soft reserve when Turn Off is called. -- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. - -The following fields are available: - -- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. -- **Disposition** The parameter for the hard reserve adjustment function. -- **Flags** The flags passed to the hard reserve adjustment function. -- **PendingHardReserveAdjustment** The final change to the hard reserve size. -- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - -The following fields are available: - -- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. -- **AppId** The Xbox LIVE Title ID. -- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. -- **Result** The HResult error. -- **UserId** The Xbox LIVE User ID (XUID). - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. - -The following fields are available: - -- **AppActionId** The ID of the application action. -- **AppCurrentVisibilityState** The ID of the current application visibility state. -- **AppId** The Xbox LIVE Title ID of the app. -- **AppPackageFullName** The full name of the application package. -- **AppPreviousVisibilityState** The ID of the previous application visibility state. -- **AppSessionId** The application session ID. -- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). -- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. -- **DurationMs** The amount of time (in milliseconds) since the last application state transition. -- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. -- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). -- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. -- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. -- **UserId** The XUID (Xbox User ID) of the current user. - - - +--- +description: Use this article to learn more about what required Windows diagnostic data is gathered. +title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) +keywords: privacy, telemetry +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +localizationpriority: high +author: brianlic-msft +ms.author: brianlic +manager: dansimp +ms.collection: M365-security-compliance +ms.topic: article +audience: ITPro +ms.date: 03/27/2020 +--- + + +# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields + + +> [!IMPORTANT] +> Windows is moving to classifying the data collected from customer’s devices as either *Required* or *Optional*. + + + **Applies to** + +- Windows 10, version 1909 +- Windows 10, version 1903 + + +Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. + +Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. + +Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. + +You can learn more about Windows functional and diagnostic data through these articles: + + +- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) +- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) +- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) +- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) +- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) +- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) + + + + +## AppLocker events + +### Microsoft.Windows.Security.AppLockerCSP.AddParams + +This event indicates the parameters passed to the Add function of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child** The child URI of the node to add. +- **uri** URI of the node relative to %SYSTEM32%/AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.AddStart + +This event indicates the start of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.AddStop + +This event indicates the end of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** The HRESULT returned by Add function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Commit + +This event returns information about the Commit operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure.. + +The following fields are available: + +- **oldId** The unique identifier for the most recent previous CSP transaction. +- **txId** The unique identifier for the current CSP transaction. + + +### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Rollback + +This event provides the result of the Rollback operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **oldId** Previous id for the CSP transaction. +- **txId** Current id for the CSP transaction. + + +### Microsoft.Windows.Security.AppLockerCSP.ClearParams + +This event provides the parameters passed to the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **uri** The URI relative to the %SYSTEM32%\AppLocker folder. + + +### Microsoft.Windows.Security.AppLockerCSP.ClearStart + +This event indicates the start of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.ClearStop + +This event indicates the end of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT reported at the end of the 'Clear' function. + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceParams + +This event provides the parameters that were passed to the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **NodeId** NodeId passed to CreateNodeInstance. +- **nodeOps** NodeOperations parameter passed to CreateNodeInstance. +- **uri** URI passed to CreateNodeInstance, relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStart + +This event indicates the start of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStop + +This event indicates the end of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT returned by the CreateNodeInstance function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildParams + +This event provides the parameters passed to the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child** The child URI of the node to delete. +- **uri** URI relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStart + +This event indicates the start of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStop + +This event indicates the end of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **hr** HRESULT returned by the DeleteChild function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.EnumPolicies + +This event provides the logged Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker if the plug-in GUID is null or the Configuration Service Provider (CSP) doesn't believe the old policy is present. + +The following fields are available: + +- **uri** URI relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesParams + +This event provides the parameters passed to the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **uri** URI relative to %SYSTEM32%/AppLocker for MDM node. + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStart + +This event indicates the start of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStop + +This event indicates the end of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **child[0]** If function succeeded, the first child's name, else "NA". +- **count** If function succeeded, the number of child node names returned by the function, else 0. +- **hr** HRESULT returned by the GetChildNodeNames function of AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.GetLatestId + +This event provides the latest time-stamped unique identifier in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **dirId** The latest directory identifier found by GetLatestId. +- **id** The id returned by GetLatestId if id > 0 - otherwise the dirId parameter. + + +### Microsoft.Windows.Security.AppLockerCSP.HResultException + +This event provides the result code (HRESULT) generated by any arbitrary function in the AppLocker Configuration Service Provider (CSP). + +The following fields are available: + +- **file** File in the OS code base in which the exception occurs. +- **function** Function in the OS code base in which the exception occurs. +- **hr** HRESULT that is reported. +- **line** Line in the file in the OS code base in which the exception occurs. + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueParams + +This event provides the parameters that were passed to the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + +The following fields are available: + +- **dataLength** Length of the value to set. +- **uri** The node URI to that should contain the value, relative to %SYSTEM32%\AppLocker. + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueStart + +This event indicates the start of the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. + + + +### Microsoft.Windows.Security.AppLockerCSP.SetValueStop + +End of the "SetValue" operation for the AppLockerCSP node. + +The following fields are available: + +- **hr** HRESULT returned by the SetValue function in AppLockerCSP. + + +### Microsoft.Windows.Security.AppLockerCSP.TryRemediateMissingPolicies + +This event provides information for fixing a policy in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. It includes Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker that needs to be fixed. + +The following fields are available: + +- **uri** URI for node relative to %SYSTEM32%/AppLocker. + + +## Appraiser events + +### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount + +This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. + +The 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_RS3Setup** 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_RS3Setup** 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_19ASetup** 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_RS3Setup** The count of the number of this particular object type 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_RS3Setup** 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_RS3Setup** 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_19ASetup** 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_RS3Setup** The count of the number of this particular object type present 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. +- **DecisionSystemProcessor_RS2** 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. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. +- **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. +- **InventorySystemMachine** The count of the number of this particular object type present on this device. +- **InventorySystemProcessor** 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 + +Represents the basic metadata about specific application files installed on the system. + +This event 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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd + +This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **ActiveNetworkConnection** Indicates whether the device is an active network device. +- **AppraiserVersion** The version of the appraiser file generating the events. +- **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. +- **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.DatasourceDevicePnpRemove + +This event indicates that the DatasourceDevicePnp object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync + +This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.DataSourceMatchingInfoBlockStartSync + +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +This event includes fields from [Ms.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.DataSourceMatchingInfoPassiveStartSync + +This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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 includes fields from [Ms.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 is no longer present. + +This event includes fields from [Ms.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 + +The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. + +This event includes fields from [Ms.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 is no longer present. + +This event includes fields from [Ms.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 + +This event indicates that a new set of DecisionDriverPackageAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoBlockStartSync + +This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. + +This event includes fields from [Ms.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.DecisionMatchingInfoPassiveStartSync + +This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.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. + +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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **BiosDate** The release date of the BIOS in UTC format. +- **BiosName** The name field from Win32_BIOS. +- **Manufacturer** The manufacturer field from Win32_ComputerSystem. +- **Model** The model field from Win32_ComputerSystem. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync + +This event indicates that a new set of InventorySystemBiosAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemProcessorEndSync + +This event indicates that a full set of InventorySystemProcessorAdd events has been sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemProcessorStartSync + +This event indicates that a new set of InventorySystemProcessorAdd events will be sent. + +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.InventoryTestRemove + +This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryTestStartSync + +This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd + +This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. + +This event 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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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 indicates what should be expected in the data payload. + +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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.SystemProcessorPrefetchWStartSync + +This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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.SystemTouchStartSync + +This event indicates that a new set of SystemTouchAdd events will be sent. + +This event includes fields from [Ms.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.SystemWimStartSync + +This event indicates that a new set of SystemWimAdd events will be sent. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.TelemetryRunHealth + +This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. + +The following fields are available: + +- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. +- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. +- **AppraiserProcess** The name of the process that launched Appraiser. +- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. +- **AuxFinal** Obsolete, always set to false. +- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. +- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. +- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. +- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. +- **InboxDataVersion** The original version of the data files before retrieving any newer version. +- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. +- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. +- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. +- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. +- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. +- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. +- **RunOnline** Indicates if appraiser was able to connect to Windows Update and 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 + +This event indicates that a new set of WmdrmAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +## Audio endpoint events + +### MicArrayGeometry + +This event provides information about the layout of the individual microphone elements in the microphone array. + +The following fields are available: + +- **MicCoords** The location and orientation of the microphone element. +- **usFrequencyBandHi** The high end of the frequency range for the microphone. +- **usFrequencyBandLo** The low end of the frequency range for the microphone. +- **usMicArrayType** The type of the microphone array. +- **usNumberOfMicrophones** The number of microphones in the array. +- **usVersion** The version of the microphone array specification. +- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). +- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). +- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). +- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). + + +### MicCoords + +This event provides information about the location and orientation of the microphone element. + +The following fields are available: + +- **usType** The type of microphone. +- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). +- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). +- **wXCoord** The x-coordinate of the microphone. +- **wYCoord** The y-coordinate of the microphone. +- **wZCoord** The z-coordinate of the microphone. + + +### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo + +This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. + +The following fields are available: + +- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). +- **ContainerId** An identifier that uniquely groups the functional devices associated with a single-function or multifunction device. +- **DeviceInstanceId** The unique identifier for this instance of the device. +- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. +- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. +- **endpointEffectModule** Module name for the endpoint effect audio processing object. +- **EndpointFormFactor** The enumeration value for the form factor of the endpoint device (for example speaker, microphone, remote network device). +- **endpointID** The unique identifier for the audio endpoint. +- **endpointInstanceId** The unique identifier for the software audio endpoint. Used for joining to other audio event. +- **Flow** Indicates whether the endpoint is capture (1) or render (0). +- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. +- **globalEffectModule** Module name for the legacy global effect audio processing object. +- **HWID** The hardware identifier for the endpoint. +- **IsBluetooth** Indicates whether the device is a Bluetooth device. +- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. +- **IsSideband** Indicates whether the device is a sideband device. +- **IsUSB** Indicates whether the device is a USB device. +- **JackSubType** A unique ID representing the KS node type of the endpoint. +- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. +- **localEffectModule** Module name for the legacy local effect audio processing object. +- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). +- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. +- **modeEffectModule** Module name for the mode effect audio processing object. +- **persistentId** A unique ID for this endpoint which is retained across migrations. +- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. +- **streamEffectModule** Module name for the stream effect audio processing object. + + +## Census events + +### Census.App + +This event sends version data about the Apps running on this device, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. +- **AppraiserErrorCode** The error code of the last Appraiser run. +- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. +- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. +- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. +- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. +- **AppraiserTaskExitCode** The Appraiser task exist code. +- **AppraiserTaskLastRun** The last runtime for the Appraiser task. +- **CensusVersion** The version of Census that generated the current data for this device. +- **IEVersion** The version of Internet Explorer that is running on the device. + + +### Census.Azure + +This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. + +The 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, type to help keep Windows 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.Camera + +This event sends data about the resolution of cameras on the device, to help keep Windows up to date. + +The following fields are available: + +- **FrontFacingCameraResolution** Represents the resolution of the front facing camera in megapixels. If a front facing camera does not exist, then the value is 0. +- **RearFacingCameraResolution** Represents the resolution of the rear facing camera in megapixels. If a rear facing camera does not exist, then the value is 0. + + +### 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 following fields are available: + +- **AADDeviceId** Azure Active Directory device ID. +- **AzureOSIDPresent** Represents the field used to identify an Azure machine. +- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. +- **CDJType** Represents the type of cloud domain joined for the machine. +- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. +- **ContainerType** The type of container, such as process or virtual machine hosted. +- **EnrollmentType** Defines the type of MDM enrollment on the device. +- **HashedDomain** The hashed representation of the user domain used for login. +- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false +- **IsDERequirementMet** Represents if the device can do device encryption. +- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption +- **IsDomainJoined** Indicates whether a machine is joined to a domain. +- **IsEDPEnabled** Represents if Enterprise data protected on the device. +- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. +- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. +- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID +- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows up to date. + +The following fields are available: + +- **ActiveMicCount** The number of active microphones attached to the device. +- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. +- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. +- **D3DMaxFeatureLevel** Supported Direct3D version. +- **DeviceColor** Indicates a color of the device. +- **DeviceForm** Indicates the form as per the device classification. +- **DeviceName** The device name that is set by the user. +- **DigitizerSupport** Is a digitizer supported? +- **DUID** The device unique ID. +- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. +- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). +- **InventoryId** The device ID used for compatibility testing. +- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). +- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) +- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. +- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. +- **OEMModelBaseBoard** The baseboard model used by the OEM. +- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. +- **OEMModelName** The device model name. +- **OEMModelNumber** The device model number. +- **OEMModelSKU** The device edition that is defined by the manufacturer. +- **OEMModelSystemFamily** The system family set on the device by an OEM. +- **OEMModelSystemVersion** The system model version set on the device by the OEM. +- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. +- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. +- **PhoneManufacturer** The friendly name of the phone manufacturer. +- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. +- **SoCName** The firmware manufacturer of the device. +- **StudyID** Used to identify retail and non-retail device. +- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. +- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. +- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. +- **TPMManufacturerId** The ID of the TPM manufacturer. +- **TPMManufacturerVersion** The version of the TPM manufacturer. +- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. +- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? + + +### Census.Memory + +This event sends data about the memory on the device, including ROM and RAM, to help keep Windows 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), to help keep Windows up to date. + +The following fields are available: + +- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. +- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. +- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. +- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. +- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. +- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. +- **NetworkAdapterGUID** The GUID of the primary network adapter. +- **NetworkCost** Represents the network cost associated with a connection. +- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. +- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. + + +### Census.OS + +This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device, to help keep Windows up to date. + +The following fields are available: + +- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. +- **AssignedAccessStatus** Kiosk configuration mode. +- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. +- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. +- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time +- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. +- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). +- **InstallLanguage** The first language installed on the user machine. +- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. +- **IsEduData** Returns Boolean if the education data policy is enabled. +- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go +- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. +- **LanguagePacks** The list of language packages installed on the device. +- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. +- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. +- **OSEdition** Retrieves the version of the current OS. +- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc +- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). +- **OSSKU** Retrieves the Friendly Name of OS Edition. +- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. +- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. +- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. +- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. +- **ProductActivationResult** Returns Boolean if the OS Activation was successful. +- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. +- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. +- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. +- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. +- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. +- **ServiceProductKeyID** Retrieves the License key of the KMS +- **SharedPCMode** Returns Boolean for 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. + +The following fields are available: + +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollection** Current state of the activity history collection setting. +- **AdvertisingId** Current state of the advertising ID setting. +- **AppDiagnostics** Current state of the app diagnostics setting. +- **Appointments** Current state of the calendar setting. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **CellularData** Current state of the cellular data capability setting. +- **Chat** Current state of the chat setting. +- **Contacts** Current state of the contacts setting. +- **DocumentsLibrary** Current state of the documents library setting. +- **Email** Current state of the email setting. +- **FindMyDevice** Current state of the "find my device" setting. +- **GazeInput** Current state of the gaze input setting. +- **HumanInterfaceDevice** Current state of the human interface device setting. +- **InkTypeImprovement** Current state of the improve inking and typing setting. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneCall** Current state of the phone call setting. +- **PhoneCallHistory** Current state of the call history setting. +- **PicturesLibrary** Current state of the pictures library setting. +- **Radios** Current state of the radios setting. +- **SensorsCustom** Current state of the custom sensor setting. +- **SerialCommunication** Current state of the serial communication setting. +- **Sms** Current state of the text messaging setting. +- **SpeechPersonalization** Current state of the speech services setting. +- **USB** Current state of the USB setting. +- **UserAccountInformation** Current state of the account information setting. +- **UserDataTasks** Current state of the tasks setting. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **WiFiDirect** Current state of the Wi-Fi direct setting. + + +### Census.Processor + +This event sends data about the processor to help keep Windows 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. + +The following fields are available: + +- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. +- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. +- **DGState** This field summarizes the Device Guard state. +- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. +- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. +- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. +- **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. +- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. +- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **SModeState** The Windows S mode trail state. +- **SystemGuardState** Indicates the SystemGuard state. NotCapable (0), Capable (1), Enabled (2), Error (0xFF). +- **TpmReadyState** Indicates the TPM ready state. NotReady (0), ReadyForStorage (1), ReadyForAttestation (2), Error (0xFF). +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. +- **WdagPolicyValue** The Windows Defender Application Guard policy. + + +### Census.Speech + +This event is used to gather basic speech settings on the device. + +The 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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, to help keep Windows 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 following fields are available: + +- **Activity** Current state of the activity history setting. +- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. +- **ActivityHistoryCollection** Current state of the activity history collection setting. +- **AdvertisingId** Current state of the advertising ID setting. +- **AppDiagnostics** Current state of the app diagnostics setting. +- **Appointments** Current state of the calendar setting. +- **Bluetooth** Current state of the Bluetooth capability setting. +- **BluetoothSync** Current state of the Bluetooth sync capability setting. +- **BroadFileSystemAccess** Current state of the broad file system access setting. +- **CellularData** Current state of the cellular data capability setting. +- **Chat** Current state of the chat setting. +- **Contacts** Current state of the contacts setting. +- **DocumentsLibrary** Current state of the documents library setting. +- **Email** Current state of the email setting. +- **GazeInput** Current state of the gaze input setting. +- **HumanInterfaceDevice** Current state of the human interface device setting. +- **InkTypeImprovement** Current state of the improve inking and typing setting. +- **InkTypePersonalization** Current state of the inking and typing personalization setting. +- **Location** Current state of the location setting. +- **LocationHistory** Current state of the location history setting. +- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. +- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. +- **Microphone** Current state of the microphone setting. +- **PhoneCall** Current state of the phone call setting. +- **PhoneCallHistory** Current state of the call history setting. +- **PicturesLibrary** Current state of the pictures library setting. +- **Radios** Current state of the radios setting. +- **SensorsCustom** Current state of the custom sensor setting. +- **SerialCommunication** Current state of the serial communication setting. +- **Sms** Current state of the text messaging setting. +- **SpeechPersonalization** Current state of the speech services setting. +- **USB** Current state of the USB setting. +- **UserAccountInformation** Current state of the account information setting. +- **UserDataTasks** Current state of the tasks setting. +- **UserNotificationListener** Current state of the notifications setting. +- **VideosLibrary** Current state of the videos library setting. +- **Webcam** Current state of the camera setting. +- **WiFiDirect** Current state of the Wi-Fi direct setting. + + +### Census.VM + +This event sends data indicating whether virtualization is enabled on the device, and its various characteristics, to help keep Windows up to date. + +The following fields are available: + +- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. +- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. +- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. +- **IsVDI** Is the device using Virtual Desktop Infrastructure? +- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. +- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. +- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. +- **VMId** A string that identifies a virtual machine. + + +### Census.WU + +This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. +- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). +- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured +- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting +- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. +- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? +- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? +- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? +- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? +- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? +- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. +- **OSRollbackCount** The number of times feature updates have rolled back on the device. +- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. +- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . +- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. +- **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. +- **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). + + +## Common data extensions + +### Common Data Extensions.app + +Describes the properties of the running application. This extension could be populated by a client app or a web app. + +The following fields are available: + +- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. +- **env** The environment from which the event was logged. +- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. +- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. +- **locale** The locale of the app. +- **name** The name of the app. +- **userId** The userID as known by the application. +- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. + + +### Common Data Extensions.container + +Describes the properties of the container for events logged within a container. + +The following fields are available: + +- **epoch** An ID that's incremented for each SDK initialization. +- **localId** The device ID as known by the client. +- **osVer** The operating system version. +- **seq** An ID that's incremented for each event. +- **type** The container type. Examples: Process or VMHost + + +### Common Data Extensions.device + +Describes the device-related fields. + +The following fields are available: + +- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. +- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId +- **make** Device manufacturer. +- **model** Device model. + + +### Common Data Extensions.Envelope + +Represents an envelope that contains all of the common data extensions. + +The following fields are available: + +- **data** Represents the optional unique diagnostic data for a particular event schema. +- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). +- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). +- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). +- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). +- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). +- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). +- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). +- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). +- **iKey** Represents an ID for applications or other logical groupings of events. +- **name** Represents the uniquely qualified name for the event. +- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.mscv + +Describes the correlation vector-related fields. + +The following fields are available: + +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. + + +### Common Data Extensions.os + +Describes some properties of the operating system. + +The following fields are available: + +- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. +- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. +- **locale** Represents the locale of the operating system. +- **name** Represents the operating system name. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.sdk + +Used by platform specific libraries to record fields that are required for a specific SDK. + +The following fields are available: + +- **epoch** An ID that is incremented for each SDK initialization. +- **installId** An ID that's created during the initialization of the SDK for the first time. +- **libVer** The SDK version. +- **seq** An ID that is incremented for each event. +- **ver** The version of the logging SDK. + + +### Common Data Extensions.user + +Describes the fields related to a user. + +The following fields are available: + +- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. +- **locale** The language and region. +- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. + + +### Common Data Extensions.utc + +Describes the properties that could be populated by a logging library on Windows. + +The following fields are available: + +- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. +- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number +- **cat** Represents a bitmask of the ETW Keywords associated with the event. +- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. +- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **flags** Represents the bitmap that captures various Windows specific flags. +- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. +- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence +- **op** Represents the ETW Op Code. +- **pgName** The short form of the provider group name associated with the event. +- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. +- **providerGuid** The ETW provider ID associated with the provider name. +- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. +- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. +- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. +- **wcmp** The Windows Shell Composer ID. +- **wPId** The Windows Core OS product ID. +- **wsId** The Windows Core OS session ID. + + +### Common Data Extensions.xbl + +Describes the fields that are related to XBOX Live. + +The following fields are available: + +- **claims** Any additional claims whose short claim name hasn't been added to this structure. +- **did** XBOX device ID +- **dty** XBOX device type +- **dvr** The version of the operating system on the device. +- **eid** A unique ID that represents the developer entity. +- **exp** Expiration time +- **ip** The IP address of the client device. +- **nbf** Not before time +- **pid** A comma separated list of PUIDs listed as base10 numbers. +- **sbx** XBOX sandbox identifier +- **sid** The service instance ID. +- **sty** The service type. +- **tid** The XBOX Live title ID. +- **tvr** The XBOX Live title version. +- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. +- **xid** A list of base10-encoded XBOX User IDs. + + +## Common data fields + +### Ms.Device.DeviceInventoryChange + +Describes the installation state for all hardware and software components available on a particular device. + +The following fields are available: + +- **action** The change that was invoked on a device inventory object. +- **inventoryId** Device ID used for Compatibility testing +- **objectInstanceId** Object identity which is unique within the device scope. +- **objectType** Indicates the object type that the event applies to. +- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. + + +## Component-based servicing events + +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update to keep Windows up to date. + +The following fields are available: + +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionFinalize + +This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. + +The 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. + + + +## Diagnostic data events + +### TelClientSynthetic.AbnormalShutdown_0 + +This event sends data about boot IDs for which a normal clean shutdown was not observed, to help keep Windows up to date. + +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 sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. + +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 + +Fired by UTC at startup to signal what data we are allowed to collect. + +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. + +The following fields are available: + +- **CensusExitCode** Returns last execution codes from census client run. +- **CensusStartTime** Returns timestamp corresponding to last successful census run. +- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. +- **LastConnectivityLossTime** Retrieves the last time the device lost free network. +- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. +- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. +- **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. + + +### TelClientSynthetic.EventMonitor_0 + +This event provides statistics for specific diagnostic events. + +The following fields are available: + +- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. +- **EventName** The name of the event being monitored. +- **EventSnFirst** The expected first event serial number. +- **EventSnLast** The expected last event serial number. +- **EventStoreCount** The number of events reaching the event store. +- **MonitorSn** The serial number of the monitor. +- **TriggerCount** The number of events reaching the trigger buffer. +- **UploadedCount** The number of events uploaded. + + +### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 + +This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. + +The following fields are available: + +- **FilePath** The unexpanded path in the scenario XML. +- **ScenarioId** The globally unique identifier (GUID) of the scenario. +- **ScenarioInstanceId** The error code denoting which path failed (internal or external). + + +### TelClientSynthetic.HeartBeat_5 + +This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. + +The following fields are available: + +- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. +- **CensusExitCode** The last exit code of the Census task. +- **CensusStartTime** Time of last Census run. +- **CensusTaskEnabled** True if Census is enabled, false otherwise. +- **CompressedBytesUploaded** Number of compressed bytes uploaded. +- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. +- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. +- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. +- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. +- **DbDroppedCount** Number of events dropped due to DB fullness. +- **DbDroppedFailureCount** Number of events dropped due to DB failures. +- **DbDroppedFullCount** Number of events dropped due to DB fullness. +- **DecodingDroppedCount** Number of events dropped due to decoding failures. +- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. +- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. +- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. +- **EventsPersistedCount** Number of events that reached the PersistEvent stage. +- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. +- **EventStoreResetCounter** Number of times event DB was reset. +- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventsUploaded** Number of events uploaded. +- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. +- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. +- **HeartBeatSequenceNumber** The sequence number of this heartbeat. +- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. +- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. +- **LastEventSizeOffender** Event name of last event which exceeded max event size. +- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. +- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. +- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. +- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). +- **PrivacyBlockedCount** The number of events blocked due to privacy settings or tags. +- **RepeatedUploadFailureDropped** Number of events lost due to repeated upload failures for a single buffer. +- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. +- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. +- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. +- **TopUploaderErrors** List of top errors received from the upload endpoint. +- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. +- **UploaderErrorCount** Number of errors received from the upload endpoint. +- **VortexFailuresTimeout** The number of timeout failures received from Vortex. +- **VortexHttpAttempts** Number of attempts to contact Vortex. +- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. +- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. +- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. +- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. + + +### TelClientSynthetic.HeartBeat_Agent_5 + +This event sends data about the health and quality of the diagnostic data from the specified device (agent), to help keep Windows up to date. + +The following fields are available: + +- **ConsumerDroppedCount** The number of events dropped at the consumer layer of the diagnostic data collection client. +- **ContainerBufferFullDropCount** The number of events dropped due to the container buffer being full. +- **ContainerBufferFullSevilleDropCount** The number of “Seville” events dropped due to the container buffer being full. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events dropped due to data throttling. +- **DecodingDroppedCount** The number of events dropped due to decoding failures. +- **EtwDroppedBufferCount** The number of buffers dropped in the ETW (Event Tracing for Windows) session. +- **EtwDroppedCount** The number of events dropped at the ETW (Event Tracing for Windows) layer of the diagnostic data collection client on the user’s device. +- **EventsForwardedToHost** The number of events forwarded from agent (device) to host (server). +- **FullTriggerBufferDroppedCount** The number of events dropped due to the trigger buffer being full. +- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. +- **HostConnectionErrorsCount** The number of non-timeout errors encountered in the host (server)/agent (device) socket transport channel. +- **HostConnectionTimeoutsCount** The number of connection timeouts between the host (server) and agent (device). +- **LastHostConnectionError** The last error from a connection between host (server) and agent (device). +- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. +- **ThrottledDroppedCount** The number of events dropped due to throttling of “noisy” providers. + + +### TelClientSynthetic.HeartBeat_DevHealthMon_5 + +This event sends data (for Surface Hub devices) to monitor and ensure the correct functioning of those Surface Hub devices. This data helps ensure the device is up to date with the latest security and safety features. + +The following fields are available: + +- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. +- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. + + +### TelClientSynthetic.LifetimeManager_ConsumerBaseTimestampChange_0 + +This event sends data when the Windows Diagnostic data collection mechanism detects a timestamp adjustment for incoming diagnostic events. This data is critical for dealing with time changes during diagnostic data analysis, to help keep the device up to date. + +The following fields are available: + +- **NewBaseTime** The new QPC (Query Performance Counter) base time from ETW (Event Tracing for Windows). +- **NewSystemTime** The new system time of the device. +- **OldSystemTime** The previous system time of the device. + + +### TelClientSynthetic.MatchEngine_ScenarioCompletionThrottled_0 + +This event sends data when scenario completion is throttled (truncated or otherwise restricted) because the scenario is excessively large. + +The following fields are available: + +- **MaxHourlyCompletionsSetting** The maximum number of scenario completions per hour until throttling kicks in. +- **ScenarioId** The globally unique identifier (GUID) of the scenario being throttled. +- **ScenarioName** The name of the scenario being throttled. + + +### TelClientSynthetic.OsEvents_BootStatReset_0 + +This event sends data when the Windows diagnostic data collection mechanism resets the Boot ID. This data helps ensure Windows is up to date. + +The following fields are available: + +- **BootId** The current Boot ID. +- **ResetReason** The reason code for resetting the Boot ID. + + +### TelClientSynthetic.ProducerThrottled_At_TriggerBuffer_0 + +This event sends data when a producer is throttled due to the trigger buffer exceeding defined thresholds. + +The following fields are available: + +- **BufferSize** The size of the trigger buffer. +- **DataType** The type of event that this producer generates (Event Tracing for Windows, Time, Synthetic). +- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. +- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. +- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. +- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. +- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. +- **Hit** The number of events seen from this producer. +- **IKey** The IKey identifier of the producer, if available. +- **ProviderId** The provider ID of the producer being throttled. +- **ProviderName** The provider name of the producer being throttled. +- **Threshold** The threshold crossed, which caused the throttling. + + +### TelClientSynthetic.ProducerThrottled_Event_Rate_0 + +This event sends data when an event producer is throttled by the Windows Diagnostic data collection mechanism. This data helps ensure Windows is up to date. + +The following fields are available: + +- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. +- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. +- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. +- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. +- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. +- **EventPerProviderThreshold** The trigger point for throttling (value for each provider). This value is only applied once EventRateThreshold has been met. +- **EventRateThreshold** The total event rate trigger point for throttling. +- **Hit** The number of events seen from this producer. +- **IKey** The IKey identifier of the producer, if available. +- **ProviderId** The provider ID of the producer being throttled. +- **ProviderName** The provider name of the producer being throttled. + + +### TelClientSynthetic.RunExeWithArgsAction_ExeTerminated_0 + +This event sends data when an executable (EXE) file is terminated during escalation because it exceeded its maximum runtime (the maximum amount of time it was expected to run). This data helps ensure Windows is up to date. + +The following fields are available: + +- **ExpandedExeName** The expanded name of the executable (EXE) file. +- **MaximumRuntimeMs** The maximum runtime (in milliseconds) for this action. +- **ScenarioId** The globally unique identifier (GUID) of the scenario that was terminated. +- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance that was terminated. + + +### TelClientSynthetic.RunExeWithArgsAction_ProcessReturnedNonZeroExitCode + +This event sends data when the RunExe process finishes during escalation, but returns a non-zero exit code. This data helps ensure Windows is up to date. + +The following fields are available: + +- **ExitCode** The exit code of the process +- **ExpandedExeName** The expanded name of the executable (EXE) file. +- **ScenarioId** The globally unique identifier (GUID) of the escalating scenario. +- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance. + + +### TelClientSynthetic.ServiceMain_DevHealthMonEvent + +This event is a low latency health alert that is part of the 4Nines device health monitoring feature currently available on Surface Hub devices. For a device that is opted in, this event is sent before shutdown to signal that the device is about to be powered down. + + + +## Direct to update events + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure + +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **CV_new** New correlation vector +- **hResult** HRESULT of the failure + + +## 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 following fields are available: + +- **dismInstalledLCUPackageName** The name of the latest installed package. + + +### Microsoft.Windows.StartRepairCore.DISMPendingInstall + +The DISM Pending Install event sends information to report pending package installation found. + +The 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 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 following fields are available: + +- **errorCode** The result code returned by the event. + + +### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd + +The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. + +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 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 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 following fields are available: + +- **srtRootCauseDiag** The scenario name for a diagnosis event. + + +## Driver installation events + +### Microsoft.Windows.DriverInstall.DeviceInstall + +This critical event sends information about the driver installation that took place. + +The following fields are available: + +- **ClassGuid** The unique ID for the device class. +- **ClassLowerFilters** The list of lower filter class drivers. +- **ClassUpperFilters** The list of upper filter class drivers. +- **CoInstallers** The list of coinstallers. +- **ConfigFlags** The device configuration flags. +- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. +- **DeviceInstalled** Indicates whether the legacy install code path was used. +- **DeviceInstanceId** The unique identifier of the device in the system. +- **DeviceStack** The device stack of the driver being installed. +- **DriverDate** The date of the driver. +- **DriverDescription** A description of the driver function. +- **DriverInfName** Name of the INF file (the setup information file) for the driver. +- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. +- **DriverPackageId** The ID of the driver package that is staged to the driver store. +- **DriverProvider** The driver manufacturer or provider. +- **DriverUpdated** Indicates whether the driver is replacing an old driver. +- **DriverVersion** The version of the driver file. +- **EndTime** The time the installation completed. +- **Error** Provides the WIN32 error code for the installation. +- **ExtensionDrivers** List of extension drivers that complement this installation. +- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. +- **FinishInstallUI** Indicates whether the installation process shows the user interface. +- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). +- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). +- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. +- **FlightIds** A list of the different Windows Insider builds on the device. +- **GenericDriver** Indicates whether the driver is a generic driver. +- **Inbox** Indicates whether the driver package is included with Windows. +- **InstallDate** The date the driver was installed. +- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. +- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. +- **LegacyInstallReasonError** The error code for the legacy installation. +- **LowerFilters** The list of lower filter drivers. +- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. +- **NeedReboot** Indicates whether the driver requires a reboot. +- **OriginalDriverInfName** The original name of the INF file before it was renamed. +- **ParentDeviceInstanceId** The device instance ID of the parent of the device. +- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. +- **Problem** Error code returned by the device after installation. +- **ProblemStatus** The status of the device after the driver installation. +- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. +- **SecondaryDevice** Indicates whether the device is a secondary device. +- **ServiceName** The service name of the driver. +- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. +- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. +- **StartTime** The time when the installation started. +- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. +- **UpperFilters** The list of upper filter drivers. + + +### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd + +This event sends data about the driver installation once it is completed. + +The 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 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. + + +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **Display1UMDFilePath** The file path to the location of the Display User Mode Driver in the Driver Store. +- **DisplayAdapterLuid** The display adapter LUID. +- **DriverDate** The date of the display driver. +- **DriverRank** The rank of the display driver. +- **DriverVersion** The display driver version. +- **DriverWorkarounds** Numeric value indicating the driver workarounds that are enabled for this device. +- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. +- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. +- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. +- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. +- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **SubSystemID** The subsystem ID. +- **SubVendorID** The GPU sub vendor ID. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **version** The event version. +- **WDDMVersion** The Windows Display Driver Model version. + + +## Failover Clustering events + +### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 + +This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. + +The following fields are available: + +- **autoAssignSite** The cluster parameter: auto site. +- **autoBalancerLevel** The cluster parameter: auto balancer level. +- **autoBalancerMode** The cluster parameter: auto balancer mode. +- **blockCacheSize** The configured size of the block cache. +- **ClusterAdConfiguration** The ad configuration of the cluster. +- **clusterAdType** The cluster parameter: mgmt_point_type. +- **clusterDumpPolicy** The cluster configured dump policy. +- **clusterFunctionalLevel** The current cluster functional level. +- **clusterGuid** The unique identifier for the cluster. +- **clusterWitnessType** The witness type the cluster is configured for. +- **countNodesInSite** The number of nodes in the cluster. +- **crossSiteDelay** The cluster parameter: CrossSiteDelay. +- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. +- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. +- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. +- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. +- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. +- **csvResourceCount** The number of resources in the cluster. +- **currentNodeSite** The name configured for the current site for the cluster. +- **dasModeBusType** The direct storage bus type of the storage spaces. +- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. +- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. +- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. +- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. +- **genAppNames** The win32 service name of a clustered service. +- **genSvcNames** The command line of a clustered genapp. +- **hangRecoveryAction** The cluster parameter: hang recovery action. +- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. +- **isCalabria** Specifies whether storage spaces direct is enabled. +- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. +- **isRunningDownLevel** Identifies if the current node is running down-level. +- **logLevel** Specifies the granularity that is logged in the cluster log. +- **logSize** Specifies the size of the cluster log. +- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. +- **minNeverPreempt** The cluster parameter: minimum never preempt. +- **minPreemptor** The cluster parameter: minimum preemptor priority. +- **netftIpsecEnabled** The parameter: netftIpsecEnabled. +- **NodeCount** The number of nodes in the cluster. +- **nodeId** The current node number in the cluster. +- **nodeResourceCounts** Specifies the number of node resources. +- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. +- **numberOfSites** The number of different sites. +- **numNodesInNoSite** The number of nodes not belonging to a site. +- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. +- **preferredSite** The preferred site location. +- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. +- **quarantineDuration** The quarantine duration. +- **quarantineThreshold** The quarantine threshold. +- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. +- **resiliencyLevel** Specifies the level of resiliency. +- **resourceCounts** Specifies the number of resources. +- **resourceTypeCounts** Specifies the number of resource types in the cluster. +- **resourceTypes** Data representative of each resource type. +- **resourceTypesPath** Data representative of the DLL path for each resource type. +- **sameSubnetDelay** The cluster parameter: same subnet delay. +- **sameSubnetThreshold** The cluster parameter: same subnet threshold. +- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). +- **securityLevel** The cluster parameter: security level. +- **securityLevelForStorage** The cluster parameter: security level for storage. +- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. +- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. +- **upNodeCount** Specifies the number of nodes that are up (online). +- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. +- **vmIsolationTime** The cluster parameter: VM isolation time. +- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. + + +## Fault Reporting events + +### Microsoft.Windows.FaultReporting.AppCrashEvent + +This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. + +The following fields are available: + +- **AppName** The name of the app that has crashed. +- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. +- **AppTimeStamp** The date/time stamp of the app. +- **AppVersion** The version of the app that has crashed. +- **ExceptionCode** The exception code returned by the process that has crashed. +- **ExceptionOffset** The address where the exception had occurred. +- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. +- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. +- **IsFatal** True/False to indicate whether the crash resulted in process termination. +- **ModName** Exception module name (e.g. bar.dll). +- **ModTimeStamp** The date/time stamp of the module. +- **ModVersion** The version of the module that has crashed. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has crashed. +- **ProcessId** The ID of the process that has crashed. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported +- **TargetAsId** The sequence number for the hanging process. + + +## Feature update events + +### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed + +This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. + +The 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. + + + +## Hang Reporting events + +### Microsoft.Windows.HangReporting.AppHangEvent + +This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. + +The following fields are available: + +- **AppName** The name of the app that has hung. +- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. +- **AppVersion** The version of the app that has hung. +- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + +## Holographic events + +### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated + +This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. + +The following fields are available: + +- **HmdState** Windows Mixed Reality Headset HMD state. +- **NewHoloShellState** Windows Mixed Reality HoloShell state. +- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. +- **SimulationEnabled** Windows Mixed Reality Simulation state. + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated + +This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. + +The following fields are available: + +- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. +- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. +- **PackageVersion** Windows Mixed Reality Portal app package version. +- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. +- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). + + +### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming + +This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. + + + +### TraceLoggingOasisUsbHostApiProvider.DeviceInformation + +This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. + +The following fields are available: + +- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. +- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. +- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. +- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. +- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. +- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. +- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. +- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. +- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. +- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. +- **DeviceInfoFlags** Windows Mixed Reality device info flags. +- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. +- **DeviceReleaseNumber** Windows Mixed Reality device release number. +- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. +- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. +- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. +- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. +- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. +- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. +- **FriendlyName** Windows Mixed Reality device friendly name. +- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. +- **HeaderSize** Windows Mixed Reality device header size. +- **HeaderVersion** Windows Mixed Reality device header version. +- **LicenseKey** Windows Mixed Reality device header license key. +- **Make** Windows Mixed Reality device make. +- **ManufacturingDate** Windows Mixed Reality device manufacturing date. +- **Model** Windows Mixed Reality device model. +- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. +- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. +- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. +- **ProductBoardRevision** Windows Mixed Reality device product board revision number. +- **SerialNumber** Windows Mixed Reality device serial number. + + +## Inventory events + +### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum + +This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. + +The 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 +- **InventoryApplicationShortcut** A count of application shortcut objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. +- **InventoryDeviceUsbHubClass** A count of device usb objects in cache +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. +- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache +- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. +- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache +- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache +- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache +- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache +- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache +- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache +- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache +- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache +- **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 following fields are available: + +- **aeinv** The version of the App inventory component. +- **devinv** The file version of the Device inventory component. + + +### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd + +This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **CatalogSigners** Signers from catalog. Each signer starts with Chain. +- **DigestAlgorithm** The pseudonymizing (hashing) algorithm used when the file or package was signed. +- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. +- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. +- **FileName** The file name of the file whose signatures are listed. +- **FileType** Either exe or sys, depending on if a driver package or application executable. +- **InventoryVersion** The version of the inventory file generating the events. +- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd + +This event sends basic metadata about an application on the system to help keep Windows up to date. + +This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). + +The following fields are available: + +- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. +- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). +- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 +- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. +- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. +- **InventoryVersion** The version of the inventory file generating the events. +- **Language** The language code of the program. +- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. +- **MsiProductCode** A GUID that describe the MSI Product. +- **Name** The name of the application. +- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. +- **PackageFullName** The package full name for a Store application. +- **ProgramInstanceId** A hash of the file IDs in an app. +- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. +- **RootDirPath** The path to the root directory where the program was installed. +- **Source** How the program was installed (for example, ARP, MSI, Appx). +- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. +- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. +- **Version** The version number of the program. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd + +This event represents what drivers an application installs. + +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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory component. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFileAdd + +This event provides file-level information about the applications that exist on the system. This event is used to understand the applications on a device to determine if those applications will experience compatibility issues when upgrading Windows. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **BinaryType** The architecture of the binary (executable) file. +- **BinFileVersion** Version information for the binary (executable) file. +- **BinProductVersion** The product version provided by the binary (executable) file. +- **BoeProgramId** The “bag of evidence” program identifier. +- **CompanyName** The company name included in the binary (executable) file. +- **FileId** A pseudonymized (hashed) unique identifier derived from the file itself. +- **FileVersion** The version of the file. +- **InventoryVersion** The version of the inventory component. +- **Language** The language declared in the binary (executable) file. +- **LinkDate** The compiler link date. +- **LowerCaseLongPath** The file path in “long” format. +- **Name** The file name. +- **ProductName** The product name declared in the binary (executable) file. +- **ProductVersion** The product version declared in the binary (executable) file. +- **ProgramId** The program identifier associated with the binary (executable) file. +- **Size** The size of the binary (executable) file. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd + +This event provides the basic metadata about the frameworks an application may depend on. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **FileId** A hash that uniquely identifies a file. +- **Frameworks** The list of frameworks this file depends on. +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync + +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. + +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. + +This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). + +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. + +This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Categories** A comma separated list of functional categories in which the container belongs. +- **DiscoveryMethod** The discovery method for the device container. +- **FriendlyName** The name of the device container. +- **InventoryVersion** The version of the inventory file generating the events. +- **IsActive** Is the device connected, or has it been seen in the last 14 days? +- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. +- **IsMachineContainer** Is the container the root device itself? +- **IsNetworked** Is this a networked device? +- **IsPaired** Does the device container require pairing? +- **Manufacturer** The manufacturer name for the device container. +- **ModelId** A unique model ID. +- **ModelName** The model name. +- **ModelNumber** The model number for the device container. +- **PrimaryCategory** The primary category for the device container. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove + +This event indicates that the InventoryDeviceContainer object is no longer present. + +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. + +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. + +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. + +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 to help keep Windows up to date 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 InventoryDeviceMediaClassRemove object is no longer present. + +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. + +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/en-us/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. + +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. + +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. + +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. + +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 to help keep Windows up to date. + +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. + +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. + +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 includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **Class** The class name for the device driver. +- **ClassGuid** The class GUID for the device driver. +- **Date** The driver package date. +- **Directory** The path to the driver package. +- **DriverInBox** Is the driver included with the operating system? +- **FlightIds** Driver Flight IDs. +- **Inf** The INF name of the driver package. +- **InventoryVersion** The version of the inventory file generating the events. +- **Provider** The provider for the driver package. +- **RecoveryIds** Driver recovery IDs. +- **SubmissionId** The HLK submission ID for the driver package. +- **Version** The version of the driver package. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove + +This event indicates that the InventoryDriverPackageRemove object is no longer present. + +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. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. + +The following fields are available: + +- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd + +Provides data on the installed Office Add-ins. + +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. +- **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. +- **Usage** Data about usage for the add-in. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Provides data on the Office identifiers. + +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 +- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit +- **OTenantId** Unique GUID representing the Microsoft O365 Tenant +- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 +- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Office-related Internet Explorer features. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Describes Office Products installed. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +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 + +Indicates a new sync is being generated for this object type. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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 + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +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. + +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 + +Diagnostic event to indicate a new sync is being generated for this object type. + +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 + +Provides data on Unified Update Platform (UUP) products and what version they are at. + +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 + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.Checksum + +This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. + +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 + +These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **IndicatorValue** The indicator value. + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync + +This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. This data helps ensure the device is up to date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove + +This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync + +This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + + + +## IoT events + +### Microsoft.Windows.IoT.Client.CEPAL.MonitorStarted + +This event identifies Windows Internet of Things (IoT) devices which are running the CE PAL subsystem by sending data during CE PAL startup. + + + +## Kernel events + +### IO + +This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. + +The following fields are available: + +- **BytesRead** The total number of bytes read from or read by the OS upon system startup. +- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. + + +### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch + +OS information collected during Boot, used to evaluate the success of the upgrade process. + +The following fields are available: + +- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. +- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. +- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. +- **BootStatusPolicy** Identifies the applicable Boot Status Policy. +- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). +- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. +- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. +- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwareResetReasonPch** Reason for system reset provided by firmware. +- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. +- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). +- **LastBootSucceeded** Flag indicating whether the last boot was successful. +- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. +- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. +- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. +- **MeasuredLaunchCapable** Indicates the system is capable of booting with Dynamic Root of Trust for Measurement (DRTM) support. +- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). +- **MeasuredLaunchResume** This field tells us if Dynamic Root of Trust for Measurement (DRTM) was used when resuming from hibernation. +- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). +- **RecoveryEnabled** Indicates whether recovery is enabled. +- **TcbLaunch** Indicates whether the Trusted Computing Base was used during the boot flow. +- **UserInputTime** The amount of time the loader application spent waiting for user input. + + +### Microsoft.Windows.Kernel.DeviceConfig.DeviceConfig + +This critical device configuration event provides information about drivers for a driver installation that took place within the kernel. + +The following fields are available: + +- **ClassGuid** The unique ID for the device class. +- **DeviceInstanceId** The unique ID for the device on the system. +- **DriverDate** The date of the driver. +- **DriverFlightIds** The IDs for the driver flights. +- **DriverInfName** Driver INF file name. +- **DriverProvider** The driver manufacturer or provider. +- **DriverSubmissionId** The driver submission ID assigned by the hardware developer center. +- **DriverVersion** The driver version number. +- **ExtensionDrivers** The list of extension driver INF files, extension IDs, and associated flight IDs. +- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. +- **InboxDriver** Indicates whether the driver package is included with Windows. +- **InstallDate** Date the driver was installed. +- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. +- **Legacy** Indicates whether the driver is a legacy driver. +- **NeedReboot** Indicates whether the driver requires a reboot. +- **SetupMode** Indicates whether the device configuration occurred during the Out Of Box Experience (OOBE). +- **StatusCode** The NTSTATUS of device configuration operation. + + +### Microsoft.Windows.Kernel.PnP.AggregateClearDevNodeProblem + +This event is sent when a problem code is cleared from a device. + +The 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 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 following fields are available: + +- **temperature** Contains the actual temperature measurement, in tenths of degrees Kelvin, for the area that exceeded the limit. +- **thermalZone** Contains an identifier that specifies which area it was that exceeded temperature limits. + + +## Microsoft Edge events + +### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_env** The environment from which the event was logged when testing; otherwise, the field is omitted or left blank. +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping + +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. + +The following fields are available: + +- **appAp** Any additional parameters for the specified application. Default: ''. +- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. +- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. +- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. +- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. +- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. +- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. +- **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'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_env** The environment from which the event was logged when testing; otherwise, the field is omitted or left blank. +- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. +- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. +- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. +- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. +- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. +- **pop_sample** A value indicating how the device's data is being sampled. +- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. +- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. +- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. + + +### Microsoft.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 + +The following fields are available: + +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. +- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. +- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. +- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. +- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. +- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. +- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. +- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. +- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. +- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). +- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. +- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. +- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. +- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. +- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. +- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. +- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. +- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. +- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. +- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. +- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. +- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. +- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. +- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. +- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. +- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. +- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. +- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. +- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. + + +## Migration events + +### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr + +This event returns data to track the count of the migration objects across various phases during feature update. + +The 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 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 following fields are available: + +- **currentSid** Indicates the user SID for which the migration is being performed. +- **knownFoldersUsr[i]** Predefined folder path locations. +- **migDiagSession->CString** The phase of the upgrade where the migration occurs. (For example, Validate tracked content.) +- **objectCount** The number of objects that are being transferred. + + +## Miracast events + +### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd + +This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session + +The following fields are available: + +- **AudioChannelCount** The number of audio channels. +- **AudioSampleRate** The sample rate of audio in terms of samples per second. +- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. +- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. +- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. +- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. +- **ConnectorType** The type of connector used during the Miracast session. +- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. +- **EncodeCount** The count of total frames encoded in the session. +- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. +- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. +- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. +- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. +- **FirstFrameTime** The time (tick count) when the first frame is sent. +- **FirstLatencyMode** The first latency mode. +- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. +- **FrameCount** The total number of frames processed. +- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. +- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. +- **Glitches** The number of frames that failed to be delivered on time. +- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. +- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. +- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. +- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. +- **LastLatencyMode** The last reported latency mode. +- **LogTimeReference** The reference time, in tick counts. +- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. +- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. +- **MediaErrorCode** The error code reported by the media session, if applicable. +- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. +- **MiracastM1** The time (tick count) when the M1 request was sent. +- **MiracastM2** The time (tick count) when the M2 request was sent. +- **MiracastM3** The time (tick count) when the M3 request was sent. +- **MiracastM4** The time (tick count) when the M4 request was sent. +- **MiracastM5** The time (tick count) when the M5 request was sent. +- **MiracastM6** The time (tick count) when the M6 request was sent. +- **MiracastM7** The time (tick count) when the M7 request was sent. +- **MiracastSessionState** The state of the Miracast session when the connection ended. +- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. +- **ProfileCount** The count of profiles generated from the receiver M4 response. +- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. +- **RefreshRate** The refresh rate set on the remote display. +- **RotationSupported** Indicates if the Miracast receiver supports display rotation. +- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. +- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. +- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. +- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. +- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. +- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. +- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. +- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. +- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. +- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. +- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. +- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. +- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. +- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. +- **UIBCStatus** The result code reported by the UIBC setup process. +- **VideoBitrate** The starting bitrate for the video encoder. +- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. +- **VideoHeight** The height of encoded video frames. +- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. +- **VideoWidth** The width of encoded video frames. +- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. + + +## Mixed Reality events + +### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded + +This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. + +The following fields are available: + +- **ClassGuid** Windows Mixed Reality device class GUID. +- **DeviceInterfaceId** Windows Mixed Reality device interface ID. +- **DeviceName** Windows Mixed Reality device name. +- **DriverVersion** Windows Mixed Reality device driver version. +- **FirmwareVersion** Windows Mixed Reality firmware version. +- **Manufacturer** Windows Mixed Reality device manufacturer. +- **ModelName** Windows Mixed Reality device model name. +- **SerialNumber** Windows Mixed Reality device serial number. + + +## OneDrive events + +### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation + +This event is related to the OS version when the OS is upgraded with OneDrive installed. + +The following fields are available: + +- **CurrentOneDriveVersion** The current version of OneDrive. +- **CurrentOSBuildBranch** The current branch of the operating system. +- **CurrentOSBuildNumber** The current build number of the operating system. +- **CurrentOSVersion** The current version of the operating system. +- **HResult** The HResult of the operation. +- **SourceOSBuildBranch** The source branch of the operating system. +- **SourceOSBuildNumber** The source build number of the operating system. +- **SourceOSVersion** The source version of the operating system. + + +## 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 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 + +Event tells us effectiveness of new privacy experience. + +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 + + +## Push Button Reset events + +### Microsoft.Windows.PBR.BitLockerWipeFinished + +This event sends error data after the BitLocker wipe finishes if there were any issues during the wipe. + +The following fields are available: + +- **error** The error code if there were any issues during the BitLocker wipe. +- **sessionID** This is the session ID. +- **succeeded** Indicates the BitLocker wipe successful completed. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.BootState + +This event sends data on the Windows Recovery Environment (WinRE) boot, which can be used to determine whether the boot was successful. + +The following fields are available: + +- **BsdSummaryInfo** Summary of the last boot. +- **sessionID** The ID of the push-button reset session. +- **timestamp** The timestamp of the boot state. + + +### Microsoft.Windows.PBR.ClearTPMStarted + +This event sends basic data about the recovery operation on the device to allow investigation. + +The following fields are available: + +- **sessionID** The ID for this push-button restart session. +- **timestamp** The time when the Trusted Platform Module will be erased. + + +### Microsoft.Windows.PBR.ClientInfo + +This event indicates whether push-button reset (PBR) was initiated while the device was online or offline. + +The following fields are available: + +- **name** Name of the user interface entry point. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The time when this event occurred. + + +### Microsoft.Windows.PBR.Completed + +This event sends data about the recovery operation on the device to allow for investigation. + +The following fields are available: + +- **sessionID** The ID of the push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.DataVolumeCount + +This event provides the number of additional data volumes that the push-button reset operation has detected. + +The following fields are available: + +- **count** The number of attached data drives. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.DiskSpaceRequired + +This event sends the peak disk usage required for the push-button reset operation. + +The following fields are available: + +- **numBytes** The number of bytes required for the reset operation. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Time the event occurred. + + +### Microsoft.Windows.PBR.EnterAPI + +This event is sent at the beginning of each push-button reset (PRB) operation. + +The following fields are available: + +- **apiName** Name of the API command that is about to execute. +- **sessionID** The session ID. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.EnteredOOBE + +This event is sent when the push-button reset (PRB) process enters the Out Of Box Experience (OOBE). + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.LeaveAPI + +This event is sent when the push-button reset operation is complete. + +The following fields are available: + +- **apiName** Name of the API command that completed. +- **errorCode** Error code if an error occurred during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation is successfully completed. +- **success** Indicates whether the API call was successful. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OEMExtensionFinished + +This event is sent when the OEM extensibility scripts have completed. + +The following fields are available: + +- **exitCode** The exit code from OEM extensibility scripts to push-button reset. +- **param** Parameters used for the OEM extensibility script. +- **phase** Name of the OEM extensibility script phase. +- **script** The path to the OEM extensibility script. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the OEM extensibility script executed successfully. +- **timedOut** Indicates whether the OEM extensibility script timed out. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OEMExtensionStarted + +This event is sent when the OEM extensibility scripts start to execute. + +The following fields are available: + +- **param** The parameters used by the OEM extensibility script. +- **phase** The name of the OEM extensibility script phase. +- **script** The path to the OEM extensibility script. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationExecuteFinished + +This event is sent at the end of a push-button reset (PBR) operation. + +The following fields are available: + +- **error** Indicates the result code of the event. +- **index** The operation index. +- **operation** The name of the operation. +- **phase** The name of the operation phase. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation successfully completed. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationExecuteStarted + +This event is sent at the beginning of a push-button reset operation. + +The following fields are available: + +- **index** The index of this operation. +- **operation** The name of this operation. +- **phase** The phase of this operation. +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. +- **weight** The weight of the operation used to distribute the change in percentage. + + +### Microsoft.Windows.PBR.OperationQueueConstructFinished + +This event is sent when construction of the operation queue for push-button reset is finished. + +The following fields are available: + +- **error** The result code for operation queue construction. +- **errorCode** Represents any error code during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the operation successfully completed. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.OperationQueueConstructStarted + +This event is sent when construction of the operation queue for push-button reset is started. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** Timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.PBRClearTPMFailed + +This event is sent when there was a failure while clearing the Trusted Platform Module (TPM). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionFailed + +This event is sent when the push-button reset operation fails to construct a new copy of the operating system. + +The following fields are available: + +- **HRESULT** Indicates the result code of the event. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. +- **SPErrorCode** The error code for the Setup Platform operation. +- **SPOperation** The last Setup Platform operation. +- **SPPhase** The last phase of the Setup Platform operation. + + +### Microsoft.Windows.PBR.PBRCreateNewSystemReconstructionSucceed + +This event is sent when the push-button reset operation succeeds in constructing a new copy of the operating system. + +The following fields are available: + +- **CBSPackageCount** The Component Based Servicing package count. +- **CustomizationPackageCount** The Customization package count. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFailed + +This event is sent when the push-button reset operation fails and rolls back to the previous state. + +The following fields are available: + +- **ErrorType** The result code for the push-button reset error. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFinalUserSelection + +This event is sent when the user makes the final selection in the user interface. + +The following fields are available: + +- **PBREraseData** Indicates whether the option to erase data is selected. +- **PBRRecoveryStrategy** The recovery strategy for the push-button reset operation. +- **PBRRepartitionDisk** Indicates whether the user has selected the option to repartition the disk. +- **PBRVariation** Indicates the push-button reset type. +- **PBRWipeDataDrives** Indicates whether the option to wipe the data drives is selected. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRFormatOSVolumeSucceed + +This event is sent when the operation to format the operating system volume succeeds during push-button reset (PBR). + +The following fields are available: + +- **JustDeleteFiles** Indicates whether disk formatting was skipped. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRIOCTLErasureSucceed + +This event is sent when the erasure operation succeeds during push-button reset (PBR). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRLayoutImageFailed + +This event is sent when push-button reset fails to create a new image of Windows. + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBROEM1Failed + +This event is sent when the first OEM extensibility operation is successfully completed. + +The following fields are available: + +- **HRESULT** The result error code from the OEM extensibility script. +- **Parameters** The parameters that were passed to the OEM extensibility script. +- **PBRType** The type of push-button reset. +- **ScriptName** The path to the OEM extensibility script. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRReachedOOBE + +This event returns data when the PBR (Push Button Reset) process reaches the OOBE (Out of Box Experience). + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRReconstructionInitiated + +This event returns data when a PBR (Push Button Reset) reconstruction operation begins. + +The following fields are available: + +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecks + +This event returns data when PBR (Push Button Reset) requirement checks begin. + +The following fields are available: + +- **DeploymentType** The type of deployment. +- **InstallType** The type of installation. +- **PBRType** The type of push-button reset. +- **SessionID** The ID for this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecksFailed + +This event returns data when PBR (Push Button Reset) requirement checks fail. + +The following fields are available: + +- **DiskSpaceAvailable** The disk space available for the push-button reset. +- **DiskSpaceRequired** The disk space required for the push-button reset. +- **ErrorType** The type of error that occurred during the requirement checks phase of the push-button reset operation. +- **PBRImageVersion** The image version of the push-button reset tool. +- **PBRRecoveryStrategy** The recovery strategy for this phase of push-button reset. +- **PBRStartedFrom** Identifies the push-button reset entry point. +- **PBRType** The type of push-button reset specified by the user interface. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRRequirementChecksPassed + +This event returns data when PBR (Push Button Reset) requirement checks are passed. + +The following fields are available: + +- **OSVersion** The OS version installed on the device. +- **PBRImageType** The push-button reset image type. +- **PBRImageVersion** The version of the push-button reset image. +- **PBRRecoveryStrategy** The push-button reset recovery strategy. +- **PBRStartedFrom** Identifies the push-button reset entry point. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PBRSucceed + +This event returns data when PBR (Push Button Reset) succeeds. + +The following fields are available: + +- **OSVersion** The OS version installed on the device. +- **PBRType** The type of push-button reset. +- **SessionID** The ID of this push-button reset session. + + +### Microsoft.Windows.PBR.PhaseFinished + +This event returns data when a phase of PBR (Push Button Reset) has completed. + +The following fields are available: + +- **error** The result code for this phase of push-button reset. +- **phase** The name of this push-button reset phase. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether this phase of push-button reset executed successfully. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.PhaseStarted + +This event is sent when a phase of the push-button reset (PBR) operation starts. + +The following fields are available: + +- **phase** The name of this phase of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.ReconstructionInfo + +This event returns data about the PBR (Push Button Reset) reconstruction. + +The following fields are available: + +- **numPackagesAbandoned** The number of packages that were abandoned during the reconstruction operation of push-button reset. +- **numPackagesFailed** The number of packages that failed during the reconstruction operation of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **slowMode** The mode of reconstruction. +- **targetVersion** The target version of the OS for the reconstruction. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ResetOptions + +This event returns data about the PBR (Push Button Reset) reset options selected by the user. + +The following fields are available: + +- **overwriteSpace** Indicates whether the option was selected to erase data during push-button reset. +- **preserveWorkplace** Indicates whether the option was selected to reserve the workplace during push-button reset. +- **scenario** The selected scenario for the push-button on reset operation. +- **sessionID** The ID of this push-button on reset session. +- **timestamp** The timestamp of this push-button on reset event. +- **usePayload** Indicates whether Cloud PBR or Reconstruction was used. +- **wipeData** Indicates whether the option was selected to wipe additional drives during push-button reset. + + +### Microsoft.Windows.PBR.RetryQueued + +This event returns data about the retry count when PBR (Push Button Reset) is restarted due to a reboot. + +The following fields are available: + +- **attempt** The number of retry attempts that were made +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ReturnedToOldOS + +This event returns data after PBR (Push Button Reset) has completed the rollback. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ReturnTaskSchedulingFailed + +This event returns data when there is a failure scheduling a boot into WinRE (Windows Recovery). + +The following fields are available: + +- **errorCode** The error that occurred while scheduling the task. +- **sessionID** The ID of this push-button reset session. +- **taskName** The name of the task. +- **timestamp** The ID of this push-button reset event. + + +### Microsoft.Windows.PBR.RollbackFinished + +This event returns data when the PBR (Push Button Reset) rollback completes. + +The following fields are available: + +- **error** Any errors that occurred during rollback to the old operating system. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the rollback succeeded. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.RollbackStarted + +This event returns data when the PBR (Push Button Reset) rollback begins. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.ScenarioNotSupported + +This event returns data when the PBR (Push Button Reset) scenario selected is not supported on the device. + +The following fields are available: + +- **errorCode** The error that occurred. +- **reason** The reason why this push-button reset scenario is not supported. +- **sessionID** The ID for this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionCreated + +This event returns data when the PRB (Push Button Reset) session is created at the beginning of the UI (user interface) process. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionResumed + +This event returns data when the PRB (Push Button Reset) session is resumed after reboots. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SessionSaved + +This event returns data when the PRB (Push Button Reset) session is suspended between reboots. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SetupExecuteFinished + +This event returns data when the PBR (Push Button Reset) setup finishes. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **systemState** Information about the system state of the Setup Platform operation. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SetupExecuteStarted + +This event returns data when the PBR (Push Button Reset) setup starts. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.SetupFinalizeStarted + +This event returns data when the Finalize operation is completed by setup during PBR (Push Button Reset). + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.SetupOperationFailed + +This event returns data when a PRB (Push Button Reset) setup operation fails. + +The following fields are available: + +- **errorCode** An error that occurred during the setup phase of push-button reset. +- **sessionID** The ID of this push-button reset session. +- **setupExecutionOperation** The name of the Setup Platform operation. +- **setupExecutionPhase** The phase of the setup operation that failed. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SystemInfoField + +This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate reset options are shown to the user. + +The following fields are available: + +- **name** Name of the system information field. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp of this push-button reset event. +- **value** The system information field value. + + +### Microsoft.Windows.PBR.SystemInfoListItem + +This event returns data about the device when the user initiates the PBR UI (Push Button Reset User Interface), to ensure the appropriate options can be shown to the user. + +The following fields are available: + +- **index** The index number associated with the system information item. +- **name** The name of the list of system information items. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. +- **value** The value of the system information item. + + +### Microsoft.Windows.PBR.SystemInfoSenseFinished + +This event returns data when System Info Sense is finished. + +The following fields are available: + +- **error** The error code if an error occurred while querying for system information. +- **errorCode** Represents any error code during the API call. +- **sessionID** The ID of this push-button reset session. +- **succeeded** Indicates whether the query for system information was successful. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.SystemInfoSenseStarted + +This event returns data when System Info Sense is started. + +The following fields are available: + +- **sessionID** The ID of this push-button reset event. +- **timestamp** The timestamp of this push-button reset event. + + +### Microsoft.Windows.PBR.UserAcknowledgeCleanupWarning + +This event returns data when the user acknowledges the cleanup warning pop-up after PRB (Push Button Reset) is complete. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.UserCancel + +This event returns data when the user confirms they wish to cancel PBR (Push Button Reset) from the user interface. + +The following fields are available: + +- **pageID** The page ID for the page the user canceled. +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.UserConfirmStart + +This event returns data when the user confirms they wish to reset their device and PBR (Push Button Reset) begins. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.WinREInstallFinished + +This event returns data when WinRE (Windows Recovery) installation is complete. + +The following fields are available: + +- **errorCode** Any error that occurred during the Windows Recovery Environment (WinRE) installation. +- **sessionID** The ID of this push-button reset session. +- **success** Indicates whether the Windows Recovery Environment (WinRE) installation successfully completed. +- **timestamp** The timestamp for this push-button reset event. + + +### Microsoft.Windows.PBR.WinREInstallStarted + +This event returns data when WinRE (Windows Recovery) installation starts. + +The following fields are available: + +- **sessionID** The ID of this push-button reset session. +- **timestamp** The timestamp for this push-button reset event. + + +## Quality Update Assistant events + +### Microsoft.Windows.QualityUpdateAssistant.Applicability + +This event sends basic info on whether the device should be updated to the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Provides information on reasons why the update is not applicable to the device. +- **Result** Applicability check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck + +This event sends basic info on whether the device is ready to download the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **Reason** Indicates why the device did not pass the readiness check. +- **Result** Device readiness check for quality update assistant. + + +### Microsoft.Windows.QualityUpdateAssistant.Download + +This event sends basic info when download of the latest cumulative update begins. + +The following fields are available: + +- **CV** Correlation vector. +- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. +- **DownloadMode** Indicates how the quality update was downloaded. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. +- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. +- **KBNumber** KBNumber of the update being installed. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. +- **Result** Download of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. + + +### Microsoft.Windows.QualityUpdateAssistant.Install + +This event sends basic info on the result of the installation of the latest cumulative update. + +The following fields are available: + +- **CV** Correlation vector. +- **DismInstallHResult** Internal result code from DISM when used to install the quality update. +- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. +- **KBNumber** KBNumber of the update being installed. +- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. +- **PackageVersion** Current package version of quality update assistant. +- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. +- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. +- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. +- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. +- **Result** Install of latest cumulative update payload. +- **Scenario** Indicates if the installation step succeeded or failed. +- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. + + +## Sediment events + +### Microsoft.Windows.Sediment.Info.DetailedState + +This event is sent when detailed state information is needed from an update trial run. + +The following fields are available: + +- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. +- **Id** Identifies the trial being run, such as a disk related trial. +- **ReleaseVer** The version of the component. +- **State** The state of the reporting data from the trial, such as the top-level directory analysis. +- **Time** The time the event was fired. + + +### Microsoft.Windows.Sediment.Info.PhaseChange + +The event indicates progress made by the updater. This information assists in keeping Windows up to date. + +The following fields are available: + +- **NewPhase** The phase of progress made. +- **ReleaseVer** The version information for the component in which the change occurred. +- **Time** The system time at which the phase chance occurred. + + +## Setup events + +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### SetupPlatformTel.SetupPlatformTelActivityStarted + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + +The following fields are available: + +- **Name** The name of the dynamic update type. Example: GDR driver + + +### SetupPlatformTel.SetupPlatformTelActivityStopped + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + + + +### SetupPlatformTel.SetupPlatformTelEvent + +This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. + + +## Software update events + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +Scan process event on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **AllowCachedResults** Indicates if the scan allowed using cached results. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No data is currently reported in this field. Expected value for this field is 0. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). +- **DeferredUpdates** Update IDs which are currently being deferred until a later time +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). +- **ServiceUrl** The environment URL a device is configured to scan with +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncType** Describes the type of scan the event was +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **TargetReleaseVersion** The value selected for the target release version policy. +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.Commit + +This event tracks the commit process post the update installation when software update client is trying to update the device. + +The following fields are available: + +- **BiosFamily** Device family as defined in the system BIOS +- **BiosName** Name of the system BIOS +- **BiosReleaseDate** Release date of the system BIOS +- **BiosSKUNumber** Device SKU as defined in the system BIOS +- **BIOSVendor** Vendor of the system BIOS +- **BiosVersion** Version of the system BIOS +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** Version number of the software distribution client +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DeviceModel** Device model as defined in the system bios +- **EventInstanceID** A globally unique identifier for event instance +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". +- **FlightId** The specific id of the flight the device is getting +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **SystemBIOSMajorRelease** Major release version of the system bios +- **SystemBIOSMinorRelease** Minor release version of the system bios +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Download + +Download process event for target update on Windows Update client. See the EventScenario field for specifics (started/failed/succeeded). + +The following fields are available: + +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. +- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. +- **AppXScope** Indicates the scope of the app download. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). +- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. +- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. +- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** The model of the device. +- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **DownloadProps** Information about the download operation properties in the form of a bitmask. +- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. +- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. +- **FlightId** The specific ID of the flight (pre-release build) the device is getting. +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **HostName** The hostname URL the content is downloading from. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. +- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **PackageFullName** The package name of the content. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. +- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. +- **RepeatFailCount** Indicates whether this specific content has previously failed. +- **RepeatFailFlag** Indicates whether this specific content previously failed to download. +- **RevisionNumber** The revision number of the specified piece of content. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. +- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. +- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. +- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. +- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. +- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. +- **TotalExpectedBytes** The total count of bytes that the download is expected to be. +- **UpdateId** An identifier associated with the specific piece of content. +- **UpdateID** An identifier associated with the specific piece of content. +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedDO** Whether the download used the delivery optimization service. +- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.DownloadCheckpoint + +This event provides a checkpoint between each of the Windows Update download phases for UUP content + +The 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 following fields are available: + +- **BytesTotal** Total bytes to transfer for this content +- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** The version number of the software distribution client +- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat +- **CurrentError** Last (transient) error encountered by the active download +- **DownloadFlags** Flags indicating if power state is ignored +- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) +- **EventType** Possible values are "Child", "Bundle", or "Driver" +- **FlightId** The unique identifier for each flight +- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" +- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any +- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any +- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) +- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one +- **ResumeCount** Number of times this active download has resumed from a suspended state +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) +- **SuspendCount** Number of times this active download has entered a suspended state +- **SuspendReason** Last reason for why this active download entered a suspended state +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Install + +This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **ClientVersion** The version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No value is currently reported in this field. Expected value for this field is 0. +- **CSIErrorType** The stage of CBS installation where it failed. +- **CurrentMobileOperator** The mobile operator to which the device is currently connected. +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DeviceModel** The device model. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether this update is a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. +- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the 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. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. +- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. +- **RevisionNumber** The revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TransactionCode** The ID that represents a given MSI installation. +- **UpdateId** Unique update ID. +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.Revert + +Revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). + +The following fields are available: + +- **BundleId** Identifier associated with the specific content bundle. Should not be all zeros if the BundleId was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **ClientVersion** Version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. +- **CSIErrorType** Stage of CBS installation that failed. +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **EventType** Event type (Child, Bundle, Release, or Driver). +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBuildNumber** Indicates the build number of the flight. +- **FlightId** The specific ID of the flight the device is getting. +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether an update was a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether an initial success was a failure after a reboot. +- **IsWUfBDualScanEnabled** Flag indicating whether 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 + +Start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). + +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). + +The following fields are available: + +- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. +- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. +- **ClientVersion** Version number of the software distribution client. +- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. +- **DeploymentProviderMode** The mode of operation of the Update Deployment Provider. +- **DriverPingBack** Contains information about the previous driver and system state. +- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers when a recovery is required. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). +- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBuildNumber** Indicates the build number of the flight. +- **FlightId** The specific ID of the flight the device is getting. +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). +- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether an update was a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. +- **IsWUfBDualScanEnabled** Flag indicating whether WU-for-Business dual scan is enabled on the device. +- **IsWUfBEnabled** Flag indicating whether WU-for-Business is enabled on the device. +- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. +- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. +- **RepeatFailCount** Indicates whether this specific piece of content previously failed. +- **RevisionNumber** Identifies the revision number of this specific piece of content. +- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **UpdateId** Identifier associated with the specific piece of content. +- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). +- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. +- **WUDeviceID** Unique device ID controlled by the software distribution client. + + +### SoftwareUpdateClientTelemetry.UpdateDetected + +This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. + +The 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 + +Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. + +The following fields are available: + +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **RevisionId** The revision ID for a specific piece of content. +- **RevisionNumber** The revision number for a specific piece of content. +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** An encoded string of the timestamp token. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **UpdateId** The update ID for a specific piece of content. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. + + +## System reset events + +### Microsoft.Windows.SysReset.FlightUninstallCancel + +This event indicates the customer has cancelled uninstallation of Windows. + + + +### Microsoft.Windows.SysReset.FlightUninstallError + +This event sends an error code when the Windows uninstallation fails. + +The following fields are available: + +- **ErrorCode** Error code for uninstallation failure. + + +### Microsoft.Windows.SysReset.FlightUninstallReboot + +This event is sent to signal an upcoming reboot during uninstallation of Windows. + + + +### Microsoft.Windows.SysReset.FlightUninstallStart + +This event indicates that the Windows uninstallation has started. + + + +### Microsoft.Windows.SysReset.FlightUninstallUnavailable + +This event sends diagnostic data when the Windows uninstallation is not available. + +The following fields are available: + +- **AddedProfiles** Indicates that new user profiles have been created since the flight was installed. +- **MissingExternalStorage** Indicates that the external storage used to install the flight is not available. +- **MissingInfra** Indicates that uninstall resources are missing. +- **MovedProfiles** Indicates that the user profile has been moved since the flight was installed. + + +### Microsoft.Windows.SysReset.HasPendingActions + +This event is sent when users have actions that will block the uninstall of the latest quality update. + + + +### Microsoft.Windows.SysReset.IndicateLCUWasUninstalled + +This event is sent when the registry indicates that the latest cumulative Windows update package has finished uninstalling. + +The following fields are available: + +- **errorCode** The error code if there was a failure during uninstallation of the latest cumulative Windows update package. + + +### Microsoft.Windows.SysReset.LCUUninstall + +This event is sent when the latest cumulative Windows update was uninstalled on a device. + +The following fields are available: + +- **errorCode** An error that occurred while the Windows update package was being uninstalled. +- **packageName** The name of the Windows update package that is being uninstalled. +- **removalTime** The amount of time it took to uninstall the Windows update package. + + +### Microsoft.Windows.SysReset.PBRBlockedByPolicy + +This event is sent when a push-button reset operation is blocked by the System Administrator. + +The following fields are available: + +- **PBRBlocked** Reason the push-button reset operation was blocked. +- **PBRType** The type of push-button reset operation that was blocked. + + +### Microsoft.Windows.SysReset.PBREngineInitFailed + +This event signals a failed handoff between two recovery binaries. + +The following fields are available: + +- **Operation** Legacy customer scenario. + + +### Microsoft.Windows.SysReset.PBREngineInitSucceed + +This event signals successful handoff between two recovery binaries. + +The following fields are available: + +- **Operation** Legacy customer scenario. + + +### Microsoft.Windows.SysReset.PBRFailedOffline + +This event reports the error code when recovery fails. + +The following fields are available: + +- **HRESULT** Error code for the failure. +- **PBRType** The recovery scenario. +- **SessionID** The unique ID for the recovery session. + + +### Microsoft.Windows.SystemReset.EsimPresentCheck + +This event is sent when a device is checked to see whether it has an embedded SIM (eSIM). + +The following fields are available: + +- **errorCode** Any error that occurred while checking for the presence of an embedded SIM. +- **esimPresent** Indicates whether an embedded SIM is present on the device. +- **sessionID** The ID of this session. + + +### Microsoft.Windows.SystemReset.PBRCorruptionRepairOption + +This event sends corruption repair diagnostic data when the PBRCorruptionRepairOption encounters a corruption error. + +The following fields are available: + +- **cbsSessionOption** The corruption repair configuration. +- **errorCode** The error code encountered. +- **meteredConnection** Indicates whether the device is connected to a metered network (wired or WiFi). +- **sessionID** The globally unique identifier (GUID) for the session. + + +### Microsoft.Windows.SystemReset.RepairNeeded + +This event provides information about whether a system reset needs repair. + +The following fields are available: + +- **repairNeeded** Indicates whether there was corruption in the system reset which needs repair. +- **sessionID** The ID of this push-button reset session. + + +## UEFI events + +### Microsoft.Windows.UEFI.ESRT + +This event sends basic data during boot about the firmware loaded or recently installed on the machine. This helps to keep Windows up to date. + +The following fields are available: + +- **DriverFirmwareFilename** The firmware file name reported by the device hardware key. +- **DriverFirmwarePolicy** The optional version update policy value. +- **DriverFirmwareStatus** The firmware status reported by the device hardware key. +- **DriverFirmwareVersion** The firmware version reported by the device hardware key. +- **FirmwareId** The UEFI (Unified Extensible Firmware Interface) identifier. +- **FirmwareLastAttemptStatus** The reported status of the most recent firmware installation attempt, as reported by the EFI System Resource Table (ESRT). +- **FirmwareLastAttemptVersion** The version of the most recent attempted firmware installation, as reported by the EFI System Resource Table (ESRT). +- **FirmwareType** The UEFI (Unified Extensible Firmware Interface) type. +- **FirmwareVersion** The UEFI (Unified Extensible Firmware Interface) version as reported by the EFI System Resource Table (ESRT). +- **InitiateUpdate** Indicates whether the system is ready to initiate an update. +- **LastAttemptDate** The date of the most recent attempted firmware installation. +- **LastAttemptStatus** The result of the most recent attempted firmware installation. +- **LastAttemptVersion** The version of the most recent attempted firmware installation. +- **LowestSupportedFirmwareVersion** The oldest (lowest) version of firmware supported. +- **MaxRetryCount** The maximum number of retries, defined by the firmware class key. +- **RetryCount** The number of attempted installations (retries), reported by the driver software key. +- **Status** The status returned to the PnP (Plug-and-Play) manager. +- **UpdateAttempted** Indicates if installation of the current update has been attempted before. + + +## Update events + +### Update360Telemetry.Revert + +This event sends data relating to the Revert phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the Revert phase. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RebootRequired** Indicates reboot is required. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **RevertResult** The result code returned for the Revert operation. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentDownloadRequest + +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **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. +- **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 following fields are available: + +- **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 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 following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **MergeId** The unique ID to join two update sessions being merged. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +The 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 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 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 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 following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **ObjectId** Unique value for each Update Agent mode. +- **PostRebootResult** Indicates the Hresult. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentReboot + +This event sends information indicating that a request has been sent to suspend an update. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. +- **ObjectId** The unique value for each Update Agent mode. +- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **ContainsExpressPackage** Indicates whether the download package is express. +- **FlightId** Unique ID for each flight. +- **FreeSpace** Free space on OS partition. +- **InstallCount** Number of install attempts using the same sandbox. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **SandboxSize** Size of the sandbox. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **SetupMode** Mode of setup to be launched. +- **UpdateId** Unique ID for each Update. +- **UserSession** Indicates whether install was invoked by user actions. + + +## Update notification events + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat + +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. + +The 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 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 following fields are available: + +- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. +- **DownloadRequestAttributes** The attributes we send to DCAT. +- **ResultCode** The result returned from the initiation of Facilitator with the URL/attributes. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **Url** The Delivery Catalog (DCAT) URL we send the request to. +- **Version** Version of Facilitator. + + +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). +- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). +- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** An ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. + + +### Setup360Telemetry.Finalize + +This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.OsUninstall + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. + +The 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. +- **ReportId** Retrieves the report ID. +- **ScenarioId** Retrieves the deployment scenario. +- **Value** Retrieves the value associated with the corresponding FieldName. + + +### Setup360Telemetry.Setup360DynamicUpdate + +This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. +- **Operation** Facilitator’s last known operation (scan, download, etc.). +- **ReportId** ID for tying together events stream side. +- **ResultCode** Result returned for the entire setup operation. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **ScenarioId** Identifies the update scenario. +- **TargetBranch** Branch of the target OS. +- **TargetBuild** Build of the target OS. + + +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + +The 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 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 following fields are available: + +- **ClientId** The Windows Update client ID passed to Setup. +- **Count** The count of applicable OneSettings for the device. +- **FlightData** The ID for the flight (test instance version). +- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **ReportId** The Update ID passed to Setup. +- **Result** The HResult of the event error. +- **ScenarioId** The update scenario ID. +- **Values** Values sent back to the device, if applicable. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.SummaryEvent + +Result of the WaaSMedic operation. + +The following fields are available: + +- **callerApplication** The name of the calling application. +- **capsuleCount** The number of Sediment Pack capsules. +- **capsuleFailureCount** The number of capsule failures. +- **detectionSummary** Result of each applicable detection that was run. +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. +- **hrEngineBlockReason** Indicates the reason for stopping WaaSMedic. +- **hrEngineResult** Error code from the engine operation. +- **hrLastSandboxError** The last error sent by the WaaSMedic sandbox. +- **initSummary** Summary data of the initialization method. +- **isInteractiveMode** The user started a run of WaaSMedic. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **pluginFailureCount** The number of plugins that have failed. +- **pluginsCount** The number of plugins. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. +- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. +- **versionString** Version of the WaaSMedic engine. +- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. + + +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). + + +### Value + +This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. + +The following fields are available: + +- **Algorithm** The algorithm used to preserve privacy. +- **DPRange** The upper bound of the range being measured. +- **DPValue** The randomized response returned by the client. +- **Epsilon** The level of privacy to be applied. +- **HistType** The histogram type if the algorithm is a histogram algorithm. +- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. + + +## Windows Error Reporting MTT events + +### Microsoft.Windows.WER.MTT.Denominator + +This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. + +The following fields are available: + +- **Value** Standard UTC emitted DP value structure See [Value](#value). + + +## Windows Hardware Error Architecture events + +### WheaProvider.WheaErrorRecord + +This event collects data about common platform hardware error recorded by the Windows Hardware Error Architecture (WHEA) mechanism. + +The following fields are available: + +- **creatorId** The unique identifier for the entity that created the error record. +- **errorFlags** Any flags set on the error record. +- **notifyType** The unique identifier for the notification mechanism which reported the error to the operating system. +- **partitionId** The unique identifier for the partition on which the hardware error occurred. +- **platformId** The unique identifier for the platform on which the hardware error occurred. +- **record** A collection of binary data containing the full error record. +- **recordId** The identifier of the error record. +- **sectionFlags** The flags for each section recorded in the error record. +- **sectionTypes** The unique identifier that represents the type of sections contained in the error record. +- **severityCount** The severity of each individual section. +- **timeStamp** The error time stamp as recorded in the error record. + + +## Windows Security Center events + +### Microsoft.Windows.Security.WSC.DatastoreMigratedVersion + +This event provides information about the datastore migration and whether it was successful. + +The following fields are available: + +- **datastoreisvtype** The product category of the datastore. +- **datastoremigrated** The version of the datastore that was migrated. +- **status** The result code of the migration. + + +### Microsoft.Windows.Security.WSC.GetCallerViaWdsp + +This event returns data if the registering product EXE (executable file) does not allow COM (Component Object Model) impersonation. + +The following fields are available: + +- **callerExe** The registering product EXE that does not support COM impersonation. + + +## Windows Store events + +### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation + +This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The Item Bundle ID. +- **CategoryId** The Item Category ID. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed before this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Was this a mandatory update? +- **IsRemediation** Was this a remediation install? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Flag indicating if this is an update. +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The product family name of the product being installed. +- **ProductId** The identity of the package or packages being installed. +- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. +- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds + +This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare + +This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation + +This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. +- **AttemptNumber** Total number of installation attempts. +- **BundleId** The identity of the Windows Insider build that is associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this an automatic restore of a previously acquired product? +- **IsUpdate** Is this a product update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of all packages to be downloaded and installed. +- **PreviousHResult** The previous HResult code. +- **PreviousInstallState** Previous installation state before it was canceled. +- **ProductId** The name of the package or packages requested for installation. +- **RelatedCV** Correlation Vector of a previous performed action on this product. +- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. +- **UserAttemptNumber** Total number of user attempts to install before it was canceled. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest + +This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Product ID of the app being installed. +- **HResult** HResult code of the action being performed. +- **IsBundle** Is this a bundle? +- **PackageFamilyName** The name of the package being installed. +- **ProductId** The Store Product ID of the product being installed. +- **SkuId** Specific edition of the item being installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense + +This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. +- **AttemptNumber** The total number of attempts to acquire this product. +- **BundleId** The bundle ID +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** HResult code to show the result of the operation (success/failure). +- **IsBundle** Is this a bundle? +- **IsInteractive** Did the user initiate the installation? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this happening after a device restore? +- **IsUpdate** Is this an update? +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to acquire this product. +- **UserAttemptNumber** The number of attempts by the user to acquire this product +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndDownload + +This event is sent after an app is downloaded to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The identity of the Windows Insider build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **DownloadSize** The total size of the download. +- **ExtendedHResult** Any extended HResult error codes. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this initiated by the user? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this a restore of a previously acquired product? +- **IsUpdate** Is this an update? +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** The Product Family Name of the app being download. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to download. +- **UserAttemptNumber** The number of attempts by the user to download. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate + +This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds + +This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed before this operation. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndInstall + +This event is sent after a product has been installed to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **ExtendedHResult** The extended HResult error code. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this an interactive installation? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates + +This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsApplicability** Is this request to only check if there are any applicable packages to install? +- **IsInteractive** Is this user requested? +- **IsOnline** Is the request doing an online check? + + +### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages + +This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData + +This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of system attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare + +This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete + +This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The name of the product catalog from which this app was chosen. +- **FailedRetry** Indicates whether the installation or update retry was successful. +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate + +This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The name of the product catalog from which this app was chosen. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **ProductId** The product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest + +This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **BundleId** The identity of the build associated with this product. +- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SkuId** Specific edition ID being installed. +- **VolumePath** The disk path of the installation. + + +### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation + +This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The Product Full Name. +- **PreviousHResult** The result code of the last action performed before this operation. +- **PreviousInstallState** Previous state before the installation or update was paused. +- **ProductId** The Store Product ID for the product being installed. +- **RelatedCV** Correlation Vector of a previous performed action on this product. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation + +This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed before this operation. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **IsUserRetry** Did the user initiate the retry? +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **PreviousHResult** The previous HResult error code. +- **PreviousInstallState** Previous state before the installation was paused. +- **ProductId** The Store Product ID for the product being installed. +- **RelatedCV** Correlation Vector for the original install before it was resumed. +- **ResumeClientId** The ID of the app that initiated the resume operation. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest + +This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ProductId** The Store Product ID for the product being installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest + +This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Catalog ID for the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SkuId** Specfic edition of the app being updated. + + +### Microsoft.Windows.StoreAgent.Telemetry.StateTransition + +Products in the process of being fulfilled (installed or updated) are maintained in a list. This event is sent any time there is a change in a product's fulfillment status (pending, working, paused, cancelled, or complete), to help keep Windows up to date and secure. + +The following fields are available: + +- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. +- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. +- **HResult** The resulting HResult error/success code of this operation. +- **NewState** The current fulfillment state of this product. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). +- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. +- **Prevstate** The previous fulfillment state of this product. +- **ProductId** Product ID of the app that is being updated or installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest + +This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **PFamN** The name of the app that is requested for update. + + +## Windows Update CSP events + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed + +This event sends basic telemetry on the failure of the Feature Rollback. + +The following fields are available: + +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **hResult** Failure error code. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. +- **sacDevice** This is the device info. +- **wUfBConnected** Result of 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 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. + + + +## 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 following fields are available: + +- **background** Is the download being done in the background? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP Address of the source CDN (Content Delivery Network). +- **cdnUrl** The URL of the source CDN (Content Delivery Network). +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **errorCode** The error code that was returned. +- **experimentId** When running a test, this is used to correlate events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **predefinedCallerName** The name of the API Caller. +- **reasonCode** Reason the action or event occurred. +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the file download session. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted + +This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **background** Is the download a background download? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. +- **bytesFromLinkLocalPeers** The number of bytes received from local peers. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **bytesRequested** The total number of bytes requested for download. +- **cacheServerConnectionCount** Number of connections made to cache hosts. +- **cdnConnectionCount** The total number of connections made to the CDN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP address of the source CDN. +- **cdnUrl** Url of the source Content Distribution Network (CDN). +- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). +- **downlinkUsageBps** The download speed (in bytes per second). +- **downloadMode** The download mode used for this file download session. +- **downloadModeReason** Reason for the download. +- **downloadModeSrc** Source of the DownloadMode setting. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **expiresAt** The time when the content will expire from the Delivery Optimization Cache. +- **fileID** The ID of the file being downloaded. +- **fileSize** The size of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. +- **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. +- **isThrottled** Event Rate throttled (event represents aggregated data). +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **lanConnectionCount** The total number of connections made to peers in the same LAN. +- **linkLocalConnectionCount** The number of connections made to peers in the same Link-local network. +- **numPeers** The total number of peers used for this download. +- **numPeersLocal** The total number of local peers used for this download. +- **predefinedCallerName** The name of the API Caller. +- **restrictedUpload** Is the upload restricted? +- **routeToCacheServer** The cache server setting, source, and value. +- **sessionID** The ID of the download session. +- **totalTimeMs** Duration of the download (in seconds). +- **updateID** The ID of the update being downloaded. +- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). +- **uplinkUsageBps** The upload speed (in bytes per second). +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused + +This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The 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 following fields are available: + +- **background** Indicates whether the download is happening in the background. +- **bytesRequested** Number of bytes requested for the download. +- **cdnUrl** The URL of the source Content Distribution Network (CDN). +- **costFlags** A set of flags representing network cost. +- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). +- **diceRoll** Random number used for determining if a client will use peering. +- **doClientVersion** The version of the Delivery Optimization client. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). +- **downloadModeReason** Reason for the download. +- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). +- **errorCode** The error code that was returned. +- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. +- **fileID** The ID of the file being downloaded. +- **filePath** The path to where the downloaded file will be written. +- **fileSize** Total file size of the file that was downloaded. +- **fileSizeCaller** Value for total file size provided by our caller. +- **groupID** ID for the group. +- **isEncrypted** Indicates whether the download is encrypted. +- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). +- **isVpn** Indicates whether the device is connected to a Virtual Private Network. +- **jobID** The ID of the Windows Update job. +- **peerID** The ID for this delivery optimization client. +- **predefinedCallerName** Name of the API caller. +- **routeToCacheServer** Cache server setting, source, and value. +- **sessionID** The ID for the file download session. +- **setConfigs** A JSON representation of the configurations that have been set, and their sources. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Indicates whether the download used memory streaming. + + +### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication + +This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The 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 following fields are available: + +- **cdnIp** The IP Address of the source CDN (Content Delivery Network). +- **doErrorCode** Error code returned for delivery optimization. +- **errorCode** The error code returned. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **jobID** The Windows Update job ID. + + +## Windows Update events + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary + +This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **activated** Whether the entire device manifest update is considered activated and in use. +- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. +- **flightId** Unique ID for each flight. +- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. +- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. +- **objectId** Unique value for each diagnostics session. +- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. +- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. +- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. +- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. +- **updateId** The unique ID for each update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit + +This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The following fields are available: + +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **objectId** The unique GUID for each diagnostics session. +- **relatedCV** A correlation vector value generated from the latest USO scan. +- **result** Outcome of the initialization of the session. +- **scenarioId** Identifies the Update scenario. +- **sessionId** The unique value for each update session. +- **updateId** The unique identifier for each Update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest + +This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The 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 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 following fields are available: + +- **errorCode** The error code returned for the current install phase. +- **flightId** The unique identifier for each flight. +- **objectId** The unique identifier for each diagnostics session. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **result** Outcome of the install phase of the update. +- **scenarioId** The unique identifier for the update scenario. +- **sessionId** Unique value for each update session. +- **updateId** The unique identifier for each update. + + +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart + +This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. + +The 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 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 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 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 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 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 + +Indicates 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.ActivityRestrictedByActiveHoursPolicy + +This event indicates a policy is present that may restrict update activity to outside of active hours. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours + +This event indicates that update activity was blocked because it is within the active hours window. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel + +This event indicates that Windows Update activity was blocked due to low battery level. + +The following fields are available: + +- **batteryLevel** The current battery charge capacity. +- **batteryLevelThreshold** The battery capacity threshold to stop update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Device ID. + + +### Microsoft.Windows.Update.Orchestrator.DeferRestart + +This event indicates that a restart required for installing updates was postponed. + +The following fields are available: + +- **displayNeededReason** List of reasons for needing display. +- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **gameModeReason** Name of the executable that caused the game mode state check to start. +- **ignoredReason** List of reasons that were intentionally ignored. +- **IgnoreReasonsForRestart** List of reasons why restart was deferred. +- **revisionNumber** Update ID revision number. +- **systemNeededReason** List of reasons why system is needed. +- **updateId** Update ID. +- **updateScenarioType** Update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.Detection + +This event indicates that a scan for a Windows Update occurred. + +The following fields are available: + +- **deferReason** Reason why the device could not check for updates. +- **detectionBlockingPolicy** State of update action. +- **detectionBlockreason** The reason detection did not complete. +- **detectionRetryMode** Indicates whether we will try to scan again. +- **errorCode** The error code returned for the current process. +- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session was user initiated. +- **networkStatus** Error info +- **revisionNumber** Update revision number. +- **scanTriggerSource** Source of the triggered scan. +- **updateId** Update ID. +- **updateScenarioType** Identifies the type of update session being performed. +- **wuDeviceid** The unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.DetectionActivity + +This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. + +The following fields are available: + +- **applicableUpdateIdList** The list of update identifiers. +- **applicableUpdateList** The list of available updates. +- **durationInSeconds** The amount of time (in seconds) it took for the event to run. +- **expeditedMode** Indicates whether Expedited Mode is on. +- **networkCostPolicy** The network cost. +- **scanTriggerSource** Indicates whether the scan is Interactive or Background. +- **scenario** The result code of the event. +- **scenarioReason** The reason for the result code (scenario). +- **seekerUpdateIdList** The list of “seeker” update identifiers. +- **seekerUpdateList** The list of “seeker” updates. +- **services** The list of services that were called during update. +- **wilActivity** The activity results. See [wilActivity](#wilactivity). + + +### Microsoft.Windows.Update.Orchestrator.DisplayNeeded + +This event indicates the reboot was postponed due to needing a display. + +The 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 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.EscalationRiskLevels + +This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. + +The following fields are available: + +- **configVersion** The escalation configuration version on the device. +- **downloadElapsedTime** Indicates how long since the download is required on device. +- **downloadRiskLevel** At-risk level of download phase. +- **installElapsedTime** Indicates how long since the install is required on device. +- **installRiskLevel** The at-risk level of install phase. +- **isSediment** Assessment of whether is device is at risk. +- **scanElapsedTime** Indicates how long since the scan is required on device. +- **scanRiskLevel** At-risk level of the scan phase. +- **wuDeviceid** Device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask + +This event indicated that USO failed to add a trigger time to a task. + +The 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, to help keep Windows 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 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 up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The ID of the Windows Insider build the device is getting. +- **flightUpdate** Indicates whether the update is a Windows Insider build. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **availableHistoryMinutes** The number of minutes available from the local machine activity history. +- **isLowUptimeMachine** Is the machine considered low uptime or not. +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated before the shutdown and commit operations. + +The following fields are available: + +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows 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 up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask + +This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. + +The following fields are available: + +- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. +- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device ID for the device on which the reboot is restored. + + +### Microsoft.Windows.Update.Orchestrator.ScanTriggered + +This event indicates that Update Orchestrator has started a scan operation. + +The following fields are available: + +- **interactive** Indicates whether the scan is interactive. +- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. +- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. +- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. +- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. +- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. +- **scanTriggerSource** Indicates what caused the scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable + +This event defines when an optional update is available for the device to help keep Windows up to date. + +The following fields are available: + +- **flightID** The unique identifier of the Windows Insider build on this device. +- **isFeatureUpdate** Indicates whether the update is a Feature Update. +- **revisionNumber** The revision number of the update. +- **updateId** The GUID (Globally Unique Identifier) of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.SeekUpdate + +This event occurs when user initiates "seeker" scan. This helps keep Windows up to date. + +The following fields are available: + +- **flightID** The ID of the Windows Insider builds on the device. +- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. +- **revisionNumber** The revision number of the update. +- **updateId** The identifier of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.StickUpdate + +This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. + +The 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 up to date. + +The following fields are available: + +- **eventScenario** End-to-end update session ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours + +This event indicates that update activity was stopped due to active hours starting. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** The device identifier. + + +### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorInvalidSignature + +This event is sent when an updater has attempted to register a binary that is not signed by Microsoft. + +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 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.UnstickUpdate + +This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. + +The following fields are available: + +- **updateId** Identifier associated with the specific piece of content. +- **wuDeviceid** Unique device ID controlled by the software distribution client. + + +### Microsoft.Windows.Update.Orchestrator.UpdateNotApplicableForReserves + +This event reports a critical error when using update reserves for OS updates to help keep Windows up to date. + +The following fields are available: + +- **updateId** The GUID (Globally Unique Identifier) of the update. +- **wuDeviceid** The Windows Update device identifier. + + +### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh + +This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. + +The following fields are available: + +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed + +This event is sent when an updater failed to execute the registered callback. + +The following fields are available: + +- **updaterArgument** The argument to pass to the updater callback. +- **updaterCmdLine** The callback executable for the updater. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired + +This event sends data about whether an update required a reboot to help keep Windows up to date. + +The following fields are available: + +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData + +This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. + +The following fields are available: + +- **malformedRegValue** The registry value that contains the malformed or missing entry. +- **updaterId** The ID of the updater. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.UsoSession + +This event represents the state of the USO service at start and completion. + +The following fields are available: + +- **activeSessionid** A unique session GUID. +- **eventScenario** The state of the update action. +- **interactive** Is the USO session interactive? +- **lastErrorcode** The last error that was encountered. +- **lastErrorstate** The state of the update when the last error was encountered. +- **sessionType** A GUID that refers to the update session type. +- **updateScenarioType** A descriptive update session type. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.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 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 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 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. It's used to help keep Windows 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. + + +### 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. + + +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. + +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 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. + + +### Mitigation360Telemetry.MitigationCustom.FixupEditionId + +This event sends data specific to the FixupEditionId mitigation used for OS updates. + +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. +- **EditionIdUpdated** Determine whether EditionId was changed. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **ProductEditionId** Expected EditionId value based on GetProductInfo. +- **ProductType** Value returned by GetProductInfo. +- **RegistryEditionId** EditionId value in the registry. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **WuId** Unique ID for the Windows Update client. + + +## 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 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 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 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 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 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 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 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 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 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. + + + +### Microsoft.Windows.UpdateReserveManager.TurnOffReserves + +This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. + +The following fields are available: + +- **Flags** Flags used in the turn off reserves function. +- **HardReserveSize** The size of the hard reserve when Turn Off is called. +- **HardReserveUsedSpace** The amount of space used by the hard reserve when Turn Off is called +- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. +- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. +- **SoftReserveSize** The size of the soft reserve when Turn Off is called. +- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. + + +### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment + +This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. + +The following fields are available: + +- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. +- **Disposition** The parameter for the hard reserve adjustment function. +- **Flags** The flags passed to the hard reserve adjustment function. +- **PendingHardReserveAdjustment** The final change to the hard reserve size. +- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. + + +## Winlogon events + +### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon + +This event signals the completion of the setup process. It happens only once during the first logon. + + + +## XBOX events + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + +The following fields are available: + +- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. +- **AppId** The Xbox LIVE Title ID. +- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. +- **Result** The HResult error. +- **UserId** The Xbox LIVE User ID (XUID). + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + +The following fields are available: + +- **AppActionId** The ID of the application action. +- **AppCurrentVisibilityState** The ID of the current application visibility state. +- **AppId** The Xbox LIVE Title ID of the app. +- **AppPackageFullName** The full name of the application package. +- **AppPreviousVisibilityState** The ID of the previous application visibility state. +- **AppSessionId** The application session ID. +- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). +- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. +- **DurationMs** The amount of time (in milliseconds) since the last application state transition. +- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. +- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). +- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. +- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. +- **UserId** The XUID (Xbox User ID) of the current user. + + + diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md index f1b18fac57..0c1a46fa5c 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md @@ -13,11 +13,11 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/23/2020 +ms.date: 03/27/2020 --- -# Windows 10, version Vibranium required Windows diagnostic events and fields +# Windows 10, version 2005 required Windows diagnostic events and fields > [!IMPORTANT] @@ -1165,19 +1165,6 @@ The following fields are available: - **WuClientId** The GUID of the Windows Update client invoking DMF -### Microsoft.Windows.Update.Orchestrator.RefreshSettings - -This event sends basic data about the version of upgrade settings applied to the system to help keep Windows up to date. - -The following fields are available: - -- **endpoint** No content is currently available. -- **scenario** No content is currently available. -- **settings** No content is currently available. -- **wilActivity** No content is currently available. See [wilActivity](#wilactivity). -- **WOSCUniqueId** No content is currently available. - - ## XBOX events ### Microsoft.Gaming.Install.ResurrectedInstall From c4c5bb252e560fc8d8dc1a6d9db15a7926e11fec Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 10:52:46 -0700 Subject: [PATCH 065/393] updates --- ...ndows-diagnostic-events-and-fields-1803.md | 118 +++------------ ...ndows-diagnostic-events-and-fields-1809.md | 142 +++++++++++------- ...ndows-diagnostic-events-and-fields-1903.md | 32 +++- 3 files changed, 136 insertions(+), 156 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 9755e9f334..badd6ad7f3 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -4183,98 +4183,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. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **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'. -- **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'. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -This event sends hardware and software inventory information about the Microsoft Edge Update service, Microsoft Edge applications, and the current system environment, including app configuration, update configuration, and hardware capabilities. It's used to measure the reliability and performance of the EdgeUpdate service and if Microsoft Edge applications are up to date +This 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. The following fields are available: @@ -4341,7 +4250,30 @@ The following fields are available: - **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: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt should have (with high probability) a unique request id. Default: ''. + + +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_version** The internal Microsoft Edge build version string. +- **appConsentState** Bit flags that describe the consent for data collection on the device, or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth +- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. +- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level +- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. ## Migration events diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index ebdfda06d6..f2bfbbecf9 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -2562,6 +2562,21 @@ The following fields are available: - **xid** A list of base10-encoded XBOX User IDs. +## Common data fields + +### Ms.Device.DeviceInventoryChange + +Describes the installation state for all hardware and software components available on a particular device. + +The following fields are available: + +- **action** The change that was invoked on a device inventory object. +- **inventoryId** Device ID used for Compatibility testing +- **objectInstanceId** Object identity which is unique within the device scope. +- **objectType** Indicates the object type that the event applies to. +- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. + + ## Compatibility events ### Microsoft.Windows.Compatibility.Apphelp.SdbFix @@ -4204,7 +4219,7 @@ The following fields are available: This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. -This event includes fields from [Ms.Device.De~iceInventoryChange](#msdevicede~iceinventorychange). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -4295,7 +4310,7 @@ The following fields are available: This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. -This event includes fields from [Ms.De~ice.DeviceInventoryChange](#msde~icedeviceinventorychange). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -4768,7 +4783,7 @@ The following fields are available: These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. -This event includes fields from [Ms.Device.DeviceInventoryChangd](#msdevicedeviceinventorychangd). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -4794,6 +4809,16 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic ## Kernel events +### IO + +This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. + +The following fields are available: + +- **BytesRead** The total number of bytes read from or read by the OS upon system startup. +- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. + + ### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch OS information collected during Boot, used to evaluate the success of the upgrade process. @@ -4987,24 +5012,24 @@ 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 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. The following fields are available: -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''. +- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. +- **appBrandCode** The 4-digit brand code under which the the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). +- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). +- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. +- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. +- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. - **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. +- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). +- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. - **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. - **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. +- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. - **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. - **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. - **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. @@ -5012,24 +5037,24 @@ The following fields are available: - **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: ''. +- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. - **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. - **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. +- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). +- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). - **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. - **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. +- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. +- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. +- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. - **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The 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'. +- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. +- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. +- **appVersion** The version of the product install. Default: '0.0.0.0'. - **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'. +- **eventType** A string representation of appPingEventEventType indicating the type of the event. +- **hwHasAvx** '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'. - **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. - **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. @@ -5039,48 +5064,22 @@ The following fields are available: - **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. - **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. - **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. +- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. - **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. - **osVersion** The primary version of the operating system. '' if unknown. Default: ''. - **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. - **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. +- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. - **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. - **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. - **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. - **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. +- **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. 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: ''. +- **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 sessionid. Default: ''. - **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_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). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - +- **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: ''. ### Microsoft.WebBrowser.Installer.EdgeUpdate.Ping @@ -5405,7 +5404,22 @@ This event provides a Windows Internal Library context used for Product and Serv 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. @@ -7341,6 +7355,18 @@ The following fields are available: - **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise - **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). +### Value + +This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. + +The following fields are available: + +- **Algorithm** The algorithm used to preserve privacy. +- **DPRange** The upper bound of the range being measured. +- **DPValue** The randomized response returned by the client. +- **Epsilon** The level of privacy to be applied. +- **HistType** The histogram type if the algorithm is a histogram algorithm. +- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. ## Windows Error Reporting MTT events diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 74ab92179b..387a1d1925 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -3428,7 +3428,7 @@ The following fields are available: This event sends basic metadata about an application on the system to help keep Windows up to date. -This event includes fields from [Ms.Device.DeviceInven|oryChange](#msdevicedeviceinven|orychange). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -3530,7 +3530,7 @@ The following fields are available: This event indicates that a new set of InventoryDevicePnpAdd events will be sent. -This event includes fields from [Ms.Device.DmviceInventoryChange](#msdevicedmviceinventorychange). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -3541,7 +3541,7 @@ The following fields are available: This event indicates that a new set of InventoryApplicationAdd events will be sent. -This event includes fields from [Ms.Device,DeviceInventoryChange](#msdevice,deviceinventorychange). +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -4475,7 +4475,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 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. The following fields are available: @@ -4642,9 +4642,31 @@ The following fields are available: - **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: ''. +- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt should have (with high probability) a unique request id. Default: ''. +### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config + +This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. + +The following fields are available: + +- **app_version** The internal Microsoft Edge build version string. +- **appConsentState** Bit flags that describe the consent for data collection on the device, or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). +- **Channel** An integer indicating the channel of the installation (Canary or Dev). +- **client_id** A non-durable unique identifier with which all other diagnostic client data is associated. This value is reset whenever UMA data collection is disabled, or when the application is uninstalled. +- **ConnectionType** The first reported type of network connection currently connected. Possible values: Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth +- **container_client_id** The client ID of the container if the device is in Windows Defender Application Guard mode. +- **container_session_id** The session ID of the container if the device is in Windows Defender Application Guard mode. +- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. There is not value in this field is the device is at the Basic diagnostic data level. +- **EventInfo.Level** The minimum Windows diagnostic data level required for the event. Possible values: 1 -- Basic, 2 -- Enhanced, 3 -- Full +- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. +- **installSource** An enumeration representing the source of this installation. Possible values: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). +- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. +- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. +- **PayloadLogType** The log type for the event correlating with. Possible values: 0 -- Unknown, 1 -- Stability, 2 -- On-going, 3 -- Independent, 4 -- UKM, or 5 -- Instance level +- **session_id** An ordered identifier that is guaranteed to be greater than the previous session identifier each time the user launches the application, reset on subsequent launch after client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. + ## Migration events ### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr From 6927b2efb55f4fbd16987c677d8124dfc1f6e514 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 11:07:04 -0700 Subject: [PATCH 066/393] adding common data fields --- ...l-windows-diagnostic-events-and-fields-2005.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md index 0c1a46fa5c..0d968670b1 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md @@ -351,6 +351,21 @@ The following fields are available: - **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. + + ## DISM events ### Microsoft.Windows.StartRepairCore.DISMLatestInstalledLCU From 9a8dffe2c9f41e0c65e10a6f6dbe38f0dea3011f Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 13:24:56 -0700 Subject: [PATCH 067/393] final update --- .openpublishing.redirection.json | 6 +-- windows/privacy/TOC.md | 2 +- ...ndows-diagnostic-events-and-fields-1709.md | 2 +- ...ndows-diagnostic-events-and-fields-1803.md | 2 +- ...ndows-diagnostic-events-and-fields-1903.md | 2 +- ...diagnostic-data-events-and-fields-2005.md} | 49 +++++++++++++------ 6 files changed, 42 insertions(+), 21 deletions(-) rename windows/privacy/{basic-level-windows-diagnostic-events-and-fields-2005.md => required-windows-diagnostic-data-events-and-fields-2005.md} (98%) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 0991c425ae..f492a907e2 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -14572,9 +14572,9 @@ "redirect_document_id": true }, { -"source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields.md", -"redirect_url": "https://docs.microsoft.com/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903", -"redirect_document_id": true + "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields.md", + "redirect_url": "https://docs.microsoft.com/windows/privacy/required-windows-diagnostic-events-and-fields-2005", + "redirect_document_id": true }, { "source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields-1703.md", diff --git a/windows/privacy/TOC.md b/windows/privacy/TOC.md index c630a6ff77..2ce75122b3 100644 --- a/windows/privacy/TOC.md +++ b/windows/privacy/TOC.md @@ -8,7 +8,7 @@ ### [Diagnostic Data Viewer Overview](diagnostic-data-viewer-overview.md) ### [Diagnostic Data Viewer for PowerShell Overview](Microsoft-DiagnosticDataViewer.md) ## Basic level Windows diagnostic data events and fields -### [Windows 10, version 2005 Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-2005.md) +### [Windows 10, version 2005 Windows diagnostic events and fields](required-windows-diagnostic-data-events-and-fields-2005.md) ### [Windows 10, version 1903 and Windows 10, version 1909 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) ### [Windows 10, version 1809 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) ### [Windows 10, version 1803 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index ddad42d136..0192e759f5 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -2502,7 +2502,7 @@ The following fields are available: - **Enumerator** Identifies the bus that enumerated the device. - **HWID** A list of hardware IDs for the device. - **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx - **InventoryVersion** The version number of the inventory process generating the events. - **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. - **LowerFilters** The identifiers of the Lower filters installed for the device. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index badd6ad7f3..80169c47b0 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -3464,7 +3464,7 @@ The following fields are available: - **Enumerator** Identifies the bus that enumerated the device. - **HWID** A list of hardware IDs for the device. - **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. For a list of values, see: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx - **InventoryVersion** The version number of the inventory process generating the events. - **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. - **LowerFilters** The identifiers of the Lower filters installed for the device. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 387a1d1925..7b1328d29c 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -3701,7 +3701,7 @@ The following fields are available: - **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/en-us/library/windows/hardware/ff543130.aspx +- **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 diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md similarity index 98% rename from windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md rename to windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md index 0d968670b1..407b432593 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-2005.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md @@ -365,6 +365,17 @@ The following fields are available: - **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 + +### Microsoft.Windows.CbsLite.CbsLiteResetBegin + +This event is fired from Update OS when re-install of the OS begins. + +The following fields are available: + +- **cbsLiteSessionID** An ID to associate other Cbs events related to this reset session. +- **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. ## DISM events @@ -524,13 +535,36 @@ 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. - ## Inventory events ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum @@ -986,19 +1020,6 @@ The following fields are available: - **ResourceFileName** DLL path and name which has a failing service checksum. -## Other events - -### Microsoft.Windows.CbsLite.CbsLiteResetBegin - -This event is fired from Update OS when re-install of the OS begins. - -The following fields are available: - -- **cbsLiteSessionID** An ID to associate other Cbs events related to this reset session. -- **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. - - ### NetworkTelemetry.AccessPointData This event describes the wireless access point to which the Xbox is connected. Collected when a wireless network is joined. From eaa2b13783176b1aaa751166cf833284287baa84 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 13:48:40 -0700 Subject: [PATCH 068/393] added m365 Part A extension --- ...sic-level-windows-diagnostic-events-and-fields-1809.md | 8 ++++++++ ...sic-level-windows-diagnostic-events-and-fields-1903.md | 8 ++++++++ ...ired-windows-diagnostic-data-events-and-fields-2005.md | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index f2bfbbecf9..1f038d4e2f 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -2482,6 +2482,14 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. +### Common Data Extensions.ms365a + +Describes the Microsoft 365-related fields. + +The following fields are available: + +- **enrolledTenantId** The enrolled tenant ID. +- **msp** A bitmask that lists the active programs. ### Common Data Extensions.os diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 7b1328d29c..003dcd91c8 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -2254,6 +2254,14 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. +### Common Data Extensions.ms365a + +Describes the Microsoft 365-related fields. + +The following fields are available: + +- **enrolledTenantId** The enrolled tenant ID. +- **msp** A bitmask that lists the active programs. ### Common Data Extensions.mscv diff --git a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md index 407b432593..cd8a49239e 100644 --- a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md @@ -252,6 +252,14 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. +### Common Data Extensions.ms365a + +Describes the Microsoft 365-related fields. + +The following fields are available: + +- **enrolledTenantId** The enrolled tenant ID. +- **msp** A bitmask that lists the active programs. ### Common Data Extensions.mscv From 3c1606a70c36f739804db686a981560b3c230bfe Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 13:57:17 -0700 Subject: [PATCH 069/393] updating toc --- windows/privacy/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/TOC.md b/windows/privacy/TOC.md index 2ce75122b3..1c956c1ffa 100644 --- a/windows/privacy/TOC.md +++ b/windows/privacy/TOC.md @@ -8,7 +8,7 @@ ### [Diagnostic Data Viewer Overview](diagnostic-data-viewer-overview.md) ### [Diagnostic Data Viewer for PowerShell Overview](Microsoft-DiagnosticDataViewer.md) ## Basic level Windows diagnostic data events and fields -### [Windows 10, version 2005 Windows diagnostic events and fields](required-windows-diagnostic-data-events-and-fields-2005.md) +### [Windows 10, version 2005 required Windows diagnostic data events and fields](required-windows-diagnostic-data-events-and-fields-2005.md) ### [Windows 10, version 1903 and Windows 10, version 1909 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) ### [Windows 10, version 1809 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) ### [Windows 10, version 1803 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) From c3530a86d69652150b7320fce8b76d75a859b014 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 14:01:49 -0700 Subject: [PATCH 070/393] more updates --- .../basic-level-windows-diagnostic-events-and-fields-1809.md | 1 + .../basic-level-windows-diagnostic-events-and-fields-1903.md | 1 + .../required-windows-diagnostic-data-events-and-fields-2005.md | 1 + 3 files changed, 3 insertions(+) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index 1f038d4e2f..837dfda4bd 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -2470,6 +2470,7 @@ The following fields are available: - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). - **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 003dcd91c8..96d391c445 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -2243,6 +2243,7 @@ The following fields are available: - **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). - **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). diff --git a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md index cd8a49239e..a8019c77f7 100644 --- a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md @@ -241,6 +241,7 @@ The following fields are available: - **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). - **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). From 63bf3c95bbe2717e4cb563d19e28e38190dac131 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 27 Mar 2020 14:28:00 -0700 Subject: [PATCH 071/393] fixing broken bookmark link --- .../basic-level-windows-diagnostic-events-and-fields-1809.md | 4 ++-- .../basic-level-windows-diagnostic-events-and-fields-1903.md | 4 ++-- ...required-windows-diagnostic-data-events-and-fields-2005.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index 837dfda4bd..d762cd9843 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -2470,7 +2470,7 @@ The following fields are available: - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.m365a](#common-data-extensionsm365a). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). - **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). @@ -2483,7 +2483,7 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. -### Common Data Extensions.ms365a +### Common Data Extensions.m365a Describes the Microsoft 365-related fields. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md index 96d391c445..3e2410fea6 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md @@ -2243,7 +2243,7 @@ The following fields are available: - **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.m365a](#common-data-extensionsm365a). - **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). @@ -2255,7 +2255,7 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. -### Common Data Extensions.ms365a +### Common Data Extensions.m365a Describes the Microsoft 365-related fields. diff --git a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md index a8019c77f7..1a3297b72c 100644 --- a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2005.md @@ -241,7 +241,7 @@ The following fields are available: - **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.mscv](#common-data-extensionsm365a). +- **ext_m365a** Describes the Microsoft 365-related fields. See [Common Data Extensions.m365a](#common-data-extensionsm365a). - **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). @@ -253,7 +253,7 @@ The following fields are available: - **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. - **ver** Represents the major and minor version of the extension. -### Common Data Extensions.ms365a +### Common Data Extensions.m365a Describes the Microsoft 365-related fields. From a4df631a859085ee2a43ade4c28c374484ae80bc Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 3 Apr 2020 16:09:36 -0700 Subject: [PATCH 072/393] update --- windows/deployment/TOC.yml | 223 +++++++++---------------------------- 1 file changed, 52 insertions(+), 171 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 6cc0756364..dfc5842a40 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,4 +1,4 @@ -- name: Windows 10 deployment resources and documentation +- name: Deploy and update Windows 10 href: index.yml items: - name: Get started @@ -24,6 +24,47 @@ - name: Deploy Windows 10 in a test lab using Configuration Manager href: file1.md + - name: Prepare + items: + - name: Prepare for Windows 10 deployment + items: + - name: Windows 10 compatibility + href: file1.md + - name: Windows 10 infrastructure requirements + href: file1.md + - name: Windows 10 volume license media + href: file1.md + - name: Plan for volume activation + href: file1.md + - name: Features removed or planned for replacement + items: + - name: Windows 10 features lifecycle + href: file1.md + - name: Features we're no longer developing + href: file1.md + - name: Features we removed + href: file1.md + - name: Prepare your update strategy + items: + - name: Plan cloud management + items: + - name: Designate rings, channels, and policies + href: file1.md + - name: Chooose a delivery optimization strategy + href: file1.md + - name: Choose a monitoring approach + href: file1.md + - name: Assess apps (new) + items: + - name: With Desktop Analytics + href: file1.md + - name: By other means (new) + href: file1.md + - name: Other prep activities (new) + href: file1.md + - name: Plan image-based management + href: file1.md + - name: Plan items: - name: Plan your Windows 10 deployment @@ -65,179 +106,19 @@ - name: Plan image-based management href: file1.md - - name: Deploy Windows 10 + - name: Deploy items: - - name: Deploy with Windows Autopilot + - name: Deploy Windows 10 items: - - name: Windows Autopilot deployment - href: file1.md - - name: What's new in Windows Autopilot - href: file1.md - - name: Understand Windows Autopilot - items: - - name: Overview - href: file1.md - - name: Requirements - href: file1.md - - name: Scenarios and capabilities - href: file1.md - - name: Get started - href: file1.md - - name: Deployment scenarios - items: - - name: Deployment processes - href: file1.md - - name: User-driven mode - href: file1.md - - name: Self-deploying mode - href: file1.md - - name: Windows Autopilot Reset - href: file1.md - - name: White glove - href: file1.md - - name: Support for existing devices - href: file1.md - - name: Administer Windows Autopilot - items: - - name: Register devices - href: file1.md - - name: Configure device profiles - href: file1.md - - name: Enrollment Status Page - href: file1.md - - name: BitLocker encryption - href: file1.md - - name: DFCI management - href: file1.md - - name: Windows Autopilot update - href: file1.md - - name: Troubleshooting - href: file1.md - - name: Known issues - href: file1.md - - name: Support - items: - - name: FAQ - href: file1.md - - name: Contacts - href: file1.md - - name: Registration authorization - href: file1.md - - name: Device guidelines - href: file1.md - - name: Motherboard replacement - href: file1.md - - name: Deploy with Configuration Manager + - name: Deploy Windows 10 with Autopilot + - name: Deploy Windows 10 with Configuration Manager + - name: Deploy Windows 10 with MDT + - name: Deploy Windows 10 updates items: - - name: Integrate Configuration Manager with MDT - href: file1.md - - name: Prepare for Zero Touch Installation of Windows 10 with Configuration Manager - href: file1.md - - name: Create a custom Windows PE boot image with Configuration Manager - href: file1.md - - name: Add a Windows 10 operating system image using Configuration Manager - href: file1.md - - name: Create an application to deploy with Windows 10 using Configuration Manager - href: file1.md - - name: Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager - href: file1.md - - name: Create a task sequence with Configuration Manager and MDT - href: file1.md - - name: Finalize the operating system configuration for Windows 10 deployment with Configuration Manager - href: file1.md - - name: Deploy Windows 10 using PXE and Configuration Manager - href: file1.md - - name: Monitor the Windows 10 deployment with Configuration Manager - href: file1.md - - name: Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager - href: file1.md - - name: Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager - href: file1.md - - name: Perform an in-place upgrade to Windows 10 using Configuration Manager - href: file1.md - - name: Deploy with the Microsoft Deployment Toolkit - items: - - name: Get started with MDT - href: file1.md - - name: Deploy Windows 10 with MDT - items: - - name: Prepare for deployment with MDT - href: file1.md - - name: Create a Windows 10 reference image - href: file1.md - - name: Deploy a Windows 10 reference image using MDT - href: file1.md - - name: Build a distributed environment for Windows 10 deployment - href: file1.md - - name: Refresh a Windows 7 computer with Windows 10 - href: file1.md - - name: Replace a Windows 7 computer with Windows 10 - href: file1.md - - name: Perform an in-place upgrade to Windows 10 with MDT - href: file1.md - - name: Customize MDT - items: - - name: Configure MDT settings - href: file1.md - - name: Set up MDT for BitLocker - href: file1.md - - name: Configure MDT deployment share rules - href: file1.md - - name: Configure MDT UserExit scripts - href: file1.md - - name: Simulate a Windows 10 deployment in a test environment - href: file1.md - - name: Use the MDT database to state Windows 10 deployment information - href: file1.md - - name: Assign applications using roles in MDT - href: file1.md - - name: Use web services in MDT - href: file1.md - - name: Use Orchestrator runbooks with MDT - href: file1.md - - - name: Manage Windows 10 updates - items: - - name: Manage updates from the cloud - items: - - name: Manage updates with Configuration Manager - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage updates with Intune - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage with Group Policy - items: - - name: Set up rings, channels, optimization, polices - href: file1.md - - name: Perform a pilot deployment (new) - href: file1.md - - name: Perform a broad deployment - href: file1.md - - name: Manage updates locally - items: - - name: Manage updates with WSUS - href: file1.md - - name: Manage updates using images - href: file1.md - - name: Monitor updates - items: - - name: Monitor updates with Update Compliance - href: file1.md - - name: Monitor updates with Desktop Analytics - href: file1.md - - name: Monitor Delivery Optimization - href: file1.md + - name: Deploy updates with Configuration Manager + - name: Deploy updates with Intune + - name: Deploy updates with WSUS + - name: Deploy updates with Group Policy - name: Reference items: From 515f761bcf51e0e8570eeb6687b66ac29f30e6d4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 3 Apr 2020 16:57:20 -0700 Subject: [PATCH 073/393] update --- windows/deployment/TOC.yml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index dfc5842a40..7ef810630d 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -7,6 +7,10 @@ href: file1.md - name: What's new in Windows 10 deployment href: file1.md + - name: Windows 10 upgrade paths + href: file1.md + - name: Windows 10 edition upgrade + href: file1.md - name: Deployment tools and methods href: file1.md - name: Deployment process posters @@ -32,8 +36,6 @@ href: file1.md - name: Windows 10 infrastructure requirements href: file1.md - - name: Windows 10 volume license media - href: file1.md - name: Plan for volume activation href: file1.md - name: Features removed or planned for replacement @@ -111,8 +113,20 @@ - name: Deploy Windows 10 items: - name: Deploy Windows 10 with Autopilot + items: + - name: Windows Autopilot overview - name: Deploy Windows 10 with Configuration Manager + items: + - name: Deploy to a new device + - name: Refresh a device + - name: Replace a device + - name: In-place upgrade - name: Deploy Windows 10 with MDT + items: + - name: Deploy to a new device + - name: Refresh a device + - name: Replace a device + - name: In-place upgrade - name: Deploy Windows 10 updates items: - name: Deploy updates with Configuration Manager @@ -122,9 +136,7 @@ - name: Reference items: - - name: Windows 10 upgrade paths - href: file1.md - - name: Windows 10 edition upgrade + - name: Windows 10 volume license media href: file1.md - name: Deploy Windows 10 with Microsoft 365 href: file1.md From 94cd2bde7d93198c9e0170ffa2e91de81c060994 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 5 Apr 2020 11:52:44 +0500 Subject: [PATCH 074/393] Update hello-hybrid-key-trust-prereqs.md --- .../hello-for-business/hello-hybrid-key-trust-prereqs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md index 97c87a6d14..2e296b0040 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md @@ -63,7 +63,7 @@ The Windows Hello for Business deployment depends on an enterprise public key in Key trust deployments do not need client issued certificates for on-premises authentication. Active Directory user accounts are automatically configured for public key mapping by Azure AD Connect synchronizing the public key of the registered Windows Hello for Business credential to an attribute on the user's Active Directory object. -The minimum required enterprise certificate authority that can be used with Windows Hello for Business is Windows Server 2012, but you can also use a third-party enterprise certification authority. The detailed requirements for the Domain Controller certificate are shown below. +The minimum required enterprise certificate authority that can be used with Windows Hello for Business is Windows Server 2012, but you can also use a third-party enterprise certification authority. The requirements for the Domain Controller certificate are shown below, more detailed version could be found [here](https://support.microsoft.com/help/291010/requirements-for-domain-controller-certificates-from-a-third-party-ca). * The certificate must have a Certificate Revocation List (CRL) distribution point extension that points to a valid CRL. * Optionally, the certificate Subject section should contain the directory path of the server object (the distinguished name). @@ -71,7 +71,7 @@ The minimum required enterprise certificate authority that can be used with Wind * Optionally, the certificate Basic Constraints section should contain: [Subject Type=End Entity, Path Length Constraint=None]. * The certificate Enhanced Key Usage section must contain Client Authentication (1.3.6.1.5.5.7.3.2), Server Authentication (1.3.6.1.5.5.7.3.1), and KDC Authentication (1.3.6.1.5.2.3.5). * The certificate Subject Alternative Name section must contain the Domain Name System (DNS) name. -* The certificate template must have an extension that has the BMP data value "DomainController". +* The certificate template must have an extension that has the value "DomainController", encoded as a [BMPstring](https://docs.microsoft.com/windows/win32/seccertenroll/about-bmpstring). * The domain controller certificate must be installed in the local computer's certificate store. From 9b08473155898029d0211780c48ecc41e57430a7 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 5 Apr 2020 15:13:34 +0500 Subject: [PATCH 075/393] Update windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md Co-Authored-By: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../hello-for-business/hello-hybrid-key-trust-prereqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md index 2e296b0040..cfe007b704 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md @@ -63,7 +63,7 @@ The Windows Hello for Business deployment depends on an enterprise public key in Key trust deployments do not need client issued certificates for on-premises authentication. Active Directory user accounts are automatically configured for public key mapping by Azure AD Connect synchronizing the public key of the registered Windows Hello for Business credential to an attribute on the user's Active Directory object. -The minimum required enterprise certificate authority that can be used with Windows Hello for Business is Windows Server 2012, but you can also use a third-party enterprise certification authority. The requirements for the Domain Controller certificate are shown below, more detailed version could be found [here](https://support.microsoft.com/help/291010/requirements-for-domain-controller-certificates-from-a-third-party-ca). +The minimum required Enterprise certificate authority that can be used with Windows Hello for Business is Windows Server 2012, but you can also use a third-party Enterprise certification authority. The requirements for the domain controller certificate are shown below. For more details, see [Requirements for domain controller certificates from a third-party CA](https://support.microsoft.com/help/291010/requirements-for-domain-controller-certificates-from-a-third-party-ca). * The certificate must have a Certificate Revocation List (CRL) distribution point extension that points to a valid CRL. * Optionally, the certificate Subject section should contain the directory path of the server object (the distinguished name). From 326620fd12e9446aeeff16605995c8e36e8464e6 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 17:45:39 -0700 Subject: [PATCH 076/393] test --- windows/deployment/index.yml | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 299997d434..d6f0097a6e 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -92,4 +92,50 @@ landingContent: url: file1.md - text: Article6c url: file1.md + + # Table + - title: Recent ammouncements +- items: + - type: markdown + text: " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MessageDate
February 2020 Windows 10, version 1909 and Windows 10, version 1903 \"D\" optional release is available
The February 2020 optional monthly “D” release for Windows 10, version 1909 and Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 27, 2020
01:30 PM PT
February 2020 Windows \"C\" optional release is available.
The February 2020 optional monthly “C” release for all supported versions of Windows prior to Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 25, 2020
08:00 AM PT
Status of February 2020 “C” release
The optional monthly “C” release for February 2020 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 21, 2020
12:00 PM PT
Compatibility issue with some Windows Server container images
If you are encountering issues with Windows Server container images, please see KB4542617.
February 13, 2020
03:21 PM PT
Take action: February 2020 security update available for all supported versions of Windows
The February 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
February 11, 2020
08:00 AM PT
Take action: ESU security updates available for Windows 7 SP1, Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2 reached end of support on January 14, 2020. For customers who have purchased Extended Security Updates (ESU), the first monthly ESU security updates are now available. If your organization has not yet been able to complete your transition to Windows 10, Windows Server 2016, or Windows Server 2019 and want to continue to receive security updates for your current version of Windows, you will need to purchase Extended Security Updates. For information on how to do so, please see How to get Extended Security Updates for eligible Windows devices, Windows 7 ESU frequently ask questions, and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 ESU frequently asked questions.

We recommend ESU customers review the applicable KB article below for prerequisites and other important information you will need to deploy these updates.

The following updates were released today for Windows Server 2008 SP2:
The following updates were released today for Windows 7 SP1 and Windows Server 2008 R2 SP1:
February 11, 2020
08:00 AM PT
Resolved: Windows Search shows blank box
We are aware of a temporary server-side issue causing Windows search to show a blank box. This issue has been resolved for most users and in some cases, you might need to restart your device. We are working diligently to fully resolve the issue and will provide an update once resolved. 

This issue was resolved at 12:00 PM PST. If you are still experiencing issues, please restart your device. In rare cases, to mitigate this issue you may need to manually end the SearchUI.exe or SearchApp.exe process via Task Manager. (To locate these processes, select CTRL + Shift + Esc then select the Details tab.) If you have restarted and tried the previous mitigations and are still encountering issues with Windows Search, you are not experiencing the issue described here. Please see Fix problems in Windows Search for other mitigations.
February 05, 2020
12:00 PM PT
January 2020 Windows 10, version 1909 \"D\" optional release is available.
The January 2020 optional monthly “D” release for Windows 10, version 1909 and Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
January 28, 2020
08:00 AM PT
January 2020 Windows \"C\" optional release is available.
The January 2020 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
January 23, 2020
12:00 PM PT
Windows 7 has reached end of support
Windows 7 reached end of support on January 14, 2020. If your organization has not yet been able to complete your transition from Windows 7 to Windows 10, and want to continue to receive security updates while you complete your upgrade projects, please read How to get Extended Security Updates for eligible Windows devices. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
January 15, 2020
10:00 AM PT
Take action: January 2020 security update available for all supported versions of Windows
The January 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
January 14, 2020
08:00 AM PT
Advisory: Windows CryptoAPI certificate validation vulnerability
On January 14, 2020, Microsoft released security updates to address an elliptic-curve cryptography (ECC) certificate validation issue in the Windows CryptoAPI. This vulnerability applies to all versions of the Windows 10 operating system, client and server. While we have not observed an attack exploiting this vulnerability, we recommend that you apply this update to all of your Windows 10 devices with priority. Here is what you need to know:
  • If you are running a supported version of Windows 10 and have automatic updates enabled, you are automatically protected and do not need to take any further action.
  • If you are managing updates on behalf of your organization, you should download the latest updates from the Microsoft Security Update Guide and apply those updates to your Windows 10 devices and servers as soon as possible.
If you are running an unsupported version of Windows 10, we recommend that you upgrade to the current version of Windows 10 to benefit from the latest security protections. For more information about this vulnerability, see the Microsoft Security Guidance for CVE-2020-0601 and the Microsoft Security Response Center blog, January 2020 Security Updates: CVE-2020-0601.
January 14, 2020
08:00 AM PT
Take action: December 2019 security update available for all supported versions of Windows
The December 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
December 10, 2019
08:00 AM PT
Timing of Windows 10 optional update releases (December 2019)
For the balance of this calendar year, there will be no optional non-security “C” and “D” releases for Windows 10. The \"C\" releases normally target the third week of the month, with \"D\" releases targeting the fourth week. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer.
December 10, 2019
08:00 AM PT
Windows 10, version 1909 now available
Learn how to get Windows 10, version 1909 (the November 2019 Update), and explore how we’ve worked to make this a great experience for all devices, including a new, streamlined (and fast) update experience for devices updating directly from the May 2019 Update.
November 12, 2019
10:00 AM PT
Windows 10, version 1909 delivery options
Learn how devices running Windows 10, version 1903 can update to Windows 10, version 1909 using the same servicing technology used to deliver monthly quality updates, resulting in a single restart and reducing update-related downtime.
November 12, 2019
10:00 AM PT
What’s new for IT pros in Windows 10, version 1909
Explore the latest features for IT, get information about media availability and related tools, and find answers to frequently asked questions.
November 12, 2019
10:00 AM PT
Take action: November 2019 security update available for all supported versions of Windows
The November 2019 security update release, referred to as our “B” release, is now available for all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
November 12, 2019
10:00 AM PT
Timing of Windows 10 optional update releases (November/December 2019)
For the balance of this calendar year, there will be no optional non-security “C” and “D” releases for Windows 10. The \"C\" releases normally target the third week of the month, with \"D\" releases targeting the fourth week. Note There will be a December Security Update Tuesday release, as usual. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer
November 12, 2019
10:00 AM PT
Windows 10, version 1803 Home and Pro editions have reached end of service
Windows 10, version 1803 (the April 2018 Update) Home and Pro editions have reached end of service. For Windows 10 devices that are at, or within several months of reaching end of service, Windows Update will automatically initiate a feature update (with users having the ability to choose a convenient time); keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
November 12, 2019
10:00 AM PT
October 2019 Windows 10, version 1903 \"D\" optional release is available.
The October 2019 optional monthly “D” release for Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
October 24, 2019
08:00 AM PT
October 2019 Windows \"C\" optional release is available.
The October 2019 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
October 15, 2019
09:59 AM PT
Windows 10, version 1703 has reached end of service
Consumer and commercial editions of Windows 10, version 1703 have reached end of service. As devices running these editions are no longer receiving monthly security and quality updates containing protections from the latest security threats, we recommend that you update these devices to the latest version of Windows 10 immediately. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.

Note The Windows 10, version 1703 section will be removed from this dashboard on November 12, 2019.
October 09, 2019
12:00 PM PT
Take Action: October 2019 security update available for all supported versions of Windows
The October 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1903 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
 
October 08, 2019
08:00 AM PT
Take action: Security update available for all supported versions of Windows
On October 3, 2019, Microsoft expanded delivery of the out-of-band Internet Explorer scripting engine security vulnerability (CVE-2019-1367) update released on September 23, 2019 to Windows Update and Windows Server Update Services (WSUS). This is now a required security update for all supported versions of Windows as it includes the Internet Explorer scripting engine vulnerability mitigation and corrects a recent printing issue some users have experienced. All customers using Windows Update or WSUS will be offered this update automatically. We recommend that you install this update as soon as a possible, then restart your PC to fully apply the mitigations and help secure your devices. As with all cumulative updates, this update supersedes any preceding update.
 
Note: This update does not replace the standard October 2019 monthly security update release, which is scheduled for October 8, 2019.
October 03, 2019
08:00 AM PT
September 2019 Windows 10, version 1903 \"D\" optional release is available
The September 2019 optional monthly “D” release for Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 26, 2019
02:00 PM PT
Status update: September 2019 Windows \"C\" optional release available
The September 2019 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 24, 2019
08:10 AM PT
Plan for change: Windows Media Center Electronic Program Guide retiring in January 2020
Starting in January 2020, Microsoft is retiring its Electronic Program Guide (EPG) service for all versions of Windows Media Center. To continue receiving TV Program Guide information on your Windows Media Center, you’ll need to configure an alternate TV listing provider.
September 24, 2019
08:00 AM PT
Status of September 2019 “C” release
The optional monthly “C” release for September 2019 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 19, 2019
04:11 PM PT
Plan for change: End of service reminders for Windows 10, versions 1703 and 1803
The Enterprise and Education editions of Windows 10, version 1703 (the Creators Update) will reach end of service on October 8, 2019. The Home, Pro, Pro for Workstations, and IoT Core editions of Windows 10, version 1803 (the April 2018 Update) will reach end of service on November 12, 2019. We recommend that you update devices running these versions and editions to the latest version of Windows 10—Windows 10, version 1903—as soon as possible to help keep them protected and your environments secure.
September 13, 2019
03:23 PM PT
September 2019 security update available for all supported versions of Windows
The September 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1903 and all supported versions of Windows. We recommend that you install these updates promptly. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
September 10, 2019
09:34 AM PT
Status update: Windows 10, version 1903 \"D\" optional release available August 30th
The August optional monthly “D” release for Windows 10, version 1903 is now available. Follow @WindowsUpdate for the latest on the availability of this release.
August 30, 2019
08:00 AM PT
Feature update install notification on Windows 10, version 1809 (the October 2018 Update)
We've had reports on August 29th that some customers running Windows 10, version 1809 (the October 2018 Update) have received notification to install the latest feature update (version 1903) early. Updating remains in your control. To install the update, you must select one of the following options: \"Pick a Time\", \"Restart Tonight,\" or \"Restart Now\". If you are not ready to update at this time, simply dismiss the notification by clicking the arrow in the top right corner. If you have updated to Windows 10, version 1903 and would like to go back to your previous version, see the instructions here.
August 29, 2019
04:39 PM PT
Take Action: Internet Explorer 11 now available on Windows Update/WSUS for Windows Server 2012 and Windows Embedded 8 Standard
Internet Explorer 11 (KB 4492872) is now available via Windows Update (WU) and Windows Server Update Services (WSUS) for commercial customers running Windows Server 2012 and Windows Embedded 8 Standard. For details about these changes and end of support for IE10, please refer to the IT Pro blog
August 29, 2019
08:00 AM PT
Windows 10, version 1903 rollout begins
The Windows 10 May 2019 Update (Windows 10, version 1903) is available today to commercial customers via Windows Server Update Services (WSUS), Windows Update for Business, and the Volume Licensing Service Center (VLSC)—and to end users who manually select “Check for updates.” We are slowly throttling up availability while we carefully monitor data and feedback.
May 21, 2019
10:00 AM PT
+ " + \ No newline at end of file From 04138cb264244c81d7b9830923a994dda950e03e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 17:53:28 -0700 Subject: [PATCH 077/393] test2 --- windows/deployment/index.yml | 46 +++++------------------------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index d6f0097a6e..522cb55b03 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -95,47 +95,13 @@ landingContent: # Table - title: Recent ammouncements -- items: - - type: markdown - text: " - + - items: + - type: markdown + text: " +
MessageDate
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MessageDate
February 2020 Windows 10, version 1909 and Windows 10, version 1903 \"D\" optional release is available
The February 2020 optional monthly “D” release for Windows 10, version 1909 and Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 27, 2020
01:30 PM PT
February 2020 Windows \"C\" optional release is available.
The February 2020 optional monthly “C” release for all supported versions of Windows prior to Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 25, 2020
08:00 AM PT
Status of February 2020 “C” release
The optional monthly “C” release for February 2020 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
February 21, 2020
12:00 PM PT
Compatibility issue with some Windows Server container images
If you are encountering issues with Windows Server container images, please see KB4542617.
February 13, 2020
03:21 PM PT
Take action: February 2020 security update available for all supported versions of Windows
The February 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
February 11, 2020
08:00 AM PT
Take action: ESU security updates available for Windows 7 SP1, Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2 reached end of support on January 14, 2020. For customers who have purchased Extended Security Updates (ESU), the first monthly ESU security updates are now available. If your organization has not yet been able to complete your transition to Windows 10, Windows Server 2016, or Windows Server 2019 and want to continue to receive security updates for your current version of Windows, you will need to purchase Extended Security Updates. For information on how to do so, please see How to get Extended Security Updates for eligible Windows devices, Windows 7 ESU frequently ask questions, and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 ESU frequently asked questions.

We recommend ESU customers review the applicable KB article below for prerequisites and other important information you will need to deploy these updates.

The following updates were released today for Windows Server 2008 SP2:
The following updates were released today for Windows 7 SP1 and Windows Server 2008 R2 SP1:
February 11, 2020
08:00 AM PT
Resolved: Windows Search shows blank box
We are aware of a temporary server-side issue causing Windows search to show a blank box. This issue has been resolved for most users and in some cases, you might need to restart your device. We are working diligently to fully resolve the issue and will provide an update once resolved. 

This issue was resolved at 12:00 PM PST. If you are still experiencing issues, please restart your device. In rare cases, to mitigate this issue you may need to manually end the SearchUI.exe or SearchApp.exe process via Task Manager. (To locate these processes, select CTRL + Shift + Esc then select the Details tab.) If you have restarted and tried the previous mitigations and are still encountering issues with Windows Search, you are not experiencing the issue described here. Please see Fix problems in Windows Search for other mitigations.
February 05, 2020
12:00 PM PT
January 2020 Windows 10, version 1909 \"D\" optional release is available.
The January 2020 optional monthly “D” release for Windows 10, version 1909 and Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
January 28, 2020
08:00 AM PT
January 2020 Windows \"C\" optional release is available.
The January 2020 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
January 23, 2020
12:00 PM PT
Windows 7 has reached end of support
Windows 7 reached end of support on January 14, 2020. If your organization has not yet been able to complete your transition from Windows 7 to Windows 10, and want to continue to receive security updates while you complete your upgrade projects, please read How to get Extended Security Updates for eligible Windows devices. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
January 15, 2020
10:00 AM PT
Take action: January 2020 security update available for all supported versions of Windows
The January 2020 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
January 14, 2020
08:00 AM PT
Advisory: Windows CryptoAPI certificate validation vulnerability
On January 14, 2020, Microsoft released security updates to address an elliptic-curve cryptography (ECC) certificate validation issue in the Windows CryptoAPI. This vulnerability applies to all versions of the Windows 10 operating system, client and server. While we have not observed an attack exploiting this vulnerability, we recommend that you apply this update to all of your Windows 10 devices with priority. Here is what you need to know:
  • If you are running a supported version of Windows 10 and have automatic updates enabled, you are automatically protected and do not need to take any further action.
  • If you are managing updates on behalf of your organization, you should download the latest updates from the Microsoft Security Update Guide and apply those updates to your Windows 10 devices and servers as soon as possible.
If you are running an unsupported version of Windows 10, we recommend that you upgrade to the current version of Windows 10 to benefit from the latest security protections. For more information about this vulnerability, see the Microsoft Security Guidance for CVE-2020-0601 and the Microsoft Security Response Center blog, January 2020 Security Updates: CVE-2020-0601.
January 14, 2020
08:00 AM PT
Take action: December 2019 security update available for all supported versions of Windows
The December 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1909 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
December 10, 2019
08:00 AM PT
Timing of Windows 10 optional update releases (December 2019)
For the balance of this calendar year, there will be no optional non-security “C” and “D” releases for Windows 10. The \"C\" releases normally target the third week of the month, with \"D\" releases targeting the fourth week. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer.
December 10, 2019
08:00 AM PT
Windows 10, version 1909 now available
Learn how to get Windows 10, version 1909 (the November 2019 Update), and explore how we’ve worked to make this a great experience for all devices, including a new, streamlined (and fast) update experience for devices updating directly from the May 2019 Update.
November 12, 2019
10:00 AM PT
Windows 10, version 1909 delivery options
Learn how devices running Windows 10, version 1903 can update to Windows 10, version 1909 using the same servicing technology used to deliver monthly quality updates, resulting in a single restart and reducing update-related downtime.
November 12, 2019
10:00 AM PT
What’s new for IT pros in Windows 10, version 1909
Explore the latest features for IT, get information about media availability and related tools, and find answers to frequently asked questions.
November 12, 2019
10:00 AM PT
Take action: November 2019 security update available for all supported versions of Windows
The November 2019 security update release, referred to as our “B” release, is now available for all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
November 12, 2019
10:00 AM PT
Timing of Windows 10 optional update releases (November/December 2019)
For the balance of this calendar year, there will be no optional non-security “C” and “D” releases for Windows 10. The \"C\" releases normally target the third week of the month, with \"D\" releases targeting the fourth week. Note There will be a December Security Update Tuesday release, as usual. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer
November 12, 2019
10:00 AM PT
Windows 10, version 1803 Home and Pro editions have reached end of service
Windows 10, version 1803 (the April 2018 Update) Home and Pro editions have reached end of service. For Windows 10 devices that are at, or within several months of reaching end of service, Windows Update will automatically initiate a feature update (with users having the ability to choose a convenient time); keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.
November 12, 2019
10:00 AM PT
October 2019 Windows 10, version 1903 \"D\" optional release is available.
The October 2019 optional monthly “D” release for Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
October 24, 2019
08:00 AM PT
October 2019 Windows \"C\" optional release is available.
The October 2019 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
October 15, 2019
09:59 AM PT
Windows 10, version 1703 has reached end of service
Consumer and commercial editions of Windows 10, version 1703 have reached end of service. As devices running these editions are no longer receiving monthly security and quality updates containing protections from the latest security threats, we recommend that you update these devices to the latest version of Windows 10 immediately. For more information on end of service dates for currently supported versions of Windows 10, see the Windows lifecycle fact sheet.

Note The Windows 10, version 1703 section will be removed from this dashboard on November 12, 2019.
October 09, 2019
12:00 PM PT
Take Action: October 2019 security update available for all supported versions of Windows
The October 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1903 and all supported versions of Windows. We recommend that you install these updates promptly. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
 
October 08, 2019
08:00 AM PT
Take action: Security update available for all supported versions of Windows
On October 3, 2019, Microsoft expanded delivery of the out-of-band Internet Explorer scripting engine security vulnerability (CVE-2019-1367) update released on September 23, 2019 to Windows Update and Windows Server Update Services (WSUS). This is now a required security update for all supported versions of Windows as it includes the Internet Explorer scripting engine vulnerability mitigation and corrects a recent printing issue some users have experienced. All customers using Windows Update or WSUS will be offered this update automatically. We recommend that you install this update as soon as a possible, then restart your PC to fully apply the mitigations and help secure your devices. As with all cumulative updates, this update supersedes any preceding update.
 
Note: This update does not replace the standard October 2019 monthly security update release, which is scheduled for October 8, 2019.
October 03, 2019
08:00 AM PT
September 2019 Windows 10, version 1903 \"D\" optional release is available
The September 2019 optional monthly “D” release for Windows 10, version 1903 is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 26, 2019
02:00 PM PT
Status update: September 2019 Windows \"C\" optional release available
The September 2019 optional monthly “C” release for all supported versions of Windows is now available. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 24, 2019
08:10 AM PT
Plan for change: Windows Media Center Electronic Program Guide retiring in January 2020
Starting in January 2020, Microsoft is retiring its Electronic Program Guide (EPG) service for all versions of Windows Media Center. To continue receiving TV Program Guide information on your Windows Media Center, you’ll need to configure an alternate TV listing provider.
September 24, 2019
08:00 AM PT
Status of September 2019 “C” release
The optional monthly “C” release for September 2019 for all supported versions of Windows and Windows Server prior to Windows 10, version 1903 and Windows Server, version 1903 will be available in the near term. For more information on the different types of monthly quality updates, see our Windows 10 update servicing cadence primer. Follow @WindowsUpdate for the latest on the availability of this release.
September 19, 2019
04:11 PM PT
Plan for change: End of service reminders for Windows 10, versions 1703 and 1803
The Enterprise and Education editions of Windows 10, version 1703 (the Creators Update) will reach end of service on October 8, 2019. The Home, Pro, Pro for Workstations, and IoT Core editions of Windows 10, version 1803 (the April 2018 Update) will reach end of service on November 12, 2019. We recommend that you update devices running these versions and editions to the latest version of Windows 10—Windows 10, version 1903—as soon as possible to help keep them protected and your environments secure.
September 13, 2019
03:23 PM PT
September 2019 security update available for all supported versions of Windows
The September 2019 security update release, referred to as our “B” release, is now available for Windows 10, version 1903 and all supported versions of Windows. We recommend that you install these updates promptly. To be informed about the latest updates and releases, follow us on Twitter @WindowsUpdate.
September 10, 2019
09:34 AM PT
Status update: Windows 10, version 1903 \"D\" optional release available August 30th
The August optional monthly “D” release for Windows 10, version 1903 is now available. Follow @WindowsUpdate for the latest on the availability of this release.
August 30, 2019
08:00 AM PT
Feature update install notification on Windows 10, version 1809 (the October 2018 Update)
We've had reports on August 29th that some customers running Windows 10, version 1809 (the October 2018 Update) have received notification to install the latest feature update (version 1903) early. Updating remains in your control. To install the update, you must select one of the following options: \"Pick a Time\", \"Restart Tonight,\" or \"Restart Now\". If you are not ready to update at this time, simply dismiss the notification by clicking the arrow in the top right corner. If you have updated to Windows 10, version 1903 and would like to go back to your previous version, see the instructions here.
August 29, 2019
04:39 PM PT
Take Action: Internet Explorer 11 now available on Windows Update/WSUS for Windows Server 2012 and Windows Embedded 8 Standard
Internet Explorer 11 (KB 4492872) is now available via Windows Update (WU) and Windows Server Update Services (WSUS) for commercial customers running Windows Server 2012 and Windows Embedded 8 Standard. For details about these changes and end of support for IE10, please refer to the IT Pro blog
August 29, 2019
08:00 AM PT
Windows 10, version 1903 rollout begins
The Windows 10 May 2019 Update (Windows 10, version 1903) is available today to commercial customers via Windows Server Update Services (WSUS), Windows Update for Business, and the Volume Licensing Service Center (VLSC)—and to end users who manually select “Check for updates.” We are slowly throttling up availability while we carefully monitor data and feedback.
May 21, 2019
10:00 AM PT
+
Message 1Date 1
" \ No newline at end of file From 6a9772b872c901ed863539ad4874bdc9f1d35cf9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 18:46:54 -0700 Subject: [PATCH 078/393] test3 --- windows/deployment/index.yml | 10 --- windows/deployment/index2.yml | 103 +++++++++++++++++++++++++++++ windows/deployment/index3.yml | 120 ++++++++++++++++++++++++++++++++++ 3 files changed, 223 insertions(+), 10 deletions(-) create mode 100644 windows/deployment/index2.yml create mode 100644 windows/deployment/index3.yml diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 522cb55b03..2300f7acdb 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -93,15 +93,5 @@ landingContent: - text: Article6c url: file1.md - # Table - - title: Recent ammouncements - - items: - - type: markdown - text: " - - - -
MessageDate
Message 1Date 1
- " \ No newline at end of file diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml new file mode 100644 index 0000000000..2a8037d23a --- /dev/null +++ b/windows/deployment/index2.yml @@ -0,0 +1,103 @@ +### YamlMime:Landing + +title: Windows 10 deployment resources and documentation # < 60 chars +summary: Learn about deploying and and keeping Windows 10 up to date. # < 160 chars + +metadata: + title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. + description: Learn about deploying Windows 10 and keeping it up to date in your organization. # Required; article description that is displayed in search results. < 160 chars. + services: windows-10 + ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM. + ms.subservice: subservice + ms.topic: landing-page # Required + ms.collection: windows-10 + author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. + ms.author: greglin #Required; microsoft alias of author; optional team alias. + ms.date: 09/13/2019 #Required; mm/dd/yyyy format. + localization_priority: medium + +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new + +landingContent: +# Cards and links should be based on top customer tasks or top subjects +# Start card title with a verb + # Card (optional) + - title: Title1 + linkLists: + - linkListType: overview + links: + - text: Article1a + url: file1.md + - text: Article1b + url: file1.md + - text: Article1c + url: file1.md + + # Card (optional) + - title: Title2 + linkLists: + - linkListType: overview + links: + - text: Article2a + url: file1.md + - text: Article2b + url: file1.md + - text: Article2c + url: file1.md + + # Card (optional) + - title: Title3 + linkLists: + - linkListType: overview + links: + - text: Article3a + url: file1.md + - text: Article3b + url: file1.md + - text: Article3c + url: file1.md + + # Card + - title: Title4 + linkLists: + - linkListType: overview + links: + - text: Article4a + url: file1.md + - text: Article4b + url: file1.md + - text: Article4c + url: file1.md + + # Card + - title: Title5 + linkLists: + - linkListType: overview + links: + - text: Article5a + url: file1.md + - text: Article5b + url: file1.md + - text: Article5c + url: file1.md + + # Card (optional) + - title: Title6 + linkLists: + - linkListType: overview + links: + - text: Article6a + url: file1.md + - text: Article6b + url: file1.md + - text: Article6c + url: file1.md + +summary: " + + + +
MessageDate
Message 1Date 1
+ " + + \ No newline at end of file diff --git a/windows/deployment/index3.yml b/windows/deployment/index3.yml new file mode 100644 index 0000000000..624d771007 --- /dev/null +++ b/windows/deployment/index3.yml @@ -0,0 +1,120 @@ +### YamlMime:Landing + +title: Windows 10 deployment resources and documentation # < 60 chars +summary: Learn about deploying and and keeping Windows 10 up to date. # < 160 chars + +metadata: + title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. + description: Learn about deploying Windows 10 and keeping it up to date in your organization. # Required; article description that is displayed in search results. < 160 chars. + services: windows-10 + ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM. + ms.subservice: subservice + ms.topic: landing-page # Required + ms.collection: windows-10 + author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. + ms.author: greglin #Required; microsoft alias of author; optional team alias. + ms.date: 09/13/2019 #Required; mm/dd/yyyy format. + localization_priority: medium + +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new + +sections: + +- items: +- title: Recent announcements +- items: + - type: markdown + text: " + + + +
MessageDate
Message 1Date 1
+ + +landingContent: +# Cards and links should be based on top customer tasks or top subjects +# Start card title with a verb + # Card (optional) + - title: Title1 + linkLists: + - linkListType: overview + links: + - text: Article1a + url: file1.md + - text: Article1b + url: file1.md + - text: Article1c + url: file1.md + + # Card (optional) + - title: Title2 + linkLists: + - linkListType: overview + links: + - text: Article2a + url: file1.md + - text: Article2b + url: file1.md + - text: Article2c + url: file1.md + + # Card (optional) + - title: Title3 + linkLists: + - linkListType: overview + links: + - text: Article3a + url: file1.md + - text: Article3b + url: file1.md + - text: Article3c + url: file1.md + + # Card + - title: Title4 + linkLists: + - linkListType: overview + links: + - text: Article4a + url: file1.md + - text: Article4b + url: file1.md + - text: Article4c + url: file1.md + + # Card + - title: Title5 + linkLists: + - linkListType: overview + links: + - text: Article5a + url: file1.md + - text: Article5b + url: file1.md + - text: Article5c + url: file1.md + + # Card (optional) + - title: Title6 + linkLists: + - linkListType: overview + links: + - text: Article6a + url: file1.md + - text: Article6b + url: file1.md + - text: Article6c + url: file1.md + + # Table + - title: Recent ammouncements + - items: + - type: markdown + text: " + + + +
MessageDate
Message 1Date 1
+ " + + \ No newline at end of file From 4de3aa70b8a84539d1284c41ee26a5ba3f0e68b5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 19:04:09 -0700 Subject: [PATCH 079/393] test4 --- windows/deployment/index3.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/windows/deployment/index3.yml b/windows/deployment/index3.yml index 624d771007..f2bf7c85b1 100644 --- a/windows/deployment/index3.yml +++ b/windows/deployment/index3.yml @@ -106,15 +106,5 @@ landingContent: - text: Article6c url: file1.md - # Table - - title: Recent ammouncements - - items: - - type: markdown - text: " - - - -
MessageDate
Message 1Date 1
- " \ No newline at end of file From 542614c92a386321a650b95b38bad73e0afdfd9f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 19:18:21 -0700 Subject: [PATCH 080/393] test5 --- windows/deployment/index3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/index3.yml b/windows/deployment/index3.yml index f2bf7c85b1..3ccf91d6f3 100644 --- a/windows/deployment/index3.yml +++ b/windows/deployment/index3.yml @@ -28,7 +28,7 @@ sections: -
MessageDate
Message 1Date 1
+ " landingContent: From 3baa06b96ef1add3636e3c6dcd0e31e5ec9280a1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 19:22:59 -0700 Subject: [PATCH 081/393] index2 only --- windows/deployment/index3.yml | 110 ---------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 windows/deployment/index3.yml diff --git a/windows/deployment/index3.yml b/windows/deployment/index3.yml deleted file mode 100644 index 3ccf91d6f3..0000000000 --- a/windows/deployment/index3.yml +++ /dev/null @@ -1,110 +0,0 @@ -### YamlMime:Landing - -title: Windows 10 deployment resources and documentation # < 60 chars -summary: Learn about deploying and and keeping Windows 10 up to date. # < 160 chars - -metadata: - title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. - description: Learn about deploying Windows 10 and keeping it up to date in your organization. # Required; article description that is displayed in search results. < 160 chars. - services: windows-10 - ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM. - ms.subservice: subservice - ms.topic: landing-page # Required - ms.collection: windows-10 - author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. - ms.author: greglin #Required; microsoft alias of author; optional team alias. - ms.date: 09/13/2019 #Required; mm/dd/yyyy format. - localization_priority: medium - -# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new - -sections: - -- items: -- title: Recent announcements -- items: - - type: markdown - text: " - - - -
MessageDate
Message 1Date 1
" - - -landingContent: -# Cards and links should be based on top customer tasks or top subjects -# Start card title with a verb - # Card (optional) - - title: Title1 - linkLists: - - linkListType: overview - links: - - text: Article1a - url: file1.md - - text: Article1b - url: file1.md - - text: Article1c - url: file1.md - - # Card (optional) - - title: Title2 - linkLists: - - linkListType: overview - links: - - text: Article2a - url: file1.md - - text: Article2b - url: file1.md - - text: Article2c - url: file1.md - - # Card (optional) - - title: Title3 - linkLists: - - linkListType: overview - links: - - text: Article3a - url: file1.md - - text: Article3b - url: file1.md - - text: Article3c - url: file1.md - - # Card - - title: Title4 - linkLists: - - linkListType: overview - links: - - text: Article4a - url: file1.md - - text: Article4b - url: file1.md - - text: Article4c - url: file1.md - - # Card - - title: Title5 - linkLists: - - linkListType: overview - links: - - text: Article5a - url: file1.md - - text: Article5b - url: file1.md - - text: Article5c - url: file1.md - - # Card (optional) - - title: Title6 - linkLists: - - linkListType: overview - links: - - text: Article6a - url: file1.md - - text: Article6b - url: file1.md - - text: Article6c - url: file1.md - - - \ No newline at end of file From 1f2c7618b0e939f6fa6acfb7fb64879b20d07c1b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 19:23:33 -0700 Subject: [PATCH 082/393] index3 only --- windows/deployment/{index2.yml => index3.yml} | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) rename windows/deployment/{index2.yml => index3.yml} (91%) diff --git a/windows/deployment/index2.yml b/windows/deployment/index3.yml similarity index 91% rename from windows/deployment/index2.yml rename to windows/deployment/index3.yml index 2a8037d23a..3ccf91d6f3 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index3.yml @@ -18,6 +18,19 @@ metadata: # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new +sections: + +- items: +- title: Recent announcements +- items: + - type: markdown + text: " + + + +
MessageDate
Message 1Date 1
" + + landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb @@ -93,11 +106,5 @@ landingContent: - text: Article6c url: file1.md -summary: " - - - -
MessageDate
Message 1Date 1
- " \ No newline at end of file From d8b958609e09eac1b47eb101c3b5960b17fbb5e9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 19:53:01 -0700 Subject: [PATCH 083/393] index2 only --- windows/deployment/{index3.yml => index2.yml} | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) rename windows/deployment/{index3.yml => index2.yml} (91%) diff --git a/windows/deployment/index3.yml b/windows/deployment/index2.yml similarity index 91% rename from windows/deployment/index3.yml rename to windows/deployment/index2.yml index 3ccf91d6f3..2a8037d23a 100644 --- a/windows/deployment/index3.yml +++ b/windows/deployment/index2.yml @@ -18,19 +18,6 @@ metadata: # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new -sections: - -- items: -- title: Recent announcements -- items: - - type: markdown - text: " - - - -
MessageDate
Message 1Date 1
" - - landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb @@ -106,5 +93,11 @@ landingContent: - text: Article6c url: file1.md +summary: " + + + +
MessageDate
Message 1Date 1
+ " \ No newline at end of file From cf41556c0030ed460ed72e5193f44bf50bc5ee2e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 21:21:09 -0700 Subject: [PATCH 084/393] index2 only --- windows/deployment/index2.yml | 134 +++++++++------------------------- 1 file changed, 36 insertions(+), 98 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index 2a8037d23a..c62fab82e7 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -1,103 +1,41 @@ -### YamlMime:Landing +### YamlMime:Hub -title: Windows 10 deployment resources and documentation # < 60 chars -summary: Learn about deploying and and keeping Windows 10 up to date. # < 160 chars +title: Sample page +summary: Summary metadata: - title: Windows 10 deployment resources and documentation # Required; page title displayed in search results. Include the brand. < 60 chars. - description: Learn about deploying Windows 10 and keeping it up to date in your organization. # Required; article description that is displayed in search results. < 160 chars. - services: windows-10 - ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM. - ms.subservice: subservice - ms.topic: landing-page # Required - ms.collection: windows-10 - author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. - ms.author: greglin #Required; microsoft alias of author; optional team alias. - ms.date: 09/13/2019 #Required; mm/dd/yyyy format. - localization_priority: medium - -# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new + title: Sample page + description: Example hub page + ms.service: help + ms.topic: hub-page + author: greg-lindsay + ms.author: greglin + ms.date: 4/9/2020 -landingContent: -# Cards and links should be based on top customer tasks or top subjects -# Start card title with a verb - # Card (optional) - - title: Title1 - linkLists: - - linkListType: overview - links: - - text: Article1a - url: file1.md - - text: Article1b - url: file1.md - - text: Article1c - url: file1.md +additionalContent: + sections: + - items: + # Card + - title: Item 1 + summary: Summary 1 + url: https://www.microsoft.com + # Card + - title: Item 2 + summary: Summary 2 + url: https://www.microsoft.com + # Card + - title: Item 3 + summary: Summary 3 + url: https://www.microsoft.com + # Card + - title: Item 4 + summary: Summary 4 + url: https://www.microsoft.com - # Card (optional) - - title: Title2 - linkLists: - - linkListType: overview - links: - - text: Article2a - url: file1.md - - text: Article2b - url: file1.md - - text: Article2c - url: file1.md - - # Card (optional) - - title: Title3 - linkLists: - - linkListType: overview - links: - - text: Article3a - url: file1.md - - text: Article3b - url: file1.md - - text: Article3c - url: file1.md - - # Card - - title: Title4 - linkLists: - - linkListType: overview - links: - - text: Article4a - url: file1.md - - text: Article4b - url: file1.md - - text: Article4c - url: file1.md - - # Card - - title: Title5 - linkLists: - - linkListType: overview - links: - - text: Article5a - url: file1.md - - text: Article5b - url: file1.md - - text: Article5c - url: file1.md - - # Card (optional) - - title: Title6 - linkLists: - - linkListType: overview - links: - - text: Article6a - url: file1.md - - text: Article6b - url: file1.md - - text: Article6c - url: file1.md - -summary: " - - - -
MessageDate
Message 1Date 1
- " - - \ No newline at end of file +footer: +- items: + - type: markdown + text: " + +
ItemDate
14-9-2020
+ " \ No newline at end of file From f384ffd09fa90a92f4d59079f001ca23b531dd90 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 21:32:53 -0700 Subject: [PATCH 085/393] index2 only --- windows/deployment/index2.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index c62fab82e7..58341a9818 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -32,10 +32,10 @@ additionalContent: summary: Summary 4 url: https://www.microsoft.com -footer: -- items: - - type: markdown - text: " - -
ItemDate
14-9-2020
- " \ No newline at end of file + footer: + - items: + - type: markdown + text: " + +
ItemDate
14-9-2020
+ " \ No newline at end of file From 81c948f1f4dbcb52dbbccfa52112316befe4f981 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 21:58:07 -0700 Subject: [PATCH 086/393] index2 footer --- windows/deployment/index2.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index 58341a9818..f585de455d 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -32,10 +32,10 @@ additionalContent: summary: Summary 4 url: https://www.microsoft.com - footer: - - items: - - type: markdown - text: " - -
ItemDate
14-9-2020
- " \ No newline at end of file + - footer: + - items: + - type: markdown + text: " + +
ItemDate
14-9-2020
+ " \ No newline at end of file From 36764369c274d35dd7ca0bc43c4ff2d42aff3968 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 23:21:59 -0700 Subject: [PATCH 087/393] index2 footer --- windows/deployment/index2.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index f585de455d..c7e5f378c2 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -13,6 +13,13 @@ metadata: ms.date: 4/9/2020 additionalContent: + footer: + - items: + - type: markdown + text: " + +
ItemDate
14-9-2020
+ " sections: - items: # Card @@ -32,10 +39,3 @@ additionalContent: summary: Summary 4 url: https://www.microsoft.com - - footer: - - items: - - type: markdown - text: " - -
ItemDate
14-9-2020
- " \ No newline at end of file From 74ff383c5fa841f22365eea4a62a2e1c2ce280da Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 23:42:16 -0700 Subject: [PATCH 088/393] index2 footer --- windows/deployment/index2.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index c7e5f378c2..e3f3737bb4 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -13,13 +13,7 @@ metadata: ms.date: 4/9/2020 additionalContent: - footer: - - items: - - type: markdown - text: " - -
ItemDate
14-9-2020
- " + sections: - items: # Card @@ -38,4 +32,7 @@ additionalContent: - title: Item 4 summary: Summary 4 url: https://www.microsoft.com - + footer: " + +
ItemDate
14-9-2020
+ " From 36be5114caf7b3263a278c7007f592a8f83930c8 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 23:49:26 -0700 Subject: [PATCH 089/393] index2 footer --- windows/deployment/index2.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index e3f3737bb4..f879a63205 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -32,7 +32,12 @@ additionalContent: - title: Item 4 summary: Summary 4 url: https://www.microsoft.com - footer: " - -
ItemDate
14-9-2020
- " + - type: markdown + text: " + Find information on known issues and the status of the rollout for Windows 10, version 1909 and Windows Server, version 1909. Looking for a specific issue? Press CTRL + F (or Command + F if you are using a Mac) and enter your search term(s). + + +
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
+
+ + " From 2263640e87a6b00f23b84230d5cf30d561d6f30a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 9 Apr 2020 23:50:43 -0700 Subject: [PATCH 090/393] index2 footer --- windows/deployment/index2.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index f879a63205..f812788b47 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -32,12 +32,12 @@ additionalContent: - title: Item 4 summary: Summary 4 url: https://www.microsoft.com - - type: markdown - text: " - Find information on known issues and the status of the rollout for Windows 10, version 1909 and Windows Server, version 1909. Looking for a specific issue? Press CTRL + F (or Command + F if you are using a Mac) and enter your search term(s). + - type: markdown + text: " + Find information on known issues and the status of the rollout for Windows 10, version 1909 and Windows Server, version 1909. Looking for a specific issue? Press CTRL + F (or Command + F if you are using a Mac) and enter your search term(s). - -
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
-
+ +
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
+
- " + " From 88ea25b818809438cf1359ce7a53850a8ec7af7d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 10 Apr 2020 00:14:31 -0700 Subject: [PATCH 091/393] index2 working? --- windows/deployment/index2.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index f812788b47..8af9a63a8f 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -32,12 +32,9 @@ additionalContent: - title: Item 4 summary: Summary 4 url: https://www.microsoft.com - - type: markdown - text: " - Find information on known issues and the status of the rollout for Windows 10, version 1909 and Windows Server, version 1909. Looking for a specific issue? Press CTRL + F (or Command + F if you are using a Mac) and enter your search term(s). - - -
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
-
+ footer: " + +
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
+
- " + " From 8dd9c733e3c7b0dadeb4dcd40c62fce1665c0ff1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 10 Apr 2020 02:05:30 -0700 Subject: [PATCH 092/393] index2 working? --- windows/deployment/index2.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml index 8af9a63a8f..f60c6cd9be 100644 --- a/windows/deployment/index2.yml +++ b/windows/deployment/index2.yml @@ -33,7 +33,8 @@ additionalContent: summary: Summary 4 url: https://www.microsoft.com footer: " - +
+
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
From 24a935a6f969e3435421440b94e7ac8d8cfa1829 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Fri, 17 Apr 2020 09:45:51 -0700 Subject: [PATCH 093/393] first go at new material from Aria --- windows/deployment/TOC.md | 4 +- .../update/waas-manage-updates-wufb.md | 38 ++++++++++--- .../deployment/update/waas-wufb-end-user.md | 28 +++++++++ windows/deployment/update/waas-wufb-when.md | 57 +++++++++++++++++++ 4 files changed, 119 insertions(+), 8 deletions(-) create mode 100644 windows/deployment/update/waas-wufb-end-user.md create mode 100644 windows/deployment/update/waas-wufb-when.md diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index d4e56af1b7..9cc79d290d 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -268,7 +268,9 @@ #### [Conclusion](update/feature-update-conclusion.md) ### [Deploy updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile](update/waas-mobile-updates.md) ### Use Windows Update for Business -#### [Deploy updates using Windows Update for Business](update/waas-manage-updates-wufb.md) +#### [What is Windows Update for Business?](update/waas-manage-updates-wufb.md) +##### [Manage when updates are offered](update/waas-wufb-when.md) +##### [Manage the end-user experience](update/waas-wufb-end-user.md) #### [Configure Windows Update for Business](update/waas-configure-wufb.md) #### [Enforcing compliance deadlines for updates](update/wufb-compliancedeadlines.md) #### [Integrate Windows Update for Business with management solutions](update/waas-integrate-wufb.md) diff --git a/windows/deployment/update/waas-manage-updates-wufb.md b/windows/deployment/update/waas-manage-updates-wufb.md index 0e9f6ba908..00a9090853 100644 --- a/windows/deployment/update/waas-manage-updates-wufb.md +++ b/windows/deployment/update/waas-manage-updates-wufb.md @@ -1,5 +1,5 @@ --- -title: Deploy updates using Windows Update for Business (Windows 10) +title: Windows Update for Business (Windows 10) ms.reviewer: manager: laurawi description: Windows Update for Business lets you manage when devices received updates from Windows Update. @@ -11,24 +11,48 @@ ms.author: jaimeo ms.topic: article --- -# Deploy updates using Windows Update for Business +# What is Windows Update for Business? **Applies to** - Windows 10 -- Windows Server 2016 -- Windows Server 2019 -Windows Update for Business is a free service that is available for Windows Pro, Enterprise, Pro for Workstation, and Education editions. + +Windows Update for Business is a free service that is available for all premium versions {what does this mean? Windows 10, version 1903 is a *version*; Windows Pro is an *edition*} including Windows 10 Pro, Enterprise, Pro for Workstation, and Education editions. > **Looking for consumer information?** See [Windows Update: FAQ](https://support.microsoft.com/help/12373/windows-update-faq) -Windows Update for Business enables IT administrators to keep the Windows 10 devices in their organization always up to date with the latest security defenses and Windows features by directly connecting these systems to Windows Update service. You can use Group Policy or MDM solutions such as Microsoft Intune to configure the Windows Update for Business settings that control how and when Windows 10 devices are updated. +Windows Update for Business enables IT administrators to keep the Windows 10 devices in their organization always up to date with the latest security defenses and Windows features by directly connecting these systems to Windows Update service. You can use Group Policy or Mobile Device Management (MDM) solutions such as Microsoft Intune to configure the Windows Update for Business settings that control how and when Windows 10 devices are updated. -Specifically, Windows Update for Business allows for control over update offering and experience to allow for reliability and performance testing on a subset of systems before rolling out updates across the organization as well as a positive update experience for those within your organization. +Specifically, Windows Update for Business allows for control over update offerings and experiences to allow for reliability and performance testing on a subset of devices before deploying updates across the organization as well as a positive update experience for those in your organization. + +## What can I do with Windows Update for Business + +Windows Update for Business enables commercial customers {not sure this is well defined... Do you mean *enterprise* customers?} to manage which Windows Updates are received when as well as the experience a device has when it receives them. + +### Manage deployment of Windows Updates +By using Windows Update for Business, you can control which types of Windows Updates are offered to devices in your ecosystem, when updates are applied, and deployment to devices in your organization in waves. + +### Manage which updates are offered +Windows Update for Business enables an IT administrator to receive and manage a variety of different types of Windows Updates. + +## Types of updates managed by Windows Update for Business + +Windows Update for Business provides management policies for several types of updates to Windows 10 devices: + +- **Feature updates:** Previously referred to as "upgrades," feature updates contain not only security and quality revisions, but also significant feature additions and changes. Feature updates are released semi-annually in the fall and in the spring. +- **Quality updates:** These are traditional operating system updates, typically released on the second Tuesday of each month (though they can be released at any time). These include security, critical, and driver updates. Windows Update for Business also treats non-Windows updates (such as those for Microsoft Office or Visual Studio) as quality updates. These non-Windows Updates are known as "Microsoft updates" and you can set devices to receive such updates (or not) along with their Windows updates. +- **Driver updates:** These are non-Microsoft drivers that are applicable to your devices. Driver updates are on by default, but you can use Windows Update for Business policies to turn them off if you prefer. +- **Microsoft product updates**: These are updates for other Microsoft products, such as Office. Product updates are off by default. You can turn them on by using Windows Update for Business policies. + + + + + +{ORIGINAL CONTENT BELOW THIS LINE; PRESERVING FOR REFERENCE------------------------------------------------------------------------------} >[!NOTE] > To use Windows Update for Business, you must allow devices to access the Windows Update service. diff --git a/windows/deployment/update/waas-wufb-end-user.md b/windows/deployment/update/waas-wufb-end-user.md new file mode 100644 index 0000000000..e2301e6eed --- /dev/null +++ b/windows/deployment/update/waas-wufb-end-user.md @@ -0,0 +1,28 @@ +--- +title: Manage the end-user experience with updates +ms.reviewer: +manager: laurawi +description: Windows Update for Business lets you manage when devices received updates from Windows Update. +ms.prod: w10 +ms.mktglfcycl: manage +author: jaimeo +ms.localizationpriority: medium +ms.author: jaimeo +ms.topic: article +--- + +# Manage the end-user experience + +Windows Update for Business provides controls to help meet your organization’s security standards as well as provide a great end-user experience. You can do this by setting automatic updates to occur at times that work well for those in your organization, setting deadlines for quality and feature updates, etc {if we could list a third thing instead of "etc." it would read better}. For the best experience, it is usually better to employ fewer controls. {are we trying to say "set as few of these as possible"?} + +## Recommended settings for the end-user experience + +Features such as smart busy check, ensuring that we don’t update when the user is logged on, and configurable active hours help keep devices secure while preserving a great user experience. Follow these steps to take advantage of these features: {not sure I'm really understanding these steps--given the intro, I'd expect to see more specific steps. Some of the "steps" seem to be settings, but one is an action?} + +1. Automatically download, install, and restart (default if no restart policies are configured or enabled) +2. Use the default notifications +3. Set update deadlines + +## Set Deadlines + +The compliance deadline policy {keep the topic we already have on this (https://docs.microsoft.com/en-us/windows/deployment/update/wufb-compliancedeadlines) and link to it from here maybe?} released in June 2019 enables the IT admin to set separate deadlines and grace periods for feature and quality updates. This policy enables you to specify the number of days after an update is published by which a device must install the update. The policy also includes a configurable grace period that specifies the number of days from when the update is installed on the device to when the device is forced to restart. This is extremely beneficial in a vacation scenario as it allows, for example, users who have been away to have a bit of time before being forced to restart devices when they return from vacation. diff --git a/windows/deployment/update/waas-wufb-when.md b/windows/deployment/update/waas-wufb-when.md new file mode 100644 index 0000000000..9fdbb7e266 --- /dev/null +++ b/windows/deployment/update/waas-wufb-when.md @@ -0,0 +1,57 @@ +--- +title: Manage when Windows Update for Business updates are offered +ms.reviewer: +manager: laurawi +description: Windows Update for Business lets you manage when devices received updates from Windows Update. +ms.prod: w10 +ms.mktglfcycl: manage +author: jaimeo +ms.localizationpriority: medium +ms.author: jaimeo +ms.topic: article +--- + +# Manage when updates are offered + +By grouping devices into different deployment groups, you can control the deployment of updates in waves by setting up different branch readiness levels and update deferral policies for each group. All updates from Windows Update include built-in compatibility checks to prevent against a poor update experience for your devices as well as a check to prevent repeated rollbacks. + +## Enroll in a pre-release branch + +You control which release channel for feature updates by setting the branch readiness level. Today, you can only select pre-release branches for feature updates. + +Currently there are four branch readiness levels: + +- Windows Insider Program for Business (for pre-release updates) +- Windows Insider Fast +- Windows Insider Slow +- Windows Insider Release Preview {isn't this also pre-release by definition?} +- Semi-annual Channel + + +> [!NOTE] +> Prior to Windows 10, version 1903, there were two channels for released updates: Semi-annual Channel and Semi-annual Channel (Targeted). Starting with Windows 10, version 1903 there is only the one release channel: Semi-annual Channel. + +You can set the branch readiness level by using the **Select when Preview Builds and Feature Updates are Received** policy. In order to use this to manage pre-release builds, first enable preview builds by using the **Manage preview Builds** policy. + +## Defer an update + +A Windows Update for Business administrator {is this a formal role name?} can defer the installation of both feature and quality updates on devices within a bounded range of time from when those updates are first made available on the Windows Update service. You can use this deferral to allow time to validate deployments before they are installed on devices. Deferrals work by allowing you to specify the number of days after an update is released before it is offered to a device. For example, if you set a feature update deferral period of 365 days, the device will not install a feature update that has been released for less than 365 days. To defer feature updates use the **Select when Preview Builds and Feature Updates are Received** policy. The maximum deferral period differs by the type of update. Certain updates cannot be deferred. {can we give any examples of those?} + + +|Update type |Maximum deferral | +|---------|---------| +|Feature updates | 365 days | +|Quality updates | 30 days | +|Non-deferrable updates | none | + +All deferral days are calculated from the date a release is offered in the Semi-annual Channel. See [Windows Release Information](https://docs.microsoft.com/windows/release-information/) for these dates. + +{Example: Using deferrals to deploy in waves + [Insert graphic with the deferrals set to different values showing a feature update rollout)} + +## Pause an update + +If you discover a problem while deploying a feature or quality update, the IT administrator can pause the update for 35 days from a specified start date to prevent other devices from installing it until the issue is mitigated. +If you pause a feature update, quality updates are still offered to devices to ensure they stay secure. The pause period for both feature and quality updates is calculated from a start date that you set. + + From bf38c6567ff9bef3bf409afffd41fb986e6bda01 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 21 Apr 2020 09:48:14 -0700 Subject: [PATCH 094/393] remove index2 --- windows/deployment/index2.yml | 41 ----------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 windows/deployment/index2.yml diff --git a/windows/deployment/index2.yml b/windows/deployment/index2.yml deleted file mode 100644 index f60c6cd9be..0000000000 --- a/windows/deployment/index2.yml +++ /dev/null @@ -1,41 +0,0 @@ -### YamlMime:Hub - -title: Sample page -summary: Summary - -metadata: - title: Sample page - description: Example hub page - ms.service: help - ms.topic: hub-page - author: greg-lindsay - ms.author: greglin - ms.date: 4/9/2020 - -additionalContent: - - sections: - - items: - # Card - - title: Item 1 - summary: Summary 1 - url: https://www.microsoft.com - # Card - - title: Item 2 - summary: Summary 2 - url: https://www.microsoft.com - # Card - - title: Item 3 - summary: Summary 3 - url: https://www.microsoft.com - # Card - - title: Item 4 - summary: Summary 4 - url: https://www.microsoft.com - footer: " - - -
Current status as of January 21, 2020:
Windows 10, version 1909 is available for any user on a recent version of Windows 10 who manually selects “Check for updates” via Windows Update. The recommended servicing status is Semi-Annual Channel.
 
We are starting the next phase in our controlled approach to automatically initiate a feature update for an increased number of devices running the October 2018 Update (Windows 10, version 1809) Home and Pro editions, keeping those devices supported and receiving the monthly updates that are critical to device security and ecosystem health. Our rollout process starts several months in advance of the end of service date to provide adequate time for a smooth update process.

For information on how users running Windows 10, version 1903 can update to Windows 10, version 1909 in a new, streamlined way, see this post.
 
Note follow @WindowsUpdate on Twitter to find out when new content is published to the release information dashboard.
-
- - " From ca5bb40238ebd10d4342c2a96b6e22a1290b722b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 21 Apr 2020 13:56:48 -0700 Subject: [PATCH 095/393] changes --- windows/deployment/TOC.yml | 7 ++++--- windows/deployment/{ => get-started}/deploy-whats-new.md | 0 2 files changed, 4 insertions(+), 3 deletions(-) rename windows/deployment/{ => get-started}/deploy-whats-new.md (100%) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 7ef810630d..9aa0afe749 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -3,10 +3,9 @@ items: - name: Get started items: - - name: Learn about Windows 10 (new) - href: file1.md - - name: What's new in Windows 10 deployment + - name: Learn about Windows 10 href: file1.md + - name: Windows 10 upgrade paths href: file1.md - name: Windows 10 edition upgrade @@ -15,6 +14,8 @@ href: file1.md - name: Deployment process posters href: file1.md + - name: What's new in Windows 10 deployment + href: file1.md - name: Windows as a service items: - name: Recommended calendar of operations (new) diff --git a/windows/deployment/deploy-whats-new.md b/windows/deployment/get-started/deploy-whats-new.md similarity index 100% rename from windows/deployment/deploy-whats-new.md rename to windows/deployment/get-started/deploy-whats-new.md From f41488c81d4248883a8ab62088b991d865502245 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 21 Apr 2020 16:35:57 -0700 Subject: [PATCH 096/393] lots of changes --- windows/deployment/TOC.yml | 110 ++++++++++-------- .../{get-started => }/deploy-whats-new.md | 0 2 files changed, 59 insertions(+), 51 deletions(-) rename windows/deployment/{get-started => }/deploy-whats-new.md (100%) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 9aa0afe749..1b6fcc45ff 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -5,34 +5,77 @@ items: - name: Learn about Windows 10 href: file1.md - - - name: Windows 10 upgrade paths + - name: Windows 10 deployment scenarios href: file1.md - - name: Windows 10 edition upgrade + - name: Windows update fundamentals href: file1.md - - name: Deployment tools and methods + - name: What is Windows as a service? href: file1.md - - name: Deployment process posters + - name: Types of Windows updates href: file1.md - - name: What's new in Windows 10 deployment + - name: Servicing Windows 10 operating systems href: file1.md - - name: Windows as a service - items: - - name: Recommended calendar of operations (new) - href: file1.md - name: Deployment test lab items: - - name: Windows 10 deployment test lab + - name: Demonstrate Autopilot deployment on a VM + href: file1.md + - name: Deploy Windows 10 in a test lab href: file1.md - name: Deploy Windows 10 in a test lab using MDT href: file1.md - name: Deploy Windows 10 in a test lab using Configuration Manager + href: file1.md + + - name: Plan + items: + - name: Plan your Windows 10 deployment + items: + - name: Windows 10 upgrade paths + href: file1.md + - name: Windows 10 edition upgrade + href: file1.md + - name: Windows 10 compatibility + href: file1.md + - name: Windows 10 deployment considerations + href: file1.md + - name: Windows 10 volume license media + href: file1.md + - name: Plan for volume activation + href: file1.md + - name: Features removed or planned for replacement + items: + - name: Windows 10 features lifecycle + href: file1.md + - name: Features we're no longer developing + href: file1.md + - name: Features we removed + href: file1.md + - name: Plan your update strategy + items: + - name: Plan cloud management + items: + - name: Designate rings, channels, and policies + href: file1.md + - name: Chooose a delivery optimization strategy + href: file1.md + - name: Choose a monitoring approach + href: file1.md + - name: Assess apps (new) + items: + - name: With Desktop Analytics + href: file1.md + - name: By other means (new) + href: file1.md + - name: Other prep activities (new) + href: file1.md + - name: Plan image-based management href: file1.md - name: Prepare items: - name: Prepare for Windows 10 deployment items: + - name: Windows 10 compatibility href: file1.md - name: Windows 10 infrastructure requirements @@ -68,51 +111,16 @@ - name: Plan image-based management href: file1.md - - name: Plan - items: - - name: Plan your Windows 10 deployment - items: - - name: Windows 10 compatibility - href: file1.md - - name: Windows 10 infrastructure requirements - href: file1.md - - name: Windows 10 volume license media - href: file1.md - - name: Plan for volume activation - href: file1.md - - name: Features removed or planned for replacement - items: - - name: Windows 10 features lifecycle - href: file1.md - - name: Features we're no longer developing - href: file1.md - - name: Features we removed - href: file1.md - - name: Plan your update strategy - items: - - name: Plan cloud management - items: - - name: Designate rings, channels, and policies - href: file1.md - - name: Chooose a delivery optimization strategy - href: file1.md - - name: Choose a monitoring approach - href: file1.md - - name: Assess apps (new) - items: - - name: With Desktop Analytics - href: file1.md - - name: By other means (new) - href: file1.md - - name: Other prep activities (new) - href: file1.md - - name: Plan image-based management - href: file1.md + - name: Deploy items: - name: Deploy Windows 10 items: + - name: What's new in Windows 10 deployment + href: file1.md + - name: Deployment process posters + href: file1.md - name: Deploy Windows 10 with Autopilot items: - name: Windows Autopilot overview diff --git a/windows/deployment/get-started/deploy-whats-new.md b/windows/deployment/deploy-whats-new.md similarity index 100% rename from windows/deployment/get-started/deploy-whats-new.md rename to windows/deployment/deploy-whats-new.md From 9ab74935c0de00d21add55abce9b6d572b8184dc Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 12:54:47 -0700 Subject: [PATCH 097/393] toc changes --- windows/deployment/TOC.yml | 127 +++++++++++++------------------------ 1 file changed, 43 insertions(+), 84 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 1b6fcc45ff..7cb9f1934b 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -5,110 +5,69 @@ items: - name: Learn about Windows 10 href: file1.md - - name: Windows 10 deployment scenarios + - name: What is Windows as a service? href: file1.md - name: Windows update fundamentals href: file1.md - - name: What is Windows as a service? - href: file1.md - name: Types of Windows updates href: file1.md - name: Servicing Windows 10 operating systems href: file1.md - - name: Deployment test lab + - name: Windows 10 deployment scenarios + href: file1.md + - name: Deployment test labs items: - name: Demonstrate Autopilot deployment on a VM href: file1.md - - name: Deploy Windows 10 in a test lab - href: file1.md - - name: Deploy Windows 10 in a test lab using MDT - href: file1.md - - name: Deploy Windows 10 in a test lab using Configuration Manager - href: file1.md + - name: Deploy Windows 10 with MDT and Configuration Manager + items: + - name: 'Step by step guide: Configure a test lab to deploy Windows 10' + href: file1.md + - name: Deploy Windows 10 in a test lab using MDT + href: file1.md + - name: Deploy Windows 10 in a test lab using Configuration Manager + href: file1.md - name: Plan items: - - name: Plan your Windows 10 deployment + - name: Plan for Windows 10 deployment + href: file1.md + - name: Windows 10 deployment considerations + href: file1.md + - name: Create a deployment plan + href: file1.md + - name: Evaluate infrastructure and tools + href: file1.md + - name: Determine application readiness + href: file1.md + - name: Define your servicing strategy + href: file1.md + - name: Plan for volume activation + href: file1.md + - name: Features removed or planned for replacement items: - - name: Windows 10 upgrade paths + - name: Windows 10 features lifecycle href: file1.md - - name: Windows 10 edition upgrade - href: file1.md - - name: Windows 10 compatibility - href: file1.md - - name: Windows 10 deployment considerations - href: file1.md - - name: Windows 10 volume license media - href: file1.md - - name: Plan for volume activation - href: file1.md - - name: Features removed or planned for replacement - items: - - name: Windows 10 features lifecycle - href: file1.md - - name: Features we're no longer developing - href: file1.md - - name: Features we removed - href: file1.md - - name: Plan your update strategy - items: - - name: Plan cloud management - items: - - name: Designate rings, channels, and policies - href: file1.md - - name: Chooose a delivery optimization strategy - href: file1.md - - name: Choose a monitoring approach - href: file1.md - - name: Assess apps (new) - items: - - name: With Desktop Analytics - href: file1.md - - name: By other means (new) - href: file1.md - - name: Other prep activities (new) - href: file1.md - - name: Plan image-based management + - name: Features we're no longer developing href: file1.md + - name: Features we removed + href: file1.md - name: Prepare items: - - name: Prepare for Windows 10 deployment + - name: Prepare to deploy Windows 10 + href: file1.md + - name: Evaluate and update infrastructure + href: file1.md + - name: Evaluate and update deployment processes + href: file1.md + - name: Prepare deployment tools items: - - - name: Windows 10 compatibility - href: file1.md - - name: Windows 10 infrastructure requirements - href: file1.md - - name: Plan for volume activation - href: file1.md - - name: Features removed or planned for replacement - items: - - name: Windows 10 features lifecycle - href: file1.md - - name: Features we're no longer developing - href: file1.md - - name: Features we removed - href: file1.md - - name: Prepare your update strategy - items: - - name: Plan cloud management - items: - - name: Designate rings, channels, and policies - href: file1.md - - name: Chooose a delivery optimization strategy - href: file1.md - - name: Choose a monitoring approach - href: file1.md - - name: Assess apps (new) - items: - - name: With Desktop Analytics - href: file1.md - - name: By other means (new) - href: file1.md - - name: Other prep activities (new) - href: file1.md - - name: Plan image-based management + - name: Register devices for deployment with Windows Autopilot + href: file1.md + - name: Prepare for deployment with MDT + href: file1.md + - name: Prepare for deployment with Configuration Manager href: file1.md From ad01c6ed8b170faf845db97acfc0de3e8fd99861 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 13:40:14 -0700 Subject: [PATCH 098/393] some changes --- windows/deployment/TOC.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 7cb9f1934b..37e6fcf586 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,6 +1,8 @@ - name: Deploy and update Windows 10 href: index.yml items: + - name: What's new in Windows 10 deployment + href: file1.md - name: Get started items: - name: Learn about Windows 10 @@ -70,14 +72,10 @@ - name: Prepare for deployment with Configuration Manager href: file1.md - - - name: Deploy items: - name: Deploy Windows 10 items: - - name: What's new in Windows 10 deployment - href: file1.md - name: Deployment process posters href: file1.md - name: Deploy Windows 10 with Autopilot From 72de163720cff5b5c09671bb40a761e0466c0934 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 13:45:34 -0700 Subject: [PATCH 099/393] some changes --- windows/deployment/TOC.yml | 45 +++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 37e6fcf586..c608c81b7a 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -100,6 +100,29 @@ - name: Deploy updates with WSUS - name: Deploy updates with Group Policy + - name: Troubleshoot + items: + - name: Resolve upgrade errors + items: + - name: Resolve Windows 10 upgrade errors + href: file1.md + - name: Quick fixes + href: file1.md + - name: SetupDiag + href: file1.md + - name: Troubleshooting upgrade errors + href: file1.md + - name: Windows error reporting + href: file1.md + - name: Upgrade error codes + href: file1.md + - name: Log files + href: file1.md + - name: Resolution procedures + href: file1.md + - name: Submit Windows 10 upgrade errors + href: file1.md + - name: Reference items: - name: Windows 10 volume license media @@ -128,28 +151,6 @@ href: file1.md - name: Deploy Windows 10 Enterprise licenses href: file1.md - - name: Resolve upgrade errors - items: - - name: Resolve Windows 10 upgrade errors - href: file1.md - - name: Quick fixes - href: file1.md - - name: SetupDiag - href: file1.md - - name: Troubleshooting upgrade errors - href: file1.md - - name: Windows error reporting - href: file1.md - - name: Upgrade error codes - href: file1.md - - name: Log files - href: file1.md - - name: Resolution procedures - href: file1.md - - name: Submit Windows 10 upgrade errors - href: file1.md - - - name: Windows 10 deployment tools items: - name: Windows 10 deployment scenarios and tools From bd2e0d2b6673efd29386cf302d3fdb5d155163f5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 13:53:52 -0700 Subject: [PATCH 100/393] change --- windows/deployment/TOC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index c608c81b7a..9dd845c0d0 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -1,10 +1,10 @@ - name: Deploy and update Windows 10 href: index.yml items: - - name: What's new in Windows 10 deployment - href: file1.md - name: Get started items: + - name: What's new in Windows 10 deployment + href: file1.md - name: Learn about Windows 10 href: file1.md - name: What is Windows as a service? From bf620ebc451cf2b686fdb473bbed46c805d5cf83 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 13:55:16 -0700 Subject: [PATCH 101/393] change --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 9dd845c0d0..eda2cf8aab 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -17,7 +17,7 @@ href: file1.md - name: Windows 10 deployment scenarios href: file1.md - - name: Deployment test labs + - name: Proof of concept items: - name: Demonstrate Autopilot deployment on a VM href: file1.md From 42c281b868d9f18d3fa298df1097572466206546 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 15:31:26 -0700 Subject: [PATCH 102/393] change --- windows/deployment/TOC.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index eda2cf8aab..d0cdb62ddf 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -3,11 +3,11 @@ items: - name: Get started items: - - name: What's new in Windows 10 deployment + - name: What's new in Windows 10 deployment href: file1.md - - name: Learn about Windows 10 + - name: *Learn about Windows 10 href: file1.md - - name: What is Windows as a service? + - name: What is Windows as a service? href: file1.md - name: Windows update fundamentals href: file1.md From 9fb4935dacd01c759a4ad741cc68c897fe327fcf Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 22 Apr 2020 15:36:22 -0700 Subject: [PATCH 103/393] change --- windows/deployment/TOC.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index d0cdb62ddf..4af55491fd 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -3,11 +3,11 @@ items: - name: Get started items: - - name: What's new in Windows 10 deployment + - name: What's new in Windows 10 deployment href: file1.md - - name: *Learn about Windows 10 + - name: Learn about Windows 10 href: file1.md - - name: What is Windows as a service? + - name: What is Windows as a service? href: file1.md - name: Windows update fundamentals href: file1.md @@ -99,10 +99,7 @@ - name: Deploy updates with Intune - name: Deploy updates with WSUS - name: Deploy updates with Group Policy - - - name: Troubleshoot - items: - - name: Resolve upgrade errors + - name: Troubleshoot items: - name: Resolve Windows 10 upgrade errors href: file1.md From e25231e6ffc23ef6109b9a9bd5e791902c95f6d6 Mon Sep 17 00:00:00 2001 From: illfated Date: Sat, 25 Apr 2020 19:59:46 +0200 Subject: [PATCH 104/393] WDDG & WDCG HW readiness tool: typo & Arch Locale Description: As pointed out in ticket #5972 (closed) and #6574 (my ticket), the script on this page stops working in localized versions of Windows (Dutch mentioned in ticket #5972 specifically). This is caused by the difference in how the strings "64-bit" and "32-bit" occur in non-English localized versions of Windows. Thanks to RvdHout (Ruud van den Hout) for suggesting the regex solution. Changes proposed: - $OSArch.Contains("64-bit") -> $OSArch -match ("64\-?\s?bits?") - $OSArch.Contains("32-bit") -> $OSArch -match ("32\-?\s?bits?") - Readiness Tool Version updated to 3.7.2 (thanks to RvdHout) - Typo "archictecture" corrected to architecture (2 occurrences) - Remove all redundant end-of-line (EOL) whitespace (blanks) - Reduce number of blank lines before the signature block, from 3 to 2 - Add back a blank line between the metadata section and the page title Ticket closure or reference: Closes #6574 Ref. #5690 #5723 #6054 #6055 Ref. #5972 (closed) --- .../credential-guard/dg-readiness-tool.md | 159 +++++++++--------- 1 file changed, 80 insertions(+), 79 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md index 6c12907b28..a537e86251 100644 --- a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md +++ b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md @@ -12,13 +12,15 @@ ms.author: stsyfuhs manager: dansimp ms.collection: M365-identity-device-management ms.topic: article -ms.reviewer: +ms.reviewer: --- + # Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool ```powershell -# Script to find out if machine is Device Guard compliant -# requires driver verifier on system. +# Script to find out if a machine is Device Guard compliant. +# The script requires a driver verifier present on the system. + param([switch]$Capable, [switch]$Ready, [switch]$Enable, [switch]$Disable, $SIPolicyPath, [switch]$AutoReboot, [switch]$DG, [switch]$CG, [switch]$HVCI, [switch]$HLK, [switch]$Clear, [switch]$ResetVerifier) $path = "C:\DGLogs\" @@ -36,7 +38,7 @@ $DGVerifySuccess = New-Object System.Text.StringBuilder $Sys32Path = "$env:windir\system32" $DriverPath = "$env:windir\system32\drivers" -#generated by certutil -encode +#generated by certutil -encode $SIPolicy_Encoded = "BQAAAA43RKLJRAZMtVH2AW5WMHbk9wcuTBkgTbfJb0SmxaI0BACNkAgAAAAAAAAA HQAAAAIAAAAAAAAAAAAKAEAAAAAMAAAAAQorBgEEAYI3CgMGDAAAAAEKKwYBBAGC NwoDBQwAAAABCisGAQQBgjc9BAEMAAAAAQorBgEEAYI3PQUBDAAAAAEKKwYBBAGC @@ -114,7 +116,7 @@ function LogAndConsoleSuccess($message) function LogAndConsoleError($message) { - Write-Host $message -foregroundcolor "Red" + Write-Host $message -foregroundcolor "Red" Log $message } @@ -132,16 +134,16 @@ function IsExempted([System.IO.FileInfo] $item) Log $cert.ToString() return 0 } -} +} function CheckExemption($_ModName) { $mod1 = Get-ChildItem $Sys32Path $_ModName $mod2 = Get-ChildItem $DriverPath $_ModName if($mod1) - { + { Log "NonDriver module" + $mod1.FullName - return IsExempted($mod1) + return IsExempted($mod1) } elseif($mod2) { @@ -184,15 +186,15 @@ function CheckFailedDriver($_ModName, $CIStats) } if($Result.Contains("PASS")) { - $CompatibleModules.AppendLine($_ModName.Trim()) | Out-Null + $CompatibleModules.AppendLine($_ModName.Trim()) | Out-Null } elseif($FailingStat.Trim().Contains("execute-write")) { - $FailingExecuteWriteCheck.AppendLine("Module: "+ $_ModName.Trim() + "`r`n`tReason: " + $FailingStat.Trim() ) | Out-Null + $FailingExecuteWriteCheck.AppendLine("Module: "+ $_ModName.Trim() + "`r`n`tReason: " + $FailingStat.Trim() ) | Out-Null } else { - $FailingModules.AppendLine("Module: "+ $_ModName.Trim() + "`r`n`tReason: " + $FailingStat.Trim() ) | Out-Null + $FailingModules.AppendLine("Module: "+ $_ModName.Trim() + "`r`n`tReason: " + $FailingStat.Trim() ) | Out-Null } Log "Result: " $Result } @@ -204,7 +206,7 @@ function ListCIStats($_ModName, $str1) { Log "String := " $str1 Log "Warning! CI Stats are missing for " $_ModName - return + return } $temp_str1 = $str1.Substring($i1) $CIStats = $temp_str1.Substring(0).Trim() @@ -245,7 +247,7 @@ function ListDrivers($str) } $DriverScanCompletedMessage = "Completed scan. List of Compatible Modules can be found at " + $LogFile - LogAndConsole $DriverScanCompletedMessage + LogAndConsole $DriverScanCompletedMessage if($FailingModules.Length -gt 0 -or $FailingExecuteWriteCheck.Length -gt 0 ) { @@ -254,7 +256,7 @@ function ListDrivers($str) { LogAndConsoleError $WarningMessage } - else + else { LogAndConsoleWarning $WarningMessage } @@ -321,7 +323,7 @@ function ListSummary() } else { - LogAndConsoleSuccess "Machine is Device Guard / Credential Guard Ready.`n" + LogAndConsoleSuccess "Machine is Device Guard / Credential Guard Ready.`n" if(!$HVCI -and !$DG) { ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Capabilities\" /v "CG_Capable" /t REG_DWORD /d 2 /f ' @@ -336,56 +338,56 @@ function ListSummary() function Instantiate-Kernel32 { - try + try { Add-Type -TypeDefinition @" using System; using System.Diagnostics; using System.Runtime.InteropServices; - + public static class Kernel32 { [DllImport("kernel32", SetLastError=true, CharSet = CharSet.Ansi)] public static extern IntPtr LoadLibrary( [MarshalAs(UnmanagedType.LPStr)]string lpFileName); - + [DllImport("kernel32", CharSet=CharSet.Ansi, ExactSpelling=true, SetLastError=true)] public static extern IntPtr GetProcAddress( IntPtr hModule, string procName); } - + "@ } catch { - Log $_.Exception.Message + Log $_.Exception.Message LogAndConsole "Instantiate-Kernel32 failed" } } function Instantiate-HSTI { - try + try { Add-Type -TypeDefinition @" using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Net; - + public static class HstiTest3 { [DllImport("hstitest.dll", CharSet = CharSet.Unicode)] - public static extern int QueryHSTIdetails( - ref HstiOverallError pHstiOverallError, + public static extern int QueryHSTIdetails( + ref HstiOverallError pHstiOverallError, [In, Out] HstiProviderErrorDuple[] pHstiProviderErrors, ref uint pHstiProviderErrorsCount, byte[] hstiPlatformSecurityBlob, ref uint pHstiPlatformSecurityBlobBytes); [DllImport("hstitest.dll", CharSet = CharSet.Unicode)] - public static extern int QueryHSTI(ref bool Pass); - + public static extern int QueryHSTI(ref bool Pass); + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct HstiProviderErrorDuple { @@ -397,7 +399,7 @@ function Instantiate-HSTI { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4096)] internal string ErrorString; } - + [FlagsAttribute] public enum HstiProviderErrors : int { @@ -425,8 +427,8 @@ function Instantiate-HSTI { BlobVersionMismatch = 0x00000080, PlatformSecurityVersionMismatch = 0x00000100, ProviderError = 0x00000200 - } - + } + } "@ @@ -434,9 +436,9 @@ function Instantiate-HSTI { $FuncHandle = [Kernel32]::GetProcAddress($LibHandle, "QueryHSTIdetails") $FuncHandle2 = [Kernel32]::GetProcAddress($LibHandle, "QueryHSTI") - if ([System.IntPtr]::Size -eq 8) + if ([System.IntPtr]::Size -eq 8) { - #assuming 64 bit + #assuming 64 bit Log "`nKernel32::LoadLibrary 64bit --> 0x$("{0:X16}" -f $LibHandle.ToInt64())" Log "HstiTest2::QueryHSTIdetails 64bit --> 0x$("{0:X16}" -f $FuncHandle.ToInt64())" } @@ -450,7 +452,7 @@ function Instantiate-HSTI { $hr = [HstiTest3]::QueryHSTIdetails([ref] $overallError, $null, [ref] $providerErrorDupleCount, $null, [ref] $blobByteSize) [byte[]]$blob = New-Object byte[] $blobByteSize - [HstiTest3+HstiProviderErrorDuple[]]$providerErrors = New-Object HstiTest3+HstiProviderErrorDuple[] $providerErrorDupleCount + [HstiTest3+HstiProviderErrorDuple[]]$providerErrors = New-Object HstiTest3+HstiProviderErrorDuple[] $providerErrorDupleCount $hr = [HstiTest3]::QueryHSTIdetails([ref] $overallError, $providerErrors, [ref] $providerErrorDupleCount, $blob, [ref] $blobByteSize) $string = $null $blob | foreach { $string = $string + $_.ToString("X2")+"," } @@ -479,7 +481,7 @@ function Instantiate-HSTI { LogAndConsoleError $ErrorMessage $DGVerifyCrit.AppendLine($ErrorMessage) | Out-Null } - else + else { LogAndConsoleWarning $ErrorMessage $DGVerifyWarn.AppendLine("HSTI is absent") | Out-Null @@ -487,9 +489,9 @@ function Instantiate-HSTI { } } - catch + catch { - LogAndConsoleError $_.Exception.Message + LogAndConsoleError $_.Exception.Message LogAndConsoleError "Instantiate-HSTI failed" } } @@ -613,10 +615,10 @@ function ExecuteCommandAndLog($_cmd) $CmdOutput = Invoke-Expression $_cmd | Out-String Log "Output: $CmdOutput" } - catch + catch { Log "Exception while exectuing $_cmd" - Log $_.Exception.Message + Log $_.Exception.Message } @@ -676,7 +678,7 @@ function CheckDriverCompat verifier.exe /flags 0x02000000 /all /log.code_integrity LogAndConsole "Enabling Driver Verifier and Rebooting system" - Log $verifier_state + Log $verifier_state LogAndConsole "Please re-execute this script after reboot...." if($AutoReboot) { @@ -692,7 +694,7 @@ function CheckDriverCompat else { LogAndConsole "Driver verifier already enabled" - Log $verifier_state + Log $verifier_state ListDrivers($verifier_state.Trim().ToLowerInvariant()) } } @@ -700,23 +702,23 @@ function IsDomainController { $_isDC = 0 $CompConfig = Get-WmiObject Win32_ComputerSystem - foreach ($ObjItem in $CompConfig) + foreach ($ObjItem in $CompConfig) { $Role = $ObjItem.DomainRole Log "Role=$Role" - Switch ($Role) + Switch ($Role) { 0 { Log "Standalone Workstation" } 1 { Log "Member Workstation" } 2 { Log "Standalone Server" } 3 { Log "Member Server" } - 4 + 4 { Log "Backup Domain Controller" $_isDC=1 break } - 5 + 5 { Log "Primary Domain Controller" $_isDC=1 @@ -735,7 +737,7 @@ function CheckOSSKU Log "OSNAME:$osname" $SKUarray = @("Enterprise", "Education", "IoT", "Windows Server", "Pro", "Home") $HLKAllowed = @("microsoft windows 10 pro") - foreach ($SKUent in $SKUarray) + foreach ($SKUent in $SKUarray) { if($osname.ToString().Contains($SKUent.ToLower())) { @@ -762,7 +764,7 @@ function CheckOSSKU } ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Capabilities\" /v "OSSKU" /t REG_DWORD /d 2 /f ' } - else + else { LogAndConsoleError "This PC edition is Unsupported for Device Guard" $DGVerifyCrit.AppendLine("OS SKU unsupported") | Out-Null @@ -773,14 +775,14 @@ function CheckOSSKU function CheckOSArchitecture { $OSArch = $(gwmi win32_operatingsystem).OSArchitecture.ToLower() - Log $OSArch - if($OSArch.Contains("64-bit")) + Log $OSArch + if($OSArch -match ("64\-?\s?bits?")) { - LogAndConsoleSuccess "64 bit archictecture" + LogAndConsoleSuccess "64 bit architecture" } - elseif($OSArch.Contains("32-bit")) + elseif($OSArch -match ("32\-?\s?bits?")) { - LogAndConsoleError "32 bit archictecture" + LogAndConsoleError "32 bit architecture" $DGVerifyCrit.AppendLine("32 Bit OS, OS Architecture failure.") | Out-Null } else @@ -878,7 +880,7 @@ function CheckTPM function CheckSecureMOR { $isSecureMOR = CheckDGFeatures(4) - Log "isSecureMOR= $isSecureMOR " + Log "isSecureMOR= $isSecureMOR " if($isSecureMOR -eq 1) { LogAndConsoleSuccess "Secure MOR is available" @@ -904,7 +906,7 @@ function CheckSecureMOR function CheckNXProtection { $isNXProtected = CheckDGFeatures(5) - Log "isNXProtected= $isNXProtected " + Log "isNXProtected= $isNXProtected " if($isNXProtected -eq 1) { LogAndConsoleSuccess "NX Protector is available" @@ -921,7 +923,7 @@ function CheckNXProtection function CheckSMMProtection { $isSMMMitigated = CheckDGFeatures(6) - Log "isSMMMitigated= $isSMMMitigated " + Log "isSMMMitigated= $isSMMMitigated " if($isSMMMitigated -eq 1) { LogAndConsoleSuccess "SMM Mitigation is available" @@ -938,15 +940,15 @@ function CheckSMMProtection function CheckHSTI { LogAndConsole "Copying HSTITest.dll" - try + try { $HSTITest_Decoded = [System.Convert]::FromBase64String($HSTITest_Encoded) [System.IO.File]::WriteAllBytes("$env:windir\System32\hstitest.dll",$HSTITest_Decoded) } - catch + catch { - LogAndConsole $_.Exception.Message + LogAndConsole $_.Exception.Message LogAndConsole "Copying and loading HSTITest.dll failed" } @@ -959,7 +961,7 @@ function PrintToolVersion LogAndConsole "" LogAndConsole "###########################################################################" LogAndConsole "" - LogAndConsole "Readiness Tool Version 3.7.1 Release. `nTool to check if your device is capable to run Device Guard and Credential Guard." + LogAndConsole "Readiness Tool Version 3.7.2 Release. `nTool to check if your device is capable to run Device Guard and Credential Guard." LogAndConsole "" LogAndConsole "###########################################################################" LogAndConsole "" @@ -1030,7 +1032,7 @@ if(!($Ready) -and !($Capable) -and !($Enable) -and !($Disable) -and !($Clear) -a } $user = [Security.Principal.WindowsIdentity]::GetCurrent(); -$TestForAdmin = (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) +$TestForAdmin = (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) if(!$TestForAdmin) { @@ -1065,7 +1067,7 @@ if($Ready) { Log "_CGState: $_CGState" PrintCGDetails $_CGState - + if($_CGState) { ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Capabilities\" /v "CG_Running" /t REG_DWORD /d 1 /f' @@ -1077,28 +1079,28 @@ if($Ready) } elseif($DG) { - Log "_HVCIState: $_HVCIState, _ConfigCIState: $_ConfigCIState" + Log "_HVCIState: $_HVCIState, _ConfigCIState: $_ConfigCIState" PrintHVCIDetails $_HVCIState - PrintConfigCIDetails $_ConfigCIState + PrintConfigCIDetails $_ConfigCIState if($_ConfigCIState -and $_HVCIState) { LogAndConsoleSuccess "HVCI, and Config-CI are enabled and running." - + ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Capabilities\" /v "DG_Running" /t REG_DWORD /d 1 /f' } else { LogAndConsoleWarning "Not all services are running." - + ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Capabilities\" /v "DG_Running" /t REG_DWORD /d 0 /f' } } - else + else { - Log "_CGState: $_CGState, _HVCIState: $_HVCIState, _ConfigCIState: $_ConfigCIState" - + Log "_CGState: $_CGState, _HVCIState: $_HVCIState, _ConfigCIState: $_ConfigCIState" + PrintCGDetails $_CGState PrintHVCIDetails $_HVCIState PrintConfigCIDetails $_ConfigCIState @@ -1147,7 +1149,7 @@ if($Enable) { ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f' } - else + else { ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f' ExecuteCommandAndLog 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f' @@ -1158,8 +1160,8 @@ if($Enable) { if(!$HVCI -and !$CG) { - if(!$SIPolicyPath) - { + if(!$SIPolicyPath) + { Log "Writing Decoded SIPolicy.p7b" $SIPolicy_Decoded = [System.Convert]::FromBase64String($SIPolicy_Encoded) [System.IO.File]::WriteAllBytes("$env:windir\System32\CodeIntegrity\SIPolicy.p7b",$SIPolicy_Decoded) @@ -1270,7 +1272,7 @@ if($Disable) } #set of commands to run SecConfig.efi to delete UEFI variables if were set in pre OS - #these steps can be performed even if the UEFI variables were not set - if not set it will lead to No-Op but this can be run in general always + #these steps can be performed even if the UEFI variables were not set - if not set it will lead to No-Op but this can be run in general always #this requires a reboot and accepting the prompt in the Pre-OS which is self explanatory in the message that is displayed in pre-OS $FreeDrive = ls function:[s-z]: -n | ?{ !(test-path $_) } | random Log "FreeDrive=$FreeDrive" @@ -1314,7 +1316,7 @@ if($Capable) } $_StepCount = 1 if(!$CG) - { + { LogAndConsole " ====================== Step $_StepCount Driver Compat ====================== " $_StepCount++ CheckDriverCompat @@ -1323,15 +1325,15 @@ if($Capable) LogAndConsole " ====================== Step $_StepCount Secure boot present ====================== " $_StepCount++ CheckSecureBootState - + if(!$HVCI -and !$DG -and !$CG) - { + { #check only if sub-options are absent LogAndConsole " ====================== Step $_StepCount MS UEFI HSTI tests ====================== " $_StepCount++ CheckHSTI } - + LogAndConsole " ====================== Step $_StepCount OS Architecture ====================== " $_StepCount++ CheckOSArchitecture @@ -1345,11 +1347,11 @@ if($Capable) CheckVirtualization if(!$HVCI -and !$DG) - { + { LogAndConsole " ====================== Step $_StepCount TPM version ====================== " $_StepCount++ CheckTPM - + LogAndConsole " ====================== Step $_StepCount Secure MOR ====================== " $_StepCount++ CheckSecureMOR @@ -1358,11 +1360,11 @@ if($Capable) LogAndConsole " ====================== Step $_StepCount NX Protector ====================== " $_StepCount++ CheckNXProtection - + LogAndConsole " ====================== Step $_StepCount SMM Mitigation ====================== " $_StepCount++ CheckSMMProtection - + LogAndConsole " ====================== End Check ====================== " LogAndConsole " ====================== Summary ====================== " @@ -1371,7 +1373,6 @@ if($Capable) } - # SIG # Begin signature block ## REPLACE # SIG # End signature block From 28d77f25f372c99b90d022d632c327d99da7d205 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Sun, 26 Apr 2020 16:22:25 -0700 Subject: [PATCH 105/393] at it again --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 4af55491fd..66269905fa 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,7 +13,7 @@ href: file1.md - name: Types of Windows updates href: file1.md - - name: Servicing Windows 10 operating systems + - name: Servicing the Windows 10 operating systems href: file1.md - name: Windows 10 deployment scenarios href: file1.md From e0f889bc8d4169f877d429a1716443cd429ad002 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 27 Apr 2020 09:58:49 -0700 Subject: [PATCH 106/393] at it again --- windows/deployment/TOC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 66269905fa..72abea01c0 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,11 +13,11 @@ href: file1.md - name: Types of Windows updates href: file1.md - - name: Servicing the Windows 10 operating systems + - name: Servicing the Windows 10 operating system href: file1.md - name: Windows 10 deployment scenarios href: file1.md - - name: Proof of concept + - name: Deployment proof of concept items: - name: Demonstrate Autopilot deployment on a VM href: file1.md From c8766851ce7050222dc6633946a66f50f7bd7127 Mon Sep 17 00:00:00 2001 From: illfated Date: Mon, 27 Apr 2020 23:04:09 +0200 Subject: [PATCH 107/393] Regex adjustment/improvement - Code cleanup by RvdHout - Supports at least Dutch & German OS --- .../identity-protection/credential-guard/dg-readiness-tool.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md index a537e86251..6727a09859 100644 --- a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md +++ b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md @@ -776,11 +776,11 @@ function CheckOSArchitecture { $OSArch = $(gwmi win32_operatingsystem).OSArchitecture.ToLower() Log $OSArch - if($OSArch -match ("64\-?\s?bits?")) + if($OSArch -match ("^64\-?\s?bit")) { LogAndConsoleSuccess "64 bit architecture" } - elseif($OSArch -match ("32\-?\s?bits?")) + elseif($OSArch -match ("^32\-?\s?bit")) { LogAndConsoleError "32 bit architecture" $DGVerifyCrit.AppendLine("32 Bit OS, OS Architecture failure.") | Out-Null From 6dd00100f98c4ca480f7d60c51b7108194dde04d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 12:31:26 -0700 Subject: [PATCH 108/393] test --- windows/deployment/TOC.md | 13 +++++++++++++ windows/deployment/{ => toctmpstorage}/TOC.yml | 0 2 files changed, 13 insertions(+) create mode 100644 windows/deployment/TOC.md rename windows/deployment/{ => toctmpstorage}/TOC.yml (100%) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md new file mode 100644 index 0000000000..5c9ee7dec2 --- /dev/null +++ b/windows/deployment/TOC.md @@ -0,0 +1,13 @@ +# Deploy and update Windows 10 + +## Get started +### [What's new in Windows 10 deployment](file1.md) +### text + +## Plan + +## Prepare + +## Deploy + +## Reference \ No newline at end of file diff --git a/windows/deployment/TOC.yml b/windows/deployment/toctmpstorage/TOC.yml similarity index 100% rename from windows/deployment/TOC.yml rename to windows/deployment/toctmpstorage/TOC.yml From d945e8fa93abb5d6d5bb0ca6143ff5699ecc6359 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 13:05:31 -0700 Subject: [PATCH 109/393] test --- windows/deployment/TOC.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 5c9ee7dec2..fb49cec595 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -2,12 +2,15 @@ ## Get started ### [What's new in Windows 10 deployment](file1.md) -### text +### test ## Plan +

A blue heading

## Prepare ## Deploy -## Reference \ No newline at end of file +## Reference + +

Test

\ No newline at end of file From 4555ebf0840bd4afea5616b26b9a5aa60e30ecd8 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 13:06:22 -0700 Subject: [PATCH 110/393] test --- windows/deployment/toctmpstorage/TOC.yml | 416 ----------------------- 1 file changed, 416 deletions(-) delete mode 100644 windows/deployment/toctmpstorage/TOC.yml diff --git a/windows/deployment/toctmpstorage/TOC.yml b/windows/deployment/toctmpstorage/TOC.yml deleted file mode 100644 index 72abea01c0..0000000000 --- a/windows/deployment/toctmpstorage/TOC.yml +++ /dev/null @@ -1,416 +0,0 @@ -- name: Deploy and update Windows 10 - href: index.yml - items: - - name: Get started - items: - - name: What's new in Windows 10 deployment - href: file1.md - - name: Learn about Windows 10 - href: file1.md - - name: What is Windows as a service? - href: file1.md - - name: Windows update fundamentals - href: file1.md - - name: Types of Windows updates - href: file1.md - - name: Servicing the Windows 10 operating system - href: file1.md - - name: Windows 10 deployment scenarios - href: file1.md - - name: Deployment proof of concept - items: - - name: Demonstrate Autopilot deployment on a VM - href: file1.md - - name: Deploy Windows 10 with MDT and Configuration Manager - items: - - name: 'Step by step guide: Configure a test lab to deploy Windows 10' - href: file1.md - - name: Deploy Windows 10 in a test lab using MDT - href: file1.md - - name: Deploy Windows 10 in a test lab using Configuration Manager - href: file1.md - - - name: Plan - items: - - name: Plan for Windows 10 deployment - href: file1.md - - name: Windows 10 deployment considerations - href: file1.md - - name: Create a deployment plan - href: file1.md - - name: Evaluate infrastructure and tools - href: file1.md - - name: Determine application readiness - href: file1.md - - name: Define your servicing strategy - href: file1.md - - name: Plan for volume activation - href: file1.md - - name: Features removed or planned for replacement - items: - - name: Windows 10 features lifecycle - href: file1.md - - name: Features we're no longer developing - href: file1.md - - name: Features we removed - href: file1.md - - - name: Prepare - items: - - name: Prepare to deploy Windows 10 - href: file1.md - - name: Evaluate and update infrastructure - href: file1.md - - name: Evaluate and update deployment processes - href: file1.md - - name: Prepare deployment tools - items: - - name: Register devices for deployment with Windows Autopilot - href: file1.md - - name: Prepare for deployment with MDT - href: file1.md - - name: Prepare for deployment with Configuration Manager - href: file1.md - - - name: Deploy - items: - - name: Deploy Windows 10 - items: - - name: Deployment process posters - href: file1.md - - name: Deploy Windows 10 with Autopilot - items: - - name: Windows Autopilot overview - - name: Deploy Windows 10 with Configuration Manager - items: - - name: Deploy to a new device - - name: Refresh a device - - name: Replace a device - - name: In-place upgrade - - name: Deploy Windows 10 with MDT - items: - - name: Deploy to a new device - - name: Refresh a device - - name: Replace a device - - name: In-place upgrade - - name: Deploy Windows 10 updates - items: - - name: Deploy updates with Configuration Manager - - name: Deploy updates with Intune - - name: Deploy updates with WSUS - - name: Deploy updates with Group Policy - - name: Troubleshoot - items: - - name: Resolve Windows 10 upgrade errors - href: file1.md - - name: Quick fixes - href: file1.md - - name: SetupDiag - href: file1.md - - name: Troubleshooting upgrade errors - href: file1.md - - name: Windows error reporting - href: file1.md - - name: Upgrade error codes - href: file1.md - - name: Log files - href: file1.md - - name: Resolution procedures - href: file1.md - - name: Submit Windows 10 upgrade errors - href: file1.md - - - name: Reference - items: - - name: Windows 10 volume license media - href: file1.md - - name: Deploy Windows 10 with Microsoft 365 - href: file1.md - - name: How Windows Update works (new) - href: file1.md - - name: Additional Windows Update settings - href: file1.md - - name: Delivery Optimization reference - href: file1.md - - name: Windows 10 in S mode - items: - - name: Windows 10 in S mode overview - href: file1.md - - name: Switch to Windows 10 Pro/Enterprise from S mode - href: file1.md - - name: Subscription Activation - items: - - name: Windows 10 Subscription Activation - href: file1.md - - name: Windows 10 Enterprise E3 in CSP - href: file1.md - - name: Configure VDA for Subscription Activation - href: file1.md - - name: Deploy Windows 10 Enterprise licenses - href: file1.md - - name: Windows 10 deployment tools - items: - - name: Windows 10 deployment scenarios and tools - items: - - name: Convert MBR partition to GPT - - name: Configure a PXE server to load Windows PE - - name: Windows ADK for Windows 10 scenarios for IT Pros - - name: Windows To Go - items: - - name: Deploy Windows To Go in your organization - href: file1.md - - name: Feature overview - items: - - name: "Windows To Go: feature overview" - href: file1.md - - name: Best practice recommendations for Windows To Go - href: file1.md - - name: Deployment considerations for Windows To Go - href: file1.md - - name: Prepare your organization for Windows To Go - href: file1.md - - name: Security and data protection considerations for Windows To Go - href: file1.md - - name: "Windows To Go: frequently asked questions" - href: file1.md - - - name: Volume Activation Management Tool (VAMT) technical reference - items: - - name: VAMT technical reference - href: file1.md - - name: Introduction to VAMT - href: file1.md - - name: Active Directory-Based Activation Overview - href: file1.md - - name: Install and Configure VAMT - href: file1.md - - name: VAMT Requirements - href: file1.md - - name: Install VAMT - href: file1.md - - name: Configure Client Computers - href: file1.md - - name: Add and Manage Products - href: file1.md - - name: Add and Remove Computers - href: file1.md - - name: Update Product Status - href: file1.md - - name: Remove Products - href: file1.md - - name: Manage Product Keys - href: file1.md - - name: Add and Remove a Product Key - href: file1.md - - name: Install a Product Key - href: file1.md - - name: Install a KMS Client Key - href: file1.md - - name: Manage Activations - href: file1.md - - name: Perform Online Activation - href: file1.md - - name: Perform Proxy Activation - href: file1.md - - name: Perform KMS Activation - href: file1.md - - name: Perform Local Reactivation - href: file1.md - - name: Activate an Active Directory Forest Online - href: file1.md - - name: Activate by Proxy an Active Directory Forest - href: file1.md - - name: Manage VAMT Data - href: file1.md - - name: Import and Export VAMT Data - href: file1.md - - name: Use VAMT in Windows PowerShell - href: file1.md - - name: VAMT Step-by-Step Scenarios - href: file1.md - - name: "Scenario 1: Online Activation" - href: file1.md - - name: "Scenario 2: Proxy Activation" - href: file1.md - - name: "Scenario 3: KMS Client Activation" - href: file1.md - - name: VAMT Known Issues - href: file1.md - - - name: User State Migration Tool (USMT) technical reference - items: - - name: USMT overview topics - items: - - name: USMT overview - href: file1.md - - name: Getting started with the USMT - href: file1.md - - name: Windows upgrade and migration considerations - href: file1.md - - name: USMT How-to topics - items: - - name: Exclude Files and Settings - href: file1.md - - name: Extract Files from a Compressed USMT Migration Store - href: file1.md - - name: Include Files and Settings - href: file1.md - - name: Migrate Application Settings - href: file1.md - - name: Migrate EFS Files and Certificates - href: file1.md - - name: Migrate User Accounts - href: file1.md - - name: Reroute Files and Settings - href: file1.md - - name: Verify the Condition of a Compressed Migration Store - href: file1.md - - name: USMT Troubleshooting - href: file1.md - - name: Common Issues - href: file1.md - - name: Frequently Asked Questions - href: file1.md - - name: Log Files - href: file1.md - - name: Return Codes - href: file1.md - - name: USMT Resources - href: file1.md - - - name: USMT Reference - items: - - name: USMT Requirements - href: file1.md - - name: USMT Best Practices - href: file1.md - - name: How USMT Works - href: file1.md - - name: Plan Your Migration - href: file1.md - - name: Common Migration Scenarios - href: file1.md - - name: What Does USMT Migrate? - href: file1.md - - name: Choose a Migration Store Type - href: file1.md - - name: Migration Store Types Overview - href: file1.md - - name: Estimate Migration Store Size - href: file1.md - - name: Hard-Link Migration Store - href: file1.md - - name: Migration Store Encryption - href: file1.md - - name: Determine What to Migrate - href: file1.md - - name: Determine What to Migrate - href: file1.md - - name: Identify Applications Settings - href: file1.md - - name: Identify Operating System Settings - href: file1.md - - name: Identify File Types, Files, and Folders - href: file1.md - - name: Test Your Migration - href: file1.md - - name: USMT Command-line Syntax - href: file1.md - - name: ScanState Syntax - href: file1.md - - name: LoadState Syntax - href: file1.md - - name: UsmtUtils Syntax - href: file1.md - - name: USMT XML Reference - href: file1.md - - name: Understanding Migration XML Files - href: file1.md - - name: Config.xml File - href: file1.md - - name: Customize USMT XML Files - href: file1.md - - name: Custom XML Examples - href: file1.md - - name: Conflicts and Precedence - href: file1.md - - name: General Conventions - href: file1.md - - name: XML File Requirements - href: file1.md - - name: Recognized Environment Variables - href: file1.md - - name: XML Elements Library - href: file1.md - - name: Offline Migration Reference - href: file1.md - - - name: Application Compatibility Toolkit (ACT) Technical Reference - items: - - name: SUA User's Guide - href: file1.md - - name: Using the SUA Wizard - href: file1.md - - name: Using the SUA Tool - href: file1.md - - name: Tabs on the SUA Tool Interface - href: file1.md - - name: Showing Messages Generated by the SUA Tool - href: file1.md - - name: Applying Filters to Data in the SUA Tool - href: file1.md - - name: Fixing Applications by Using the SUA Tool - href: file1.md - - name: Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista - href: file1.md - - name: Compatibility Administrator User's Guide - href: file1.md - - name: Using the Compatibility Administrator Tool - href: file1.md - - name: Available Data Types and Operators in Compatibility Administrator - href: file1.md - - name: Searching for Fixed Applications in Compatibility Administrator - href: file1.md - - name: Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator - href: file1.md - - name: Creating a Custom Compatibility Fix in Compatibility Administrator - href: file1.md - - name: Creating a Custom Compatibility Mode in Compatibility Administrator - href: file1.md - - name: Creating an AppHelp Message in Compatibility Administrator - href: file1.md - - name: Viewing the Events Screen in Compatibility Administrator - href: file1.md - - name: Enabling and Disabling Compatibility Fixes in Compatibility Administrator - href: file1.md - - name: Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator - href: file1.md - - name: Managing Application-Compatibility Fixes and Custom Fix Databases - href: file1.md - - name: Understanding and Using Compatibility Fixes - href: file1.md - - name: Compatibility Fix Database Management Strategies and Deployment - href: file1.md - - name: Testing Your Application Mitigation Packages - href: file1.md - - name: Using the Sdbinst.exe Command-Line Tool - href: file1.md - - name: Volume Activation [client] - href: file1.md - - name: Plan for volume activation [client] - href: file1.md - - name: Activate using Key Management Service [client] - href: file1.md - - name: Activate using Active Directory-based activation [client] - href: file1.md - - name: Activate clients running Windows 10 - href: file1.md - - name: Monitor activation [client] - href: file1.md - - name: Use the Volume Activation Management Tool [client] - href: file1.md - - name: "Appendix: Information sent to Microsoft during activation [client]" - href: file1.md - - - name: Install fonts in Windows 10 - href: file1.md \ No newline at end of file From b0da6e19e9f3f20d57afc4723e57bd428c338c64 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 13:53:58 -0700 Subject: [PATCH 111/393] test --- windows/deployment/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index fb49cec595..8a96fbc9e6 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -5,7 +5,7 @@ ### test ## Plan -

A blue heading

+

A blue heading

## Prepare From 286534de5008daa6bc123ab26245e4e2d7b9e98a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 14:09:21 -0700 Subject: [PATCH 112/393] test --- windows/deployment/TOC.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 8a96fbc9e6..7c0bb8a3ee 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -5,12 +5,9 @@ ### test ## Plan -

A blue heading

## Prepare ## Deploy ## Reference - -

Test

\ No newline at end of file From 9c49a3aedb8c1b93687a9797ffdcdf653f79bf60 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 15:18:25 -0700 Subject: [PATCH 113/393] test --- windows/deployment/TOC.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 7c0bb8a3ee..55992ad043 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -2,7 +2,12 @@ ## Get started ### [What's new in Windows 10 deployment](file1.md) -### test + +

test

+ +

test

+ +###
test
## Plan From 9b13ac8cf7d505f55dbb2443f65c32b9dadcf683 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 15:32:56 -0700 Subject: [PATCH 114/393] test --- windows/deployment/TOC.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 55992ad043..f380ed4b29 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -3,10 +3,6 @@ ## Get started ### [What's new in Windows 10 deployment](file1.md) -

test

- -

test

- ###
test
## Plan From 3bdf240e5828ed5c5344d4ec927f4ce63cd8b4f7 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 15:47:58 -0700 Subject: [PATCH 115/393] test --- windows/deployment/TOC.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index f380ed4b29..9a5d609025 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -1,9 +1,7 @@ # Deploy and update Windows 10 ## Get started -### [What's new in Windows 10 deployment](file1.md) - -###
test
+### [What's new in Windows 10 deployment](file1.md) ## Plan From 5c2fed6c112a15d05554892445766e08ac9f3921 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 15:50:03 -0700 Subject: [PATCH 116/393] test --- windows/deployment/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 9a5d609025..f2b1ef0d72 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -4,6 +4,7 @@ ### [What's new in Windows 10 deployment](file1.md) ## Plan +### [
Planning topic
](file1.md) ## Prepare From 0e8cefcdadf29a9ef5a1d660ea873ffb723bbda1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 28 Apr 2020 16:22:52 -0700 Subject: [PATCH 117/393] replace --- windows/deployment/TOC.md | 13 -- windows/deployment/TOC.yml | 416 +++++++++++++++++++++++++++++++++++++ 2 files changed, 416 insertions(+), 13 deletions(-) delete mode 100644 windows/deployment/TOC.md create mode 100644 windows/deployment/TOC.yml diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md deleted file mode 100644 index f2b1ef0d72..0000000000 --- a/windows/deployment/TOC.md +++ /dev/null @@ -1,13 +0,0 @@ -# Deploy and update Windows 10 - -## Get started -### [What's new in Windows 10 deployment](file1.md) - -## Plan -### [
Planning topic
](file1.md) - -## Prepare - -## Deploy - -## Reference diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml new file mode 100644 index 0000000000..72abea01c0 --- /dev/null +++ b/windows/deployment/TOC.yml @@ -0,0 +1,416 @@ +- name: Deploy and update Windows 10 + href: index.yml + items: + - name: Get started + items: + - name: What's new in Windows 10 deployment + href: file1.md + - name: Learn about Windows 10 + href: file1.md + - name: What is Windows as a service? + href: file1.md + - name: Windows update fundamentals + href: file1.md + - name: Types of Windows updates + href: file1.md + - name: Servicing the Windows 10 operating system + href: file1.md + - name: Windows 10 deployment scenarios + href: file1.md + - name: Deployment proof of concept + items: + - name: Demonstrate Autopilot deployment on a VM + href: file1.md + - name: Deploy Windows 10 with MDT and Configuration Manager + items: + - name: 'Step by step guide: Configure a test lab to deploy Windows 10' + href: file1.md + - name: Deploy Windows 10 in a test lab using MDT + href: file1.md + - name: Deploy Windows 10 in a test lab using Configuration Manager + href: file1.md + + - name: Plan + items: + - name: Plan for Windows 10 deployment + href: file1.md + - name: Windows 10 deployment considerations + href: file1.md + - name: Create a deployment plan + href: file1.md + - name: Evaluate infrastructure and tools + href: file1.md + - name: Determine application readiness + href: file1.md + - name: Define your servicing strategy + href: file1.md + - name: Plan for volume activation + href: file1.md + - name: Features removed or planned for replacement + items: + - name: Windows 10 features lifecycle + href: file1.md + - name: Features we're no longer developing + href: file1.md + - name: Features we removed + href: file1.md + + - name: Prepare + items: + - name: Prepare to deploy Windows 10 + href: file1.md + - name: Evaluate and update infrastructure + href: file1.md + - name: Evaluate and update deployment processes + href: file1.md + - name: Prepare deployment tools + items: + - name: Register devices for deployment with Windows Autopilot + href: file1.md + - name: Prepare for deployment with MDT + href: file1.md + - name: Prepare for deployment with Configuration Manager + href: file1.md + + - name: Deploy + items: + - name: Deploy Windows 10 + items: + - name: Deployment process posters + href: file1.md + - name: Deploy Windows 10 with Autopilot + items: + - name: Windows Autopilot overview + - name: Deploy Windows 10 with Configuration Manager + items: + - name: Deploy to a new device + - name: Refresh a device + - name: Replace a device + - name: In-place upgrade + - name: Deploy Windows 10 with MDT + items: + - name: Deploy to a new device + - name: Refresh a device + - name: Replace a device + - name: In-place upgrade + - name: Deploy Windows 10 updates + items: + - name: Deploy updates with Configuration Manager + - name: Deploy updates with Intune + - name: Deploy updates with WSUS + - name: Deploy updates with Group Policy + - name: Troubleshoot + items: + - name: Resolve Windows 10 upgrade errors + href: file1.md + - name: Quick fixes + href: file1.md + - name: SetupDiag + href: file1.md + - name: Troubleshooting upgrade errors + href: file1.md + - name: Windows error reporting + href: file1.md + - name: Upgrade error codes + href: file1.md + - name: Log files + href: file1.md + - name: Resolution procedures + href: file1.md + - name: Submit Windows 10 upgrade errors + href: file1.md + + - name: Reference + items: + - name: Windows 10 volume license media + href: file1.md + - name: Deploy Windows 10 with Microsoft 365 + href: file1.md + - name: How Windows Update works (new) + href: file1.md + - name: Additional Windows Update settings + href: file1.md + - name: Delivery Optimization reference + href: file1.md + - name: Windows 10 in S mode + items: + - name: Windows 10 in S mode overview + href: file1.md + - name: Switch to Windows 10 Pro/Enterprise from S mode + href: file1.md + - name: Subscription Activation + items: + - name: Windows 10 Subscription Activation + href: file1.md + - name: Windows 10 Enterprise E3 in CSP + href: file1.md + - name: Configure VDA for Subscription Activation + href: file1.md + - name: Deploy Windows 10 Enterprise licenses + href: file1.md + - name: Windows 10 deployment tools + items: + - name: Windows 10 deployment scenarios and tools + items: + - name: Convert MBR partition to GPT + - name: Configure a PXE server to load Windows PE + - name: Windows ADK for Windows 10 scenarios for IT Pros + - name: Windows To Go + items: + - name: Deploy Windows To Go in your organization + href: file1.md + - name: Feature overview + items: + - name: "Windows To Go: feature overview" + href: file1.md + - name: Best practice recommendations for Windows To Go + href: file1.md + - name: Deployment considerations for Windows To Go + href: file1.md + - name: Prepare your organization for Windows To Go + href: file1.md + - name: Security and data protection considerations for Windows To Go + href: file1.md + - name: "Windows To Go: frequently asked questions" + href: file1.md + + - name: Volume Activation Management Tool (VAMT) technical reference + items: + - name: VAMT technical reference + href: file1.md + - name: Introduction to VAMT + href: file1.md + - name: Active Directory-Based Activation Overview + href: file1.md + - name: Install and Configure VAMT + href: file1.md + - name: VAMT Requirements + href: file1.md + - name: Install VAMT + href: file1.md + - name: Configure Client Computers + href: file1.md + - name: Add and Manage Products + href: file1.md + - name: Add and Remove Computers + href: file1.md + - name: Update Product Status + href: file1.md + - name: Remove Products + href: file1.md + - name: Manage Product Keys + href: file1.md + - name: Add and Remove a Product Key + href: file1.md + - name: Install a Product Key + href: file1.md + - name: Install a KMS Client Key + href: file1.md + - name: Manage Activations + href: file1.md + - name: Perform Online Activation + href: file1.md + - name: Perform Proxy Activation + href: file1.md + - name: Perform KMS Activation + href: file1.md + - name: Perform Local Reactivation + href: file1.md + - name: Activate an Active Directory Forest Online + href: file1.md + - name: Activate by Proxy an Active Directory Forest + href: file1.md + - name: Manage VAMT Data + href: file1.md + - name: Import and Export VAMT Data + href: file1.md + - name: Use VAMT in Windows PowerShell + href: file1.md + - name: VAMT Step-by-Step Scenarios + href: file1.md + - name: "Scenario 1: Online Activation" + href: file1.md + - name: "Scenario 2: Proxy Activation" + href: file1.md + - name: "Scenario 3: KMS Client Activation" + href: file1.md + - name: VAMT Known Issues + href: file1.md + + - name: User State Migration Tool (USMT) technical reference + items: + - name: USMT overview topics + items: + - name: USMT overview + href: file1.md + - name: Getting started with the USMT + href: file1.md + - name: Windows upgrade and migration considerations + href: file1.md + - name: USMT How-to topics + items: + - name: Exclude Files and Settings + href: file1.md + - name: Extract Files from a Compressed USMT Migration Store + href: file1.md + - name: Include Files and Settings + href: file1.md + - name: Migrate Application Settings + href: file1.md + - name: Migrate EFS Files and Certificates + href: file1.md + - name: Migrate User Accounts + href: file1.md + - name: Reroute Files and Settings + href: file1.md + - name: Verify the Condition of a Compressed Migration Store + href: file1.md + - name: USMT Troubleshooting + href: file1.md + - name: Common Issues + href: file1.md + - name: Frequently Asked Questions + href: file1.md + - name: Log Files + href: file1.md + - name: Return Codes + href: file1.md + - name: USMT Resources + href: file1.md + + - name: USMT Reference + items: + - name: USMT Requirements + href: file1.md + - name: USMT Best Practices + href: file1.md + - name: How USMT Works + href: file1.md + - name: Plan Your Migration + href: file1.md + - name: Common Migration Scenarios + href: file1.md + - name: What Does USMT Migrate? + href: file1.md + - name: Choose a Migration Store Type + href: file1.md + - name: Migration Store Types Overview + href: file1.md + - name: Estimate Migration Store Size + href: file1.md + - name: Hard-Link Migration Store + href: file1.md + - name: Migration Store Encryption + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Determine What to Migrate + href: file1.md + - name: Identify Applications Settings + href: file1.md + - name: Identify Operating System Settings + href: file1.md + - name: Identify File Types, Files, and Folders + href: file1.md + - name: Test Your Migration + href: file1.md + - name: USMT Command-line Syntax + href: file1.md + - name: ScanState Syntax + href: file1.md + - name: LoadState Syntax + href: file1.md + - name: UsmtUtils Syntax + href: file1.md + - name: USMT XML Reference + href: file1.md + - name: Understanding Migration XML Files + href: file1.md + - name: Config.xml File + href: file1.md + - name: Customize USMT XML Files + href: file1.md + - name: Custom XML Examples + href: file1.md + - name: Conflicts and Precedence + href: file1.md + - name: General Conventions + href: file1.md + - name: XML File Requirements + href: file1.md + - name: Recognized Environment Variables + href: file1.md + - name: XML Elements Library + href: file1.md + - name: Offline Migration Reference + href: file1.md + + - name: Application Compatibility Toolkit (ACT) Technical Reference + items: + - name: SUA User's Guide + href: file1.md + - name: Using the SUA Wizard + href: file1.md + - name: Using the SUA Tool + href: file1.md + - name: Tabs on the SUA Tool Interface + href: file1.md + - name: Showing Messages Generated by the SUA Tool + href: file1.md + - name: Applying Filters to Data in the SUA Tool + href: file1.md + - name: Fixing Applications by Using the SUA Tool + href: file1.md + - name: Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista + href: file1.md + - name: Compatibility Administrator User's Guide + href: file1.md + - name: Using the Compatibility Administrator Tool + href: file1.md + - name: Available Data Types and Operators in Compatibility Administrator + href: file1.md + - name: Searching for Fixed Applications in Compatibility Administrator + href: file1.md + - name: Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Fix in Compatibility Administrator + href: file1.md + - name: Creating a Custom Compatibility Mode in Compatibility Administrator + href: file1.md + - name: Creating an AppHelp Message in Compatibility Administrator + href: file1.md + - name: Viewing the Events Screen in Compatibility Administrator + href: file1.md + - name: Enabling and Disabling Compatibility Fixes in Compatibility Administrator + href: file1.md + - name: Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator + href: file1.md + - name: Managing Application-Compatibility Fixes and Custom Fix Databases + href: file1.md + - name: Understanding and Using Compatibility Fixes + href: file1.md + - name: Compatibility Fix Database Management Strategies and Deployment + href: file1.md + - name: Testing Your Application Mitigation Packages + href: file1.md + - name: Using the Sdbinst.exe Command-Line Tool + href: file1.md + - name: Volume Activation [client] + href: file1.md + - name: Plan for volume activation [client] + href: file1.md + - name: Activate using Key Management Service [client] + href: file1.md + - name: Activate using Active Directory-based activation [client] + href: file1.md + - name: Activate clients running Windows 10 + href: file1.md + - name: Monitor activation [client] + href: file1.md + - name: Use the Volume Activation Management Tool [client] + href: file1.md + - name: "Appendix: Information sent to Microsoft during activation [client]" + href: file1.md + + - name: Install fonts in Windows 10 + href: file1.md \ No newline at end of file From 30ad35da6fcc9b52c406788b82cc95b71ef6f85e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 29 Apr 2020 08:32:46 -0700 Subject: [PATCH 118/393] update toc --- windows/deployment/TOC.yml | 165 ++++++++++++++++++++++++++----------- 1 file changed, 118 insertions(+), 47 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 72abea01c0..e6a6899fd3 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -5,18 +5,21 @@ items: - name: What's new in Windows 10 deployment href: file1.md - - name: Learn about Windows 10 + - name: Windows 10 deployment scenarios (update) href: file1.md - - name: What is Windows as a service? - href: file1.md - - name: Windows update fundamentals - href: file1.md - - name: Types of Windows updates - href: file1.md - - name: Servicing the Windows 10 operating system - href: file1.md - - name: Windows 10 deployment scenarios + - name: Deployment process posters href: file1.md + - name: Learn about Windows 10 (new) + items: + - name: What is Windows as a service? (retitled, consolidated) + href: file1.md + - name: Windows update fundamentals + href: file1.md + - name: Types of Windows updates + href: file1.md + - name: Servicing the Windows 10 operating system (retitled) + href: file1.md + - name: Deployment proof of concept items: - name: Demonstrate Autopilot deployment on a VM @@ -32,17 +35,17 @@ - name: Plan items: - - name: Plan for Windows 10 deployment + - name: Create a deployment plan (new) href: file1.md - - name: Windows 10 deployment considerations + - name: Windows 10 deployment considerations (rewrite) href: file1.md - - name: Create a deployment plan + - name: Evaluate infrastructure and tools (new) href: file1.md - - name: Evaluate infrastructure and tools + - name: Determine application readiness (new) href: file1.md - - name: Determine application readiness - href: file1.md - - name: Define your servicing strategy + - name: Define your servicing strategy (new) + href: file1.md + - name: Best practices for feature updates on mission-critical devices href: file1.md - name: Plan for volume activation href: file1.md @@ -57,13 +60,17 @@ - name: Prepare items: - - name: Prepare to deploy Windows 10 + - name: Prepare to deploy Windows 10 (new) href: file1.md - - name: Evaluate and update infrastructure + - name: Evaluate and update infrastructure (new) href: file1.md - - name: Evaluate and update deployment processes + - name: Evaluate and update deployment processes (new) href: file1.md - - name: Prepare deployment tools + - name: Test and remediate your applications (new) + href: file1.md + - name: Configure BranchCache for Windows 10 updates + href: file1.md + - name: Prepare your deployment tools (new) items: - name: Register devices for deployment with Windows Autopilot href: file1.md @@ -71,60 +78,125 @@ href: file1.md - name: Prepare for deployment with Configuration Manager href: file1.md + - name: Build a successful servicing strategy + items: + - name: Build deployment rings for Windows 10 updates + href: file1.md + - name: Prepare updates using Windows Update for Business + href: file1.md + - name: Prepare updates using WSUS (retitle) + href: file1.md - name: Deploy items: - name: Deploy Windows 10 items: - - name: Deployment process posters - href: file1.md - name: Deploy Windows 10 with Autopilot - items: - - name: Windows Autopilot overview + href: file1.md - name: Deploy Windows 10 with Configuration Manager items: - name: Deploy to a new device + href: file1.md - name: Refresh a device + href: file1.md - name: Replace a device + href: file1.md - name: In-place upgrade + href: file1.md - name: Deploy Windows 10 with MDT items: - name: Deploy to a new device + href: file1.md - name: Refresh a device + href: file1.md - name: Replace a device + href: file1.md - name: In-place upgrade + href: file1.md - name: Deploy Windows 10 updates items: + - name: Assign devices to servicing channels (retitle) + href: file1.md - name: Deploy updates with Configuration Manager + href: file1.md - name: Deploy updates with Intune + href: file1.md - name: Deploy updates with WSUS + href: file1.md - name: Deploy updates with Group Policy - - name: Troubleshoot + href: file1.md + - name: Manage device restarts after updates + href: file1.md + - name: Manage additional Windows Update settings + href: file1.md + - name: Determine the source of Windows Updates + href: file1.md + - name: Update Windows 10 media with Dynamic Update + href: file1.md + - name: Deploy feature updates during maintenance windows + href: file1.md + - name: Deploy feature updates for user-initiated installations + href: file1.md + - name: Use Windows Update for Business items: - - name: Resolve Windows 10 upgrade errors + - name: Configure Windows Update for Business href: file1.md - - name: Quick fixes + - name: Enforcing compliance deadlines for updates href: file1.md - - name: SetupDiag + - name: Integrate Windows Update for Business with management solutions href: file1.md - - name: Troubleshooting upgrade errors + - name: 'Walkthrough: use Group Policy to configure Windows Update for Business' href: file1.md - - name: Windows error reporting + - name: 'Walkthrough: use Intune to configure Windows Update for Business' href: file1.md - - name: Upgrade error codes - href: file1.md - - name: Log files - href: file1.md - - name: Resolution procedures - href: file1.md - - name: Submit Windows 10 upgrade errors + - name: Monitor Windows 10 updates + items: + - name: Monitor Delivery Optimization href: file1.md + - name: Monitor Windows Updates with Update Compliance + items: + - name: Get started with Update Compliance + href: file1.md + - name: Use Update Compliance + href: file1.md + - name: Troubleshooting + items: + - name: Resolve upgrade errors + items: + - name: Resolve Windows 10 upgrade errors + href: file1.md + - name: Quick fixes + href: file1.md + - name: SetupDiag + href: file1.md + - name: Troubleshooting upgrade errors + href: file1.md + - name: Windows error reporting + href: file1.md + - name: Upgrade error codes + href: file1.md + - name: Log files + href: file1.md + - name: Resolution procedures + href: file1.md + - name: Submit Windows 10 upgrade errors + href: file1.md + - name: Troubleshoot Windows Update + items: + - name: How to troubleshoot Windows Update + href: file1.md + - name: Common Windows Update errors + href: file1.md + - name: Windows Update error code reference + href: file1.md - name: Reference items: - - name: Windows 10 volume license media + - name: How does Windows Update work? href: file1.md - - name: Deploy Windows 10 with Microsoft 365 + - name: Understanding the Unified Update Platform + href: file1.md + - name: Servicing stack updates href: file1.md - name: How Windows Update works (new) href: file1.md @@ -132,12 +204,8 @@ href: file1.md - name: Delivery Optimization reference href: file1.md - - name: Windows 10 in S mode - items: - - name: Windows 10 in S mode overview - href: file1.md - - name: Switch to Windows 10 Pro/Enterprise from S mode - href: file1.md + - name: Windows 10 in S mode (consolidate) + href: file1.md - name: Subscription Activation items: - name: Windows 10 Subscription Activation @@ -150,11 +218,14 @@ href: file1.md - name: Windows 10 deployment tools items: - - name: Windows 10 deployment scenarios and tools + - name: Windows 10 deployment scenarios and tools (retitle) items: - name: Convert MBR partition to GPT + href: file1.md - name: Configure a PXE server to load Windows PE + href: file1.md - name: Windows ADK for Windows 10 scenarios for IT Pros + href: file1.md - name: Windows To Go items: - name: Deploy Windows To Go in your organization From 77a9ea5ba467d46eb24a51e141cb2ed523103a55 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 29 Apr 2020 10:07:04 -0700 Subject: [PATCH 119/393] update toc --- windows/deployment/TOC.yml | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index e6a6899fd3..a2ea35ce8e 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -15,9 +15,9 @@ href: file1.md - name: Windows update fundamentals href: file1.md - - name: Types of Windows updates + - name: Types of Windows updates (consolidate) href: file1.md - - name: Servicing the Windows 10 operating system (retitled) + - name: Servicing the Windows 10 operating system (retitled, consolidate?) href: file1.md - name: Deployment proof of concept @@ -34,13 +34,13 @@ href: file1.md - name: Plan - items: - - name: Create a deployment plan (new) - href: file1.md + items: - name: Windows 10 deployment considerations (rewrite) - href: file1.md + href: file1.md + - name: Create a deployment plan (new) + href: file1.md - name: Evaluate infrastructure and tools (new) - href: file1.md + href: file1.md - name: Determine application readiness (new) href: file1.md - name: Define your servicing strategy (new) @@ -68,6 +68,8 @@ href: file1.md - name: Test and remediate your applications (new) href: file1.md + - name: Set up Delivery Optimization for Windows 10 updates + href: file1.md - name: Configure BranchCache for Windows 10 updates href: file1.md - name: Prepare your deployment tools (new) @@ -125,18 +127,18 @@ href: file1.md - name: Deploy updates with Group Policy href: file1.md - - name: Manage device restarts after updates - href: file1.md - - name: Manage additional Windows Update settings - href: file1.md - - name: Determine the source of Windows Updates - href: file1.md - name: Update Windows 10 media with Dynamic Update href: file1.md - - name: Deploy feature updates during maintenance windows - href: file1.md - - name: Deploy feature updates for user-initiated installations - href: file1.md + - name: Manage Windows 10 updates + items: + - name: Manage device restarts after updates + href: file1.md + - name: Manage additional Windows Update settings + href: file1.md + - name: Deploy feature updates during maintenance windows + href: file1.md + - name: Deploy feature updates for user-initiated installations + href: file1.md - name: Use Windows Update for Business items: - name: Configure Windows Update for Business @@ -185,6 +187,8 @@ items: - name: How to troubleshoot Windows Update href: file1.md + - name: Determine the source of Windows Updates (find this topic) + href: file1.md - name: Common Windows Update errors href: file1.md - name: Windows Update error code reference From 8acd1fa0bd5655d40f760a384f4376ae5292ef3d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 29 Apr 2020 14:22:58 -0700 Subject: [PATCH 120/393] update toc --- windows/deployment/TOC.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index a2ea35ce8e..7146057090 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -115,6 +115,16 @@ href: file1.md - name: In-place upgrade href: file1.md + - name: Subscription Activation + items: + - name: Windows 10 Subscription Activation + href: file1.md + - name: Windows 10 Enterprise E3 in CSP + href: file1.md + - name: Configure VDA for Subscription Activation + href: file1.md + - name: Deploy Windows 10 Enterprise licenses + href: file1.md - name: Deploy Windows 10 updates items: - name: Assign devices to servicing channels (retitle) @@ -210,16 +220,6 @@ href: file1.md - name: Windows 10 in S mode (consolidate) href: file1.md - - name: Subscription Activation - items: - - name: Windows 10 Subscription Activation - href: file1.md - - name: Windows 10 Enterprise E3 in CSP - href: file1.md - - name: Configure VDA for Subscription Activation - href: file1.md - - name: Deploy Windows 10 Enterprise licenses - href: file1.md - name: Windows 10 deployment tools items: - name: Windows 10 deployment scenarios and tools (retitle) From cb1982376a8a7fe5968566c9cb7a62a1de6fa771 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 29 Apr 2020 15:37:59 -0700 Subject: [PATCH 121/393] update toc --- windows/deployment/TOC.yml | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 7146057090..9899e7321e 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -167,10 +167,40 @@ href: file1.md - name: Monitor Windows Updates with Update Compliance items: - - name: Get started with Update Compliance - href: file1.md - - name: Use Update Compliance - href: file1.md + - name: Get started + items: + - name: Get started with Update Compliance (consolidate) + href: file1.md + - name: Update Compliance configuration script + href: file1.md + - name: Manually configuring devices for Update Compliance + href: file1.md + - name: Update Compliance monitoring + items: + - name: Use Update Compliance + href: file1.md + - name: Need attention report + href: file1.md + - name: Security update status report + href: file1.md + - name: Feature update status report + href: file1.md + - name: Delivery Optimization in Update Compliance + href: file1.md + - name: Data handling and privacy in Update Compliance + href: file1.md + - name: Update Compliance schema reference + items: + - name: WaaSUpdateStatus + href: file1.md + - name: WaaSInsiderStatus + href: file1.md + - name: WaaSDepoymentStatus + href: file1.md + - name: WUDOStatus + href: file1.md + - name: WUDOAggregatedStatus + href: file1.md - name: Troubleshooting items: - name: Resolve upgrade errors From 320c9020dee72786d0e230d7ade940c5022bdafe Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 09:09:49 -0700 Subject: [PATCH 122/393] update toc --- windows/deployment/TOC.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 9899e7321e..df7126d3eb 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -9,16 +9,14 @@ href: file1.md - name: Deployment process posters href: file1.md - - name: Learn about Windows 10 (new) - items: - - name: What is Windows as a service? (retitled, consolidated) - href: file1.md - - name: Windows update fundamentals - href: file1.md - - name: Types of Windows updates (consolidate) - href: file1.md - - name: Servicing the Windows 10 operating system (retitled, consolidate?) - href: file1.md + - name: What is Windows as a service? (retitled, consolidated) + href: file1.md + - name: Windows update fundamentals + href: file1.md + - name: Types of Windows updates (consolidate) + href: file1.md + - name: Servicing the Windows 10 operating system (retitled, consolidate?) + href: file1.md - name: Deployment proof of concept items: From 6a0954828e892e685bdebdc2ec89cc70e68c9afb Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 09:36:21 -0700 Subject: [PATCH 123/393] update toc --- windows/deployment/TOC.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index df7126d3eb..f3fed776b4 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,10 +13,10 @@ href: file1.md - name: Windows update fundamentals href: file1.md - - name: Types of Windows updates (consolidate) - href: file1.md - - name: Servicing the Windows 10 operating system (retitled, consolidate?) - href: file1.md + - name: Types of Windows updates (consolidate) + href: file1.md + - name: Servicing the Windows 10 operating system (retitled, consolidate?) + href: file1.md - name: Deployment proof of concept items: From 9908578a6fe653008934135b967aa7fe08336370 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 09:56:54 -0700 Subject: [PATCH 124/393] update toc --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index f3fed776b4..2e5f8b6640 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -115,7 +115,7 @@ href: file1.md - name: Subscription Activation items: - - name: Windows 10 Subscription Activation + - name: Windows 10 Subscription Activation (update) href: file1.md - name: Windows 10 Enterprise E3 in CSP href: file1.md From 3a4aae879c3289f9787bed589123b18c036a4c33 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 10:25:26 -0700 Subject: [PATCH 125/393] update toc --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 2e5f8b6640..2923bb8c57 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -14,7 +14,7 @@ - name: Windows update fundamentals href: file1.md - name: Types of Windows updates (consolidate) - href: file1.md + href: file1.md - name: Servicing the Windows 10 operating system (retitled, consolidate?) href: file1.md From 3874c52d5f0871bb5f9284e011212b58fd348fb3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 13:18:32 -0700 Subject: [PATCH 126/393] update toc --- windows/deployment/TOC.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 2923bb8c57..318d86d3e1 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -498,21 +498,21 @@ href: file1.md - name: Using the Sdbinst.exe Command-Line Tool href: file1.md - - name: Volume Activation [client] + - name: Volume Activation href: file1.md - - name: Plan for volume activation [client] + - name: Plan for volume activation href: file1.md - - name: Activate using Key Management Service [client] + - name: Activate using Key Management Service href: file1.md - - name: Activate using Active Directory-based activation [client] + - name: Activate using Active Directory-based activation href: file1.md - name: Activate clients running Windows 10 href: file1.md - - name: Monitor activation [client] + - name: Monitor activation href: file1.md - - name: Use the Volume Activation Management Tool [client] + - name: Use the Volume Activation Management Tool href: file1.md - - name: "Appendix: Information sent to Microsoft during activation [client]" + - name: "Appendix: Information sent to Microsoft during activation " href: file1.md - name: Install fonts in Windows 10 From 4e888559dd37f0695942ec760fa84a02ef542fe3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 4 May 2020 15:53:28 -0700 Subject: [PATCH 127/393] update toc --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 318d86d3e1..6b0a7ab46d 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -137,7 +137,7 @@ href: file1.md - name: Update Windows 10 media with Dynamic Update href: file1.md - - name: Manage Windows 10 updates + - name: Manage the Windows 10 update experience items: - name: Manage device restarts after updates href: file1.md From 8d30edefb86faf612723550c0c8d9e76de70a8eb Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Thu, 7 May 2020 08:53:10 -0700 Subject: [PATCH 128/393] Add AUMIDs Adding AUMIDs for File Explorer and Store. Even though they are not recommended we have promised to provide them. --- devices/hololens/hololens-kiosk.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devices/hololens/hololens-kiosk.md b/devices/hololens/hololens-kiosk.md index c08a6c076b..1bbd7ddefd 100644 --- a/devices/hololens/hololens-kiosk.md +++ b/devices/hololens/hololens-kiosk.md @@ -98,7 +98,9 @@ If you use a Mobile Device Management (MDM) system or a provisioning package to |Dynamics 365 Guides |Microsoft.Dynamics365.Guides\_8wekyb3d8bbwe\!MicrosoftGuides | |Dynamics 365 Remote Assist |Microsoft.MicrosoftRemoteAssist\_8wekyb3d8bbwe\!Microsoft.RemoteAssist | |Feedback Hub |Microsoft.WindowsFeedbackHub\_8wekyb3d8bbwe\!App | -|Mail |c5e2524a-ea46-4f67-841f-6a9465d9d515\_cw5n1h2txyewy\!App | +|File Explorer |c5e2524a-ea46-4f67-841f-6a9465d9d515_cw5n1h2txyewy!App | +|Mail |microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail | +|Microsoft Store |Microsoft.WindowsStore_8wekyb3d8bbwe!App | |Miracast4 |  | |Movies & TV |Microsoft.ZuneVideo\_8wekyb3d8bbwe\!Microsoft.ZuneVideo | |OneDrive |microsoft.microsoftskydrive\_8wekyb3d8bbwe\!App | From 9f2a43c7449fa0eb3467ead5445fa3fd080b1bc9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 7 May 2020 13:42:09 -0700 Subject: [PATCH 129/393] draft --- .../whats-new-windows-10-version-2004.md | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 windows/whats-new/whats-new-windows-10-version-2004.md diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md new file mode 100644 index 0000000000..3e419e8f02 --- /dev/null +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -0,0 +1,136 @@ +--- +title: What's new in Windows 10, version 2004 +description: New and updated IT Pro content about new features in Windows 10, version 2004 (also known as the Windows 10 May 2020 Update). +keywords: ["What's new in Windows 10", "Windows 10", "May 2020 Update"] +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +audience: itpro +author: greg-lindsay +ms.author: greglin +manager: laurawi +ms.localizationpriority: high +ms.topic: article +--- + +# What's new in Windows 10, version 2004 IT Pro content + +**Applies to** +- Windows 10, version 1909 + +This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 1909, also known as the Windows 10 November 2019 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1903. + +## Servicing + + + + + +### Windows Server Update Services (WSUS) + + + +### Windows Update for Business (WUfB) + + + +## Security + +### Windows Defender Credential Guard + + + +### Microsoft BitLocker + + + +### Key-rolling and Key-rotation + + + +### Transport Layer Security (TLS) + + + +## Virtualization + +### Containers on Windows + +This update includes 5 fixes to allow the host to run down-level containers on up-level for process (Argon) isolation. Previously [Containers on Windows](https://docs.microsoft.com/virtualization/windowscontainers/) required matched host and container version. This limited Windows containers from supporting mixed-version container pod scenarios. + +### Windows Sandbox + +[Windows Sandbox](https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849) is an isolated desktop environment where you can install software without the fear of lasting impact to your device. This feature is available in Windows 10, version 1903. In Windows 10, version 1909 you have even more control over the level of isolation. + +## Windows Virtual Desktop + +[Windows Virtual Desktop](https://docs.microsoft.com/azure/virtual-desktop/overview) (WVD) is now generally available globally! + +Windows Virtual Desktop is a comprehensive desktop and app virtualization service running in the cloud. It’s the only virtual desktop infrastructure (VDI) that delivers simplified management, multi-session Windows 10, optimizations for Microsoft 365 Apps for enterprise, and support for Remote Desktop Services (RDS) environments. Deploy and scale your Windows desktops and apps on Azure in minutes, and get built-in security and compliance features. Windows Virtual Desktop requires a Microsoft E3 or E5 license, or a Microsoft 365 E3 or E5 license, as well as an Azure tenant. + +## Deployment + +#### Microsoft Endpoint Manager + +Configuration Manager, Intune, Desktop Analytics, Co-Management, and Device Management Admin Console are now are [Microsoft Endpoint Manager](https://docs.microsoft.com/configmgr/). See the Nov. 4 2019 [announcement](https://www.microsoft.com/microsoft-365/blog/2019/11/04/use-the-power-of-cloud-intelligence-to-simplify-and-accelerate-it-and-the-move-to-a-modern-workplace/). Also see [Modern management and security principles driving our Microsoft Endpoint Manager vision](https://techcommunity.microsoft.com/t5/Enterprise-Mobility-Security/Modern-management-and-security-principles-driving-our-Microsoft/ba-p/946797). + +### Windows 10 Pro and Enterprise in S mode + + You can now deploy and run traditional Win32 (desktop) apps without leaving the security of S mode by configuring the Windows 10 in S mode policy to support Win32 apps, and deploy them with Mobile Device Management (MDM) software such as Microsoft Intune. For more information, see [Allow Line-of-Business Win32 Apps on Intune-Managed S Mode Devices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/lob-win32-apps-on-s). + +### SetupDiag + +[SetupDiag](https://docs.microsoft.com/windows/deployment/upgrade/setupdiag) version 1.6.0.42 is available. + +SetupDiag is a command-line tool that can help diagnose why a Windows 10 update failed. SetupDiag works by searching Windows Setup log files. When searching log files, SetupDiag uses a set of rules to match known issues. In the current version of SetupDiag there are 53 rules contained in the rules.xml file, which is extracted when SetupDiag is run. The rules.xml file will be updated as new versions of SetupDiag are made available. . + +### Windows Assessment and Deployment Toolkit (ADK) + +A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will **not be released** for Windows 10, version 1909. You can use the Windows ADK for Windows 10, version 1903 to deploy Windows 10, version 1909. + +## Desktop Analytics + +[Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is now generally available globally! Desktop Analytics is a cloud-connected service, integrated with Configuration Manager, which gives you data-driven insights to the management of your Windows endpoints. It provides insight and intelligence that you can use to make more informed decisions about the update readiness of your Windows endpoints. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. + +## Microsoft Connected Cache + +Together with Delivery Optimization, [Microsoft Connected Cache](https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Introducing-Microsoft-Connected-Cache-Microsoft-s-cloud-managed/ba-p/963898) installed on Windows Server or Linux can seamlessly offload your traffic to local sources, caching content efficiently at the byte range level. Connected Cache is configured as a “configure once and forget it” solution that transparently caches content that your devices on your network need. + +## Accessibility + +This release adds the ability for Narrator and other assistive technologies to read and learn where the FN key is located on keyboards and what state it is in (locked versus unlocked). + +## Processor requirements and enhancements + +### Requirements + +[Windows Processor Requirements](https://docs.microsoft.com/windows-hardware/design/minimum/windows-processor-requirements) have been updated for this version of Windows. + +### Favored CPU Core Optimization + +This version of Windows 10 will include optimizations to how instructions are processed by the CPU in order to increase the performance and reliability of the operating system and its applications. + +When a CPU is manufactured, not all of the cores are created equal. Some of the cores may have slightly different voltage and power characteristics that could allow them to get a "boost" in performance. These cores are called "favored cores" as they can offer better performance than the other cores on the die. + +With Intel Turbo Boost Max Technology 3.0, an operating system will use information stored in the CPU to identify which cores are the fastest and then push more of the CPU intensive tasks to those cores. According to Intel, this technology "delivers more than 15% better single-threaded performance". + +### Debugging + +Additional debugging capabilities for newer Intel processors have been added in this release. This is only relevant for hardware manufacturers. + +### Efficiency + +General battery life and power efficiency improvements for PCs with certain processors have been added in this release. + +## See Also + +[What's New in Windows Server](https://docs.microsoft.com/windows-server/get-started/whats-new-in-windows-server): New and updated features in Windows Server.
+[Windows 10 Features](https://www.microsoft.com/windows/features): General information about Windows 10 features.
+[What's New in Windows 10](https://docs.microsoft.com/windows/whats-new/): See what’s new in other versions of Windows 10.
+[What Windows 10, version 1909 Means for Developers](https://blogs.windows.com/windowsdeveloper/2019/10/16/what-windows-10-version-1909-means-for-developers/): New and updated features in Windows 10 that are of interest to developers.
+[What's new in Windows 10, version 1909 - Windows Insiders](https://docs.microsoft.com/windows-insider/at-home/whats-new-wip-at-home-1909): This list also includes consumer focused new features.
+[Features and functionality removed in Windows 10](https://docs.microsoft.com/windows/deployment/planning/windows-10-removed-features): Removed features.
+[Windows 10 features we’re no longer developing](https://docs.microsoft.com/windows/deployment/planning/windows-10-deprecated-features): Features that are not being developed.
+[How to get the Windows 10 November 2019 Update](https://aka.ms/how-to-get-1909): John Cable blog.
+[How to get Windows 10, Version 1909: Enablement Mechanics](https://aka.ms/1909mechanics): Mechanics blog.
+[What’s new for IT pros in Windows 10, version 1909](https://aka.ms/whats-new-in-1909): Windows IT Pro blog.
From b80cd1fcc4816b29ea9f7451252ec9e0daf088ba Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 7 May 2020 13:49:18 -0700 Subject: [PATCH 130/393] siem tools update --- .../microsoft-defender-atp/configure-siem.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md index ad965c75e5..2c0afe0601 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md @@ -30,28 +30,26 @@ ms.topic: article >[!Note] >- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. +>- Microsoft Defender ATP supports security information and event management (SIEM) tools to pull detections. Microsoft Defender ATP exposes alerts through an HTTPS endpoint hosted in Azure. The endpoint can be configured to pull detections from your enterprise tenant in Azure Active Directory (AAD) using the OAuth 2.0 authentication protocol for an AAD application that represents the specific SIEM connector installed in your environment. -Microsoft Defender ATP currently supports the following SIEM tools: +Microsoft Defender ATP currently supports the following specific SIEM solution tools through a dedicated SIEM integration model: -- Splunk -- HP ArcSight +- IBM QRadar +- Micro Focus ArcSight + +Other SIEM solutions (such as Splunk, RSA NetWitness) are supported through a different integration model based on the new Alert API. For more information, view the [Partner application](https://df.securitycenter.microsoft.com/interoperability/partners) page and select the Security Information and Analytics section for full details. To use either of these supported SIEM tools you'll need to: - [Enable SIEM integration in Microsoft Defender ATP](enable-siem-integration.md) - Configure the supported SIEM tool: - - [Configure Splunk to pull Microsoft Defender ATP detections](configure-splunk.md) - - [Configure HP ArcSight to pull Microsoft Defender ATP detections](configure-arcsight.md) + - [Configure HP ArcSight to pull Microsoft Defender ATP detections](configure-arcsight.md) + - Configure IBM QRadar to pull Microsoft Defender ATP detections For more information, see [IBM Knowledge Center](https://www.ibm.com/support/knowledgecenter/SS42VS_DSM/com.ibm.dsm.doc/c_dsm_guide_MS_Win_Defender_ATP_overview.html?cp=SS42VS_7.3.1). For more information on the list of fields exposed in the Detection API see, [Microsoft Defender ATP Detection fields](api-portal-mapping.md). -## Pull Microsoft Defender ATP detections using REST API -Microsoft Defender ATP supports the OAuth 2.0 protocol to pull detections using REST API. - -For more information, see [Pull Microsoft Defender ATP detections using REST API](pull-alerts-using-rest-api.md). - From 6d31c74f37e720ff9b7c1d3efcb6964717617168 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 7 May 2020 13:55:19 -0700 Subject: [PATCH 131/393] move enable siem topic --- windows/security/threat-protection/TOC.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 41e116ecca..b37c916734 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -416,8 +416,6 @@ ###### [Create and manage machine groups](microsoft-defender-atp/machine-groups.md) ###### [Create and manage machine tags](microsoft-defender-atp/machine-tags.md) -#### [APIs]() -##### [Enable SIEM integration](microsoft-defender-atp/enable-siem-integration.md) #### [Rules]() ##### [Manage suppression rules](microsoft-defender-atp/manage-suppression-rules.md) @@ -440,7 +438,7 @@ ## Reference ### [Management and APIs]() #### [Overview of management and APIs](microsoft-defender-atp/management-apis.md) - +#### [Enable SIEM integration](microsoft-defender-atp/enable-siem-integration.md) #### [Microsoft Defender ATP API]() ##### [Get started]() ###### [Microsoft Defender ATP API license and terms](microsoft-defender-atp/api-terms-of-use.md) From 73d0b3d66fb1d9b9676696706be24e4fb2941a05 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 7 May 2020 14:06:21 -0700 Subject: [PATCH 132/393] update siem integration remove splunk from image --- .../microsoft-defender-atp/configure-siem.md | 4 ++-- .../enable-siem-integration.md | 6 +++--- .../images/siem_details.png | Bin 69513 -> 68660 bytes 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md index 2c0afe0601..0d95a0d4e0 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md @@ -28,9 +28,9 @@ ms.topic: article ## Pull detections using security information and events management (SIEM) tools >[!Note] ->- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections +>- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. ->- +>-The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). Microsoft Defender ATP supports security information and event management (SIEM) tools to pull detections. Microsoft Defender ATP exposes alerts through an HTTPS endpoint hosted in Azure. The endpoint can be configured to pull detections from your enterprise tenant in Azure Active Directory (AAD) using the OAuth 2.0 authentication protocol for an AAD application that represents the specific SIEM connector installed in your environment. diff --git a/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration.md b/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration.md index f408e29140..382f789aa7 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration.md +++ b/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration.md @@ -27,9 +27,10 @@ ms.topic: article Enable security information and event management (SIEM) integration so you can pull detections from Microsoft Defender Security Center using your SIEM solution or by connecting directly to the detections REST API. ->[!Note] ->- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections +>[!NOTE] +>- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. +>- The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). ## Prerequisites - The user who activates the setting must have permissions to create an app in Azure Active Directory (AAD). This is typically someone with a **Global administrator** role. @@ -75,7 +76,6 @@ You can now proceed with configuring your SIEM solution or connecting to the det You can configure IBM QRadar to collect detections from Microsoft Defender ATP. For more information, see [IBM Knowledge Center](https://www.ibm.com/support/knowledgecenter/SS42VS_DSM/c_dsm_guide_MS_Win_Defender_ATP_overview.html?cp=SS42VS_7.3.1). ## Related topics -- [Configure Splunk to pull Microsoft Defender ATP detections](configure-splunk.md) - [Configure HP ArcSight to pull Microsoft Defender ATP detections](configure-arcsight.md) - [Microsoft Defender ATP Detection fields](api-portal-mapping.md) - [Pull Microsoft Defender ATP detections using REST API](pull-alerts-using-rest-api.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/siem_details.png b/windows/security/threat-protection/microsoft-defender-atp/images/siem_details.png index 94c724f0c88e96d452a5eeb9582f37f7c4282978..ef062f0c8ee4cddc24fe67f0fb0c433d30442f71 100644 GIT binary patch delta 13804 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 C?>C?T delta 14748 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 From 9bf8ecd294ebee8959745185432f2e6ffeb06bf6 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 7 May 2020 14:11:56 -0700 Subject: [PATCH 133/393] delete splunk edit api pages --- .openpublishing.redirection.json | 5 + .../api-portal-mapping.md | 4 +- .../configure-splunk.md | 131 ------------------ .../pull-alerts-using-rest-api.md | 3 +- 4 files changed, 9 insertions(+), 134 deletions(-) delete mode 100644 windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index d7b9c5f5dd..3ea3f56b45 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1327,6 +1327,11 @@ "redirect_document_id": true }, { +"source_path": "windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration", +"redirect_document_id": false +}, +{ "source_path": "windows/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md", "redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection", "redirect_document_id": true diff --git a/windows/security/threat-protection/microsoft-defender-atp/api-portal-mapping.md b/windows/security/threat-protection/microsoft-defender-atp/api-portal-mapping.md index 3b57273926..95aaddc7ab 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/api-portal-mapping.md +++ b/windows/security/threat-protection/microsoft-defender-atp/api-portal-mapping.md @@ -28,8 +28,9 @@ ms.topic: article Understand what data fields are exposed as part of the detections API and how they map to Microsoft Defender Security Center. >[!Note] ->- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections +>- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- **Microsoft Defender ATP Detection** is composed from the suspicious event occurred on the Machine and its related **Alert** details. +>-The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). ## Detections API fields and portal mapping The following table lists the available fields exposed in the detections API payload. It shows examples for the populated values and a reference on how data is reflected on the portal. @@ -91,7 +92,6 @@ Field numbers match the numbers in the images below. ## Related topics - [Enable SIEM integration in Microsoft Defender ATP](enable-siem-integration.md) -- [Configure Splunk to pull Microsoft Defender ATP detections](configure-splunk.md) - [Configure ArcSight to pull Microsoft Defender ATP detections](configure-arcsight.md) - [Pull Microsoft Defender ATP detections using REST API](pull-alerts-using-rest-api.md) - [Troubleshoot SIEM tool integration issues](troubleshoot-siem.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md b/windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md deleted file mode 100644 index 10c69301a9..0000000000 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Configure Splunk to pull Microsoft Defender ATP detections -description: Configure Splunk to receive and pull detections from Microsoft Defender Security Center. -keywords: configure splunk, security information and events management tools, splunk -search.product: eADQiWindows 10XVcnh -search.appverid: met150 -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -manager: dansimp -audience: ITPro -ms.collection: M365-security-compliance -ms.topic: article ---- - -# Configure Splunk to pull Microsoft Defender ATP detections - -**Applies to:** - - -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) - - - ->Want to experience Microsoft Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/microsoft-365/windows/microsoft-defender-atp?ocid=docs-wdatp-configuresplunk-abovefoldlink) - -You'll need to configure Splunk so that it can pull Microsoft Defender ATP detections. - ->[!Note] ->- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections ->- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. - -## Before you begin - -- Install the open source [Windows Defender ATP Modular Inputs TA](https://splunkbase.splunk.com/app/4128/) in Splunk. -- Make sure you have enabled the **SIEM integration** feature from the **Settings** menu. For more information, see [Enable SIEM integration in Microsoft Defender ATP](enable-siem-integration.md) - -- Have the details file you saved from enabling the **SIEM integration** feature ready. You'll need to get the following values: - - Tenant ID - - Client ID - - Client Secret - - Resource URL - - -## Configure Splunk - -1. Login in to Splunk. - -2. Go to **Settings** > **Data inputs**. - -3. Select **Windows Defender ATP alerts** under **Local inputs**. - - NOTE: - This input will only appear after you install the [Windows Defender ATP Modular Inputs TA](https://splunkbase.splunk.com/app/4128/). - -4. Click **New**. - -5. Type the following values in the required fields, then click **Save**: - - NOTE: - All other values in the form are optional and can be left blank. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldValue
NameName for the Data Input
Login URLURL to authenticate the azure app (Default : https://login.microsoftonline.com)
EndpointDepending on the location of your datacenter, select any of the following URL:

For EU: https://wdatp-alertexporter-eu.securitycenter.windows.com

For US:https://wdatp-alertexporter-us.securitycenter.windows.com

For UK:https://wdatp-alertexporter-uk.securitycenter.windows.com -
Tenant IDAzure Tenant ID
ResourceValue from the SIEM integration feature page
Client IDValue from the SIEM integration feature page
Client SecretValue from the SIEM integration feature page
- -After completing these configuration steps, you can go to the Splunk dashboard and run queries. - -## View detections using Splunk solution explorer -Use the solution explorer to view detections in Splunk. - -1. In Splunk, go to **Settings** > **Searchers, reports, and alerts**. - -2. Select **New**. - -3. Enter the following details: - - Search: Enter a query, for example:
- `sourcetype="wdatp:alerts" |spath|table*` - - App: Add-on for Windows Defender (TA_Windows-defender) - - Other values are optional and can be left with the default values. - -4. Click **Save**. The query is saved in the list of searches. - -5. Find the query you saved in the list and click **Run**. The results are displayed based on your query. - - ->[!TIP] -> To minimize Detection duplications, you can use the following query: ->```source="rest://wdatp:alerts" | spath | dedup _raw | table *``` - -## Related topics -- [Enable SIEM integration in Microsoft Defender ATP](enable-siem-integration.md) -- [Configure ArcSight to pull Microsoft Defender ATP detections](configure-arcsight.md) -- [Microsoft Defender ATP Detection fields](api-portal-mapping.md) -- [Pull Microsoft Defender ATP detections using REST API](pull-alerts-using-rest-api.md) -- [Troubleshoot SIEM tool integration issues](troubleshoot-siem.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/pull-alerts-using-rest-api.md b/windows/security/threat-protection/microsoft-defender-atp/pull-alerts-using-rest-api.md index f2c30ec2e4..c55c6e231f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/pull-alerts-using-rest-api.md +++ b/windows/security/threat-protection/microsoft-defender-atp/pull-alerts-using-rest-api.md @@ -27,8 +27,9 @@ ms.topic: article >Want to experience Microsoft Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/microsoft-365/windows/microsoft-defender-atp?ocid=docs-wdatp-pullalerts-abovefoldlink) >[!Note] ->- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections +>- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. +>-The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). Microsoft Defender ATP supports the OAuth 2.0 protocol to pull detections from the API. From 7c2350631d7ec45046f04fd5d24e28f9dc87cb23 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 8 May 2020 13:20:25 -0700 Subject: [PATCH 134/393] draft --- windows/whats-new/TOC.md | 1 + windows/whats-new/index.md | 1 + .../whats-new-windows-10-version-2004.md | 117 +++++++++++------- 3 files changed, 76 insertions(+), 43 deletions(-) diff --git a/windows/whats-new/TOC.md b/windows/whats-new/TOC.md index a043492918..edb6146667 100644 --- a/windows/whats-new/TOC.md +++ b/windows/whats-new/TOC.md @@ -1,4 +1,5 @@ # [What's new in Windows 10](index.md) +## [What's new in Windows 10, version 2004](whats-new-windows-10-version-2004.md) ## [What's new in Windows 10, version 1909](whats-new-windows-10-version-1909.md) ## [What's new in Windows 10, version 1903](whats-new-windows-10-version-1903.md) ## [What's new in Windows 10, version 1809](whats-new-windows-10-version-1809.md) diff --git a/windows/whats-new/index.md b/windows/whats-new/index.md index b7051cfee0..f8674a3abf 100644 --- a/windows/whats-new/index.md +++ b/windows/whats-new/index.md @@ -18,6 +18,7 @@ Windows 10 provides IT professionals with advanced protection against modern sec ## In this section +- [What's new in Windows 10, version 2004](whats-new-windows-10-version-2004.md) - [What's new in Windows 10, version 1909](whats-new-windows-10-version-1909.md) - [What's new in Windows 10, version 1903](whats-new-windows-10-version-1903.md) - [What's new in Windows 10, version 1809](whats-new-windows-10-version-1809.md) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 3e419e8f02..4811c3de8e 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -18,7 +18,34 @@ ms.topic: article **Applies to** - Windows 10, version 1909 -This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 1909, also known as the Windows 10 November 2019 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1903. +This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 2004, also known as the Windows 10 May 2020 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1909. + +> [!NOTE] +> The version number for this release (2004) is an even number so as not to confuse it with major releases of Windows that happened in the year 2003. + +## FIDO2 security key support in Azure Active Directory + +FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to hybrid environments, enabling even more customers to take an important step in their journey towards passwordless environments + +[Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894) + +## Windows Hello for Business + +For WHFB, we have Hybrid AD/AAD support and Phone number sign-in (MSA) + +## Specialized displays + +With this update, devices running Windows 10 Enterprise or Windows 10 Pro for Workstations with multiple displays can be configured to prevent Windows from using a display, making it available for a specialized purpose. + +Examples include: +- Fixed-function arcade & gaming such as cockpit, driving, flight, and military simulators +- Medical imaging devices with custom panels, such as grayscale X-ray displays +- Video walls like those displayed in Microsoft Store +- Dedicated video monitoring +- Monitor panel testing and validation +- Independent Hardware Vendor (IHV) driver testing and validation + +To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. ## Servicing @@ -60,67 +87,71 @@ This update includes 5 fixes to allow the host to run down-level containers on u ### Windows Sandbox -[Windows Sandbox](https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849) is an isolated desktop environment where you can install software without the fear of lasting impact to your device. This feature is available in Windows 10, version 1903. In Windows 10, version 1909 you have even more control over the level of isolation. +[Windows Sandbox](https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849) is an isolated desktop environment where you can install software without the fear of lasting impact to your device. This feature was released with Windows 10, version 1903. Windows 10, version 2004 includes bugfixes and enables even more control over configuration. + +[Windows Sandbox configuration](https://docs.microsoft.com/windows/security/threat-protection/windows-sandbox/windows-sandbox-configure-using-wsb-file) includes: +- MappedFolders now supports a destination folder. Previously no destination could be specified, it was always mapped to the Sandbox desktop. +- AudioInput/VideoInput settings now enable you to share their host microphone or webcam with the Sandbox. +- ProtectedClient is a new security setting that runs the connection to the Sandbox with extra security settings enabled. This is disabled by default due to issues with copy & paste. +- PrinterRedirection: You can now enable and disable host printer sharing with the Sandbox. +- ClipboardRedirection: You can now enable and disable host clipboard sharing with the Sandbox. +- MemoryInMB adds the ability to specify the maximum memory usage of the Sandbox. + +Windows Media Player is also added back to the Sandbox image in this release. + ## Windows Virtual Desktop -[Windows Virtual Desktop](https://docs.microsoft.com/azure/virtual-desktop/overview) (WVD) is now generally available globally! - -Windows Virtual Desktop is a comprehensive desktop and app virtualization service running in the cloud. It’s the only virtual desktop infrastructure (VDI) that delivers simplified management, multi-session Windows 10, optimizations for Microsoft 365 Apps for enterprise, and support for Remote Desktop Services (RDS) environments. Deploy and scale your Windows desktops and apps on Azure in minutes, and get built-in security and compliance features. Windows Virtual Desktop requires a Microsoft E3 or E5 license, or a Microsoft 365 E3 or E5 license, as well as an Azure tenant. +Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) for the latest and greatest information, as well as the [WVD Virtual Event from March](https://aka.ms/wvdvirtualevent). ## Deployment -#### Microsoft Endpoint Manager +### Windows Autopilot -Configuration Manager, Intune, Desktop Analytics, Co-Management, and Device Management Admin Console are now are [Microsoft Endpoint Manager](https://docs.microsoft.com/configmgr/). See the Nov. 4 2019 [announcement](https://www.microsoft.com/microsoft-365/blog/2019/11/04/use-the-power-of-cloud-intelligence-to-simplify-and-accelerate-it-and-the-move-to-a-modern-workplace/). Also see [Modern management and security principles driving our Microsoft Endpoint Manager vision](https://techcommunity.microsoft.com/t5/Enterprise-Mobility-Security/Modern-management-and-security-principles-driving-our-Microsoft/ba-p/946797). +VPN support for user-driven Hybrid Azure AD Join scenarios -### Windows 10 Pro and Enterprise in S mode +### Windows Update for Business - You can now deploy and run traditional Win32 (desktop) apps without leaving the security of S mode by configuring the Windows 10 in S mode policy to support Win32 apps, and deploy them with Mobile Device Management (MDM) software such as Microsoft Intune. For more information, see [Allow Line-of-Business Win32 Apps on Intune-Managed S Mode Devices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/lob-win32-apps-on-s). +Windows Update for Business Enhancements +• Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy +• Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. +• Documentation Updates: we have improved our Windows Update for Business documentation to better communicate how to utilize Windows Update for Business to manage Windows Updates to keep devices secure and end users productive. + + +### Delivery Optimization + +The following [Delivery Optimization](https://docs.microsoft.com/windows/deployment/update/waas-delivery-optimization) policies are removed in this release: + +- Percentage of Maximum Download Bandwidth (DOPercentageMaxDownloadBandwidth) + - Reason: Replaced with separate policies for foreground and background +- Max Upload Bandwidth (DOMaxUploadBandwidth) + - Reason: impacts uploads to internet peers only, which isn't used in Enterprises. +- Absolute max throttle (DOMaxDownloadBandwidth) + - Reason: separated to foreground and background + +### Microsoft Endpoint Manager + +See [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) ### SetupDiag -[SetupDiag](https://docs.microsoft.com/windows/deployment/upgrade/setupdiag) version 1.6.0.42 is available. +In Windows 10, version 2004, SetupDiag is now automatically installed. -SetupDiag is a command-line tool that can help diagnose why a Windows 10 update failed. SetupDiag works by searching Windows Setup log files. When searching log files, SetupDiag uses a set of rules to match known issues. In the current version of SetupDiag there are 53 rules contained in the rules.xml file, which is extracted when SetupDiag is run. The rules.xml file will be updated as new versions of SetupDiag are made available. . +[SetupDiag](https://docs.microsoft.com/windows/deployment/upgrade/setupdiag) is a command-line tool that can help diagnose why a Windows 10 update failed. SetupDiag works by searching Windows Setup log files. When searching log files, SetupDiag uses a set of rules to match known issues. + +During the upgrade process, Windows Setup will extract all its sources files to the **%SystemDrive%\$Windows.~bt\Sources** directory. With Windows 10, version 2004 and later, Windows Setup now also installs SetupDiag.exe to this directory. If there is an issue with the upgrade, SetupDiag is automatically run to determine the cause of the failure. If the upgrade process proceeds normally, this directory is moved under %SystemDrive%\Windows.Old for cleanup. ### Windows Assessment and Deployment Toolkit (ADK) -A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will **not be released** for Windows 10, version 1909. You can use the Windows ADK for Windows 10, version 1903 to deploy Windows 10, version 1909. +A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will be for Windows 10, version 2004. You can use this version of the Windows ADK to deploy Windows 10, version 2004. + +### Microsoft Deployment Toolkit (MDT) + +MDT version 8456 supports Windows 10, version 2004, but there is currently an issue that causes MDT to incorrectly detect that UEFI is present. ## Desktop Analytics -[Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is now generally available globally! Desktop Analytics is a cloud-connected service, integrated with Configuration Manager, which gives you data-driven insights to the management of your Windows endpoints. It provides insight and intelligence that you can use to make more informed decisions about the update readiness of your Windows endpoints. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. - -## Microsoft Connected Cache - -Together with Delivery Optimization, [Microsoft Connected Cache](https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Introducing-Microsoft-Connected-Cache-Microsoft-s-cloud-managed/ba-p/963898) installed on Windows Server or Linux can seamlessly offload your traffic to local sources, caching content efficiently at the byte range level. Connected Cache is configured as a “configure once and forget it” solution that transparently caches content that your devices on your network need. - -## Accessibility - -This release adds the ability for Narrator and other assistive technologies to read and learn where the FN key is located on keyboards and what state it is in (locked versus unlocked). - -## Processor requirements and enhancements - -### Requirements - -[Windows Processor Requirements](https://docs.microsoft.com/windows-hardware/design/minimum/windows-processor-requirements) have been updated for this version of Windows. - -### Favored CPU Core Optimization - -This version of Windows 10 will include optimizations to how instructions are processed by the CPU in order to increase the performance and reliability of the operating system and its applications. - -When a CPU is manufactured, not all of the cores are created equal. Some of the cores may have slightly different voltage and power characteristics that could allow them to get a "boost" in performance. These cores are called "favored cores" as they can offer better performance than the other cores on the die. - -With Intel Turbo Boost Max Technology 3.0, an operating system will use information stored in the CPU to identify which cores are the fastest and then push more of the CPU intensive tasks to those cores. According to Intel, this technology "delivers more than 15% better single-threaded performance". - -### Debugging - -Additional debugging capabilities for newer Intel processors have been added in this release. This is only relevant for hardware manufacturers. - -### Efficiency - -General battery life and power efficiency improvements for PCs with certain processors have been added in this release. +[Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is a cloud-connected service, integrated with Configuration Manager, which gives you data-driven insights to the management of your Windows endpoints. It provides insight and intelligence that you can use to make more informed decisions about the update readiness of your Windows endpoints. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. For information about what's new, see [What's new in Desktop Analytics](https://docs.microsoft.com/mem/configmgr/desktop-analytics/whats-new). ## See Also From 9bbe228b3fe7cdcf9a73878ff89e1fd33e4460c7 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 8 May 2020 15:04:37 -0700 Subject: [PATCH 135/393] draft --- .../whats-new-windows-10-version-2004.md | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 4811c3de8e..bc078924d9 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -23,6 +23,22 @@ This article lists new and updated features and content that are of interest to > [!NOTE] > The version number for this release (2004) is an even number so as not to confuse it with major releases of Windows that happened in the year 2003. +## Cortana + +Cortana: Microsoft says Cortana is evolving into a "personal productivity assistant" that can help you use Microsoft 365 apps. Cortana will be undocked from the taskbar, so you can move or resize it like any other app. An improved email feature lets you use Cortana to create emails (for example, you can say, "Send an email to Mary letting her know I'm running late" or "Show me emails from Jeff"). An improved calendar lets you do the same to create and ask about meetings. And Windows lets you use the assistant to open apps and adjust settings like brightness. + +## Virtual Desktops + +Virtual desktops: Rename your virtual desktops, instead of getting stuck with the system-issued names like Desktop 1. + +## Bluetooth + +Bluetooth pairing: Pairing Bluetooth devices with your machine will occur through notifications, so you won't need to go to the Settings app to finish pairing. + +## 2-in-1 PCs + +New tablet experience for two-in-one convertible PCs: When you detach your two-in-one's keyboard, you'll still keep the familiar look of your desktop without interruption, while still optimizing the screen for touch. + ## FIDO2 security key support in Azure Active Directory FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to hybrid environments, enabling even more customers to take an important step in their journey towards passwordless environments @@ -113,9 +129,9 @@ VPN support for user-driven Hybrid Azure AD Join scenarios ### Windows Update for Business Windows Update for Business Enhancements -• Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy -• Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. -• Documentation Updates: we have improved our Windows Update for Business documentation to better communicate how to utilize Windows Update for Business to manage Windows Updates to keep devices secure and end users productive. +- Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy +- Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. +- Documentation Updates: we have improved our Windows Update for Business documentation to better communicate how to utilize Windows Update for Business to manage Windows Updates to keep devices secure and end users productive. ### Delivery Optimization From 4645e7241b697c8fe585136ef8b47a2c226a3b9e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 11 May 2020 13:57:01 -0700 Subject: [PATCH 136/393] draft --- .../whats-new-windows-10-version-2004.md | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index bc078924d9..3d3403fea2 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -16,12 +16,40 @@ ms.topic: article # What's new in Windows 10, version 2004 IT Pro content **Applies to** -- Windows 10, version 1909 +- Windows 10, version 2004 This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 2004, also known as the Windows 10 May 2020 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1909. > [!NOTE] -> The version number for this release (2004) is an even number so as not to confuse it with major releases of Windows that happened in the year 2003. +> The version number for this release (2004) is an even number to avoid confusion with major releases of Windows that happened in the year 2003. + +## Security + +### Windows Defender System Guard + +In this release, [Windows Defender System Guard](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows) enables an even *higher* level of [System Management Mode](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows#system-management-mode-smm-protection) (SMM) Firmware Protection that goes beyond checking the OS memory and secrets to additional resources like registers and IO. + +With this improvement, the OS can detect a higher level of SMM compliance, ennabling a device to be even more hardened against SMM exploits and vulnerabilities. + +This feature is forward-looking and currently requires new Intel Comet Lake (CML) hardware available soon. + +### Widows Defender Application Guard + +[Windows Defender Application Guard](https://docs.microsoft.com/en-us/deployedge/microsoft-edge-security-windows-defender-application-guard) has been available for Chromium-based Edge since early 2020. + +[Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. + +### FIDO2 security key support in Azure Active Directory + +FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to hybrid environments, enabling even more customers to take an important step in their journey towards passwordless environments + +[Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894) + + + +### Microsoft BitLocker + + ## Cortana @@ -39,12 +67,6 @@ Bluetooth pairing: Pairing Bluetooth devices with your machine will occur throug New tablet experience for two-in-one convertible PCs: When you detach your two-in-one's keyboard, you'll still keep the familiar look of your desktop without interruption, while still optimizing the screen for touch. -## FIDO2 security key support in Azure Active Directory - -FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to hybrid environments, enabling even more customers to take an important step in their journey towards passwordless environments - -[Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894) - ## Windows Hello for Business For WHFB, we have Hybrid AD/AAD support and Phone number sign-in (MSA) @@ -77,22 +99,6 @@ To prevent Windows from using a display, choose Settings > Display and click Adv -## Security - -### Windows Defender Credential Guard - - - -### Microsoft BitLocker - - - -### Key-rolling and Key-rotation - - - -### Transport Layer Security (TLS) - ## Virtualization @@ -159,7 +165,7 @@ During the upgrade process, Windows Setup will extract all its sources files to ### Windows Assessment and Deployment Toolkit (ADK) -A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will be for Windows 10, version 2004. You can use this version of the Windows ADK to deploy Windows 10, version 2004. +A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will be available for Windows 10, version 2004. You can use this version of the Windows ADK to deploy Windows 10, version 2004 and earlier versions of Windows. ### Microsoft Deployment Toolkit (MDT) From f02234c194d3e49228933691c6389a459770daa9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 11 May 2020 15:36:39 -0700 Subject: [PATCH 137/393] draft --- windows/whats-new/whats-new-windows-10-version-2004.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 3d3403fea2..f558827cfb 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -35,7 +35,7 @@ This feature is forward-looking and currently requires new Intel Comet Lake (CML ### Widows Defender Application Guard -[Windows Defender Application Guard](https://docs.microsoft.com/en-us/deployedge/microsoft-edge-security-windows-defender-application-guard) has been available for Chromium-based Edge since early 2020. +[Windows Defender Application Guard](https://docs.microsoft.com/deployedge/microsoft-edge-security-windows-defender-application-guard) has been available for Chromium-based Edge since early 2020. [Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. From 41a481e208bceba6bc46743788fbaef3c0c6f8b6 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Tue, 12 May 2020 08:49:26 +0500 Subject: [PATCH 138/393] Update hello-hybrid-key-trust-prereqs.md --- .../hello-for-business/hello-hybrid-key-trust-prereqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md index cfe007b704..1e8f8cd42c 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md @@ -71,7 +71,7 @@ The minimum required Enterprise certificate authority that can be used with Wind * Optionally, the certificate Basic Constraints section should contain: [Subject Type=End Entity, Path Length Constraint=None]. * The certificate Enhanced Key Usage section must contain Client Authentication (1.3.6.1.5.5.7.3.2), Server Authentication (1.3.6.1.5.5.7.3.1), and KDC Authentication (1.3.6.1.5.2.3.5). * The certificate Subject Alternative Name section must contain the Domain Name System (DNS) name. -* The certificate template must have an extension that has the value "DomainController", encoded as a [BMPstring](https://docs.microsoft.com/windows/win32/seccertenroll/about-bmpstring). +* The certificate template must have an extension that has the value "DomainController", encoded as a [BMPstring](https://docs.microsoft.com/windows/win32/seccertenroll/about-bmpstring). If you are using Windows Server Enterprise Certificate Authority, this extension is already included in Domain Controller certificate template. * The domain controller certificate must be installed in the local computer's certificate store. From ee5bb3de652f01111a66d4574f5ef21b2ce13cb2 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Tue, 12 May 2020 09:51:46 -0700 Subject: [PATCH 139/393] safety checkin --- .../waas-delivery-optimization-setup.md | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/waas-delivery-optimization-setup.md b/windows/deployment/update/waas-delivery-optimization-setup.md index ac14bcf549..95f085cab5 100644 --- a/windows/deployment/update/waas-delivery-optimization-setup.md +++ b/windows/deployment/update/waas-delivery-optimization-setup.md @@ -139,7 +139,9 @@ Using the `-Verbose` option returns additional information: - Bytes from CDN (the number of bytes received over HTTP) - Average number of peer connections per download  -Starting in Window 10, version 1903, `get-DeliveryOptimizationPerfSnap` has a new option `-CacheSummary` which provides a summary of the cache status. +Starting in Windows 10, version 2004, `Get-DeliveryOptimizationPerfSnap` has a new option `-PeerInfo` which returns a real-time list of the connected peers. + +Starting in Windows 10, version 1903, `get-DeliveryOptimizationPerfSnap` has a new option `-CacheSummary` which provides a summary of the cache status. Starting in Windows 10, version 1803, `Get-DeliveryOptimizationPerfSnapThisMonth` returns data similar to that from `Get-DeliveryOptimizationPerfSnap` but limited to the current calendar month. @@ -166,6 +168,30 @@ You can now "pin" files to keep them persistent in the cache. You can only do th #### Work with Delivery Optimization logs +**Starting in Windows 10, version 2004:** + +`Get-DeliveryOptimizationLogAnalysis [ETL Logfile path] [-ListConnections]` + +With no options, this cmdlet returns these data: + +- total number of files +- number of foreground files +- minimum file size for it to be cached +- number of eligible files +- number of files with peers +- number of peering files [how different from the above?] +- overall efficiency +- efficiency in the peered files + +Using the `-ListConnections` option returns these detauls about peers: + +- destination IP address +- peer type +- status code +- bytes sent +- bytes received +- file ID + **Starting in Windows 10, version 1803:** `Get-DeliveryOptimizationLog [-Path ] [-Flush]` From ce022b980b0085d63e7a5dc19fbf293665f3a0a4 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Wed, 13 May 2020 11:33:35 +0500 Subject: [PATCH 140/393] Update enlightened-microsoft-apps-and-wip.md --- .../enlightened-microsoft-apps-and-wip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md b/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md index 48c612f49d..6e1e13de5c 100644 --- a/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md +++ b/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md @@ -74,7 +74,7 @@ Microsoft has made a concerted effort to enlighten several of our more popular a - Microsoft Remote Desktop > [!NOTE] -> Microsoft Visio, Microsoft Office Access and Microsoft Project are not enlightended apps and need to be exempted from WIP policy. If they are allowed, there is a risk of data loss. For example, if a device is workplace-joined and managed and the user leaves the company, metadata files that the apps rely on remain encrypted and the apps stop functioining. +> Microsoft Visio, Microsoft Office Access, Microsoft Project and Microsoft Publisher are not enlightended apps and need to be exempted from WIP policy. If they are allowed, there is a risk of data loss. For example, if a device is workplace-joined and managed and the user leaves the company, metadata files that the apps rely on remain encrypted and the apps stop functioining. ## List of WIP-work only apps from Microsoft Microsoft still has apps that are unenlightened, but which have been tested and deemed safe for use in an enterprise with WIP and MAM solutions. From 5758cb7036f3d8d001eeeedfe38748bc953ec102 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Wed, 13 May 2020 15:09:37 +0500 Subject: [PATCH 141/393] Update windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md Co-authored-by: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../hello-for-business/hello-hybrid-key-trust-prereqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md index 1e8f8cd42c..4bb50799f0 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md @@ -71,7 +71,7 @@ The minimum required Enterprise certificate authority that can be used with Wind * Optionally, the certificate Basic Constraints section should contain: [Subject Type=End Entity, Path Length Constraint=None]. * The certificate Enhanced Key Usage section must contain Client Authentication (1.3.6.1.5.5.7.3.2), Server Authentication (1.3.6.1.5.5.7.3.1), and KDC Authentication (1.3.6.1.5.2.3.5). * The certificate Subject Alternative Name section must contain the Domain Name System (DNS) name. -* The certificate template must have an extension that has the value "DomainController", encoded as a [BMPstring](https://docs.microsoft.com/windows/win32/seccertenroll/about-bmpstring). If you are using Windows Server Enterprise Certificate Authority, this extension is already included in Domain Controller certificate template. +* The certificate template must have an extension that has the value "DomainController", encoded as a [BMPstring](https://docs.microsoft.com/windows/win32/seccertenroll/about-bmpstring). If you are using Windows Server Enterprise Certificate Authority, this extension is already included in the domain controller certificate template. * The domain controller certificate must be installed in the local computer's certificate store. From 48fa3b26087ce72b6de583447f9580afd64ca539 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Wed, 13 May 2020 15:23:54 +0500 Subject: [PATCH 142/393] Update windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md Co-authored-by: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../enlightened-microsoft-apps-and-wip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md b/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md index 6e1e13de5c..19dc5a17f0 100644 --- a/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md +++ b/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip.md @@ -74,7 +74,7 @@ Microsoft has made a concerted effort to enlighten several of our more popular a - Microsoft Remote Desktop > [!NOTE] -> Microsoft Visio, Microsoft Office Access, Microsoft Project and Microsoft Publisher are not enlightended apps and need to be exempted from WIP policy. If they are allowed, there is a risk of data loss. For example, if a device is workplace-joined and managed and the user leaves the company, metadata files that the apps rely on remain encrypted and the apps stop functioining. +> Microsoft Visio, Microsoft Office Access, Microsoft Project, and Microsoft Publisher are not enlightened apps and need to be exempted from WIP policy. If they are allowed, there is a risk of data loss. For example, if a device is workplace-joined and managed and the user leaves the company, metadata files that the apps rely on remain encrypted and the apps stop functioning. ## List of WIP-work only apps from Microsoft Microsoft still has apps that are unenlightened, but which have been tested and deemed safe for use in an enterprise with WIP and MAM solutions. From 49235d5f70f3c0bff01443eed602ada8449d16e2 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 13 May 2020 11:08:48 -0700 Subject: [PATCH 143/393] draft --- windows/whats-new/whats-new-windows-10-version-2004.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index f558827cfb..1e8f1ce34f 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -29,7 +29,7 @@ This article lists new and updated features and content that are of interest to In this release, [Windows Defender System Guard](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows) enables an even *higher* level of [System Management Mode](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows#system-management-mode-smm-protection) (SMM) Firmware Protection that goes beyond checking the OS memory and secrets to additional resources like registers and IO. -With this improvement, the OS can detect a higher level of SMM compliance, ennabling a device to be even more hardened against SMM exploits and vulnerabilities. +With this improvement, the OS can detect a higher level of SMM compliance, enabling devices to be even more hardened against SMM exploits and vulnerabilities. This feature is forward-looking and currently requires new Intel Comet Lake (CML) hardware available soon. From 4b11bc630ac0453888d06f12f9bcea0677ae02b0 Mon Sep 17 00:00:00 2001 From: v-miegge <49650192+v-miegge@users.noreply.github.com> Date: Thu, 14 May 2020 10:56:35 -0700 Subject: [PATCH 144/393] CI 117811 - updated article --- devices/surface-hub/surface-hub-2s-account.md | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/devices/surface-hub/surface-hub-2s-account.md b/devices/surface-hub/surface-hub-2s-account.md index fb93b0e7d9..760b4c541b 100644 --- a/devices/surface-hub/surface-hub-2s-account.md +++ b/devices/surface-hub/surface-hub-2s-account.md @@ -15,15 +15,18 @@ ms.localizationpriority: Medium # Create Surface Hub 2S device account -Creating a Surface Hub device account (also known as a Room mailbox) allows Surface Hub 2S to receive, approve, or decline meeting requests and join meetings using Microsoft Teams or Skype for Business. Configure the device account during OOBE setup. If needed you can change it later (without going through OOBE setup). +Creating a Surface Hub device account (also known as a Room mailbox) allows Surface Hub 2S to receive, approve, or decline meeting requests and join meetings using either Microsoft Teams or Skype for Business. Configure the device account during Out of Box Experience (OOBE) setup. If needed you can change it later (without going through OOBE setup). Unlike standard Room mailboxes that remain disabled by default, you need to enable the Surface Hub 2S device account to sign on to Microsoft Teams and Skype for Business. Surface Hub 2S relies on Exchange ActiveSync, which requires an ActiveSync mailbox policy on the device account. Apply the default ActiveSync mailbox policy that comes with Exchange Online. -Create the account using the Microsoft 365 admin center or by using PowerShell. You can use Exchange Online PowerShell to configure specific features including: +Create the account using the Microsoft 365 admin center or by using PowerShell. You can use Exchange Online PowerShell to configure specific features including: - Calendar processing for every Surface Hub device account. - Custom auto replies to scheduling requests. -- If the default ActiveSync mailbox policy has already been modified by someone else or another process, you will likely have to create and assign a new ActiveSync mailbox policy +- If the default ActiveSync mailbox policy has already been modified by someone else or another process, you will likely have to create and assign a new ActiveSync mailbox policy + +> [!NOTE] +> The Surface Hub device account doesn’t support 3rd party Federated Identity Providers (FIPs) and must be a standard Active Directory or Azure Active Directory account. ## Create account using Microsoft 365 admin center @@ -31,17 +34,17 @@ Create the account using the Microsoft 365 admin center or by using PowerShell. 2. Provide a name and email address for the device account. Leave remaining settings unchanged in the default state. -![Provide a name and email address](images/sh2-account2.png) + ![Provide a name and email address](images/sh2-account2.png) -![Leave remaining settings unchanged in the default state](images/sh2-account3.png) + ![Leave remaining settings unchanged in the default state](images/sh2-account3.png) 3. Set the password for the device account. To set the password, choose **Users** and then select **Active Users**. Now search for the newly created user to set the password. Ensure that you **do not** select the option **Make this user change their password when they first sign in.** -![Set the password for the device account](images/sh2-account4.png) + ![Set the password for the device account](images/sh2-account4.png) 4. Assign the room with an Office 365 license. It’s recommended to assign the Office 365 **Meeting Room** license, a new option that automatically enables the account for Skype for Business Online and Microsoft Teams. -![Assign Office 365 license](images/sh2-account5.png) + ![Assign Office 365 license](images/sh2-account5.png) ### Finalize setup via PowerShell @@ -50,6 +53,7 @@ Create the account using the Microsoft 365 admin center or by using PowerShell. - **Microsoft Teams and Skype for Business Calendar:** Set [**Calendar Auto processing**](https://docs.microsoft.com/surface-hub/surface-hub-2s-account?source=docs#set-calendar-auto-processing) for this account. ## Create account using PowerShell + Instead of using the Microsoft Admin Center portal, you can create the account using PowerShell. ### Connect to Exchange Online PowerShell @@ -59,13 +63,13 @@ $365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $ImportResults = Import-PSSession $365Session ``` -### Create a new Room Mailbox +### Create a new Room mailbox ```powershell New-Mailbox -MicrosoftOnlineServicesID account@YourDomain.com -Alias SurfaceHub2S -Name SurfaceHub2S -Room -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String "" -AsPlainText -Force) ``` -### Set Calendar Auto processing +### Set Calendar auto-processing ```powershell Set-CalendarProcessing -Identity "account@YourDomain.com" -AutomateProcessing AutoAccept -AddOrganizerToSubject $false –AllowConflicts $false –DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false -AddAdditionalResponse $true -AdditionalResponse "This room is equipped with a Surface Hub" @@ -81,7 +85,7 @@ Set-MsolUserLicense -UserPrincipalName "account@YourDomain.com" -AddLicenses "co ## Connect to Skype for Business Online using PowerShell -### Install prerequisites +### Install pre-requisites - [Visual C++ 2017 Redistributable](https://aka.ms/vs/15/release/vc_redist.x64.exe) - [Skype for Business Online PowerShell Module](https://www.microsoft.com/download/confirmation.aspx?id=39366) From 5fd2ca939a7a09f0af27a31d92f620bd1b98b653 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 14 May 2020 12:49:47 -0700 Subject: [PATCH 145/393] remove from toc --- windows/security/threat-protection/TOC.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 0db55f90c3..063d1a137f 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -437,7 +437,6 @@ ## Reference ### [Management and APIs]() #### [Overview of management and APIs](microsoft-defender-atp/management-apis.md) -#### [Enable SIEM integration](microsoft-defender-atp/enable-siem-integration.md) #### [Microsoft Defender ATP API]() ##### [Get started]() ###### [Microsoft Defender ATP API license and terms](microsoft-defender-atp/api-terms-of-use.md) From 8c10a037e5fb5e2ab28e96744d40aa4aae5f08b3 Mon Sep 17 00:00:00 2001 From: v-miegge <49650192+v-miegge@users.noreply.github.com> Date: Thu, 14 May 2020 14:10:41 -0700 Subject: [PATCH 146/393] CI 113553 - Created file, images, updated TOC --- devices/surface/TOC.md | 1 + .../manage-surface-driver-updates-1.png | Bin 0 -> 29651 bytes .../manage-surface-driver-updates-2.png | Bin 0 -> 5930 bytes .../manage-surface-driver-updates-3.png | Bin 0 -> 8879 bytes .../manage-surface-driver-updates-4.png | Bin 0 -> 69349 bytes ...age-surface-driver-and-firmware-updates.md | 41 ++-- ...ce-driver-updates-configuration-manager.md | 197 ++++++++++++++++++ 7 files changed, 215 insertions(+), 24 deletions(-) create mode 100644 devices/surface/images/manage-surface-driver-updates-1.png create mode 100644 devices/surface/images/manage-surface-driver-updates-2.png create mode 100644 devices/surface/images/manage-surface-driver-updates-3.png create mode 100644 devices/surface/images/manage-surface-driver-updates-4.png create mode 100644 devices/surface/manage-surface-driver-updates-configuration-manager.md diff --git a/devices/surface/TOC.md b/devices/surface/TOC.md index 92801e4289..af55a15296 100644 --- a/devices/surface/TOC.md +++ b/devices/surface/TOC.md @@ -43,6 +43,7 @@ ## Manage ### [Manage and deploy Surface driver and firmware updates](manage-surface-driver-and-firmware-updates.md) +### [Manage Surface driver updates in Configuration Manager](manage-surface-driver-updates-configuration-manager.md) ### [Optimize Wi-Fi connectivity for Surface devices](surface-wireless-connect.md) ### [Best practice power settings for Surface devices](maintain-optimal-power-settings-on-Surface-devices.md) ### [Surface Dock Firmware Update](surface-dock-firmware-update.md) diff --git a/devices/surface/images/manage-surface-driver-updates-1.png b/devices/surface/images/manage-surface-driver-updates-1.png new file mode 100644 index 0000000000000000000000000000000000000000..58cec90ea06f708f04b12a96c781300ed8108bef GIT binary patch literal 29651 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 B?Xds= literal 0 HcmV?d00001 diff --git a/devices/surface/images/manage-surface-driver-updates-2.png b/devices/surface/images/manage-surface-driver-updates-2.png new file mode 100644 index 0000000000000000000000000000000000000000..26bcfcda7432fb5f57ea05461460ed78ddb7114c GIT binary patch literal 5930 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 v^j5FE{?GULFC;oX)UAuw`zAB{>W`trX3Z7^bi literal 0 HcmV?d00001 diff --git a/devices/surface/images/manage-surface-driver-updates-3.png b/devices/surface/images/manage-surface-driver-updates-3.png new file mode 100644 index 0000000000000000000000000000000000000000..e1dafd7f1512beb287bf20249282236b4f8b565f GIT binary patch literal 8879 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 literal 0 HcmV?d00001 diff --git a/devices/surface/images/manage-surface-driver-updates-4.png b/devices/surface/images/manage-surface-driver-updates-4.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6e4cafb41ac234112c42dbc3caee0b374781e1 GIT binary patch literal 69349 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 [!NOTE] > This article is intended for technical support agents and IT professionals and applies to Surface devices only. If you're looking for help to install Surface updates or firmware on a home device, see [Update Surface firmware and Windows 10](https://support.microsoft.com/help/4023505). - + While enterprise-grade software distribution solutions continue to evolve, the business rationale for centrally managing updates remains the same: Maintain the security of Surface devices and keep them updated with the latest operating system and feature improvements. This is essential for sustaining a stable production environment and ensuring users aren't blocked from being productive. This article provides an overview of recommended tools and processes for larger organizations to accomplish these goals. ## Central update management in commercial environments @@ -32,18 +32,17 @@ Microsoft has streamlined tools for managing devices – including driver and fi ### Manage updates with Configuration Manager and Intune Microsoft Endpoint Configuration Manager allows you to synchronize and deploy Surface firmware and driver updates with the Configuration Manager client. Integration with Microsoft Intune lets you see all your managed, co-managed, and partner-managed devices in one place. This is the recommended solution for large organizations to manage Surface updates. - + For detailed steps, see the following resources: -- [How to manage Surface driver updates in Configuration Manager.](https://support.microsoft.com/help/4098906/manage-surface-driver-updates-in-configuration-manager) -- [Deploy applications with Configuration Manager](https://docs.microsoft.com/configmgr/apps/deploy-use/deploy-applications). +- [How to manage Surface driver updates in Configuration Manager](https://docs.microsoft.com/surface/manage-surface-driver-updates-configuration-manager.md) +- [Deploy applications with Configuration Manager](https://docs.microsoft.com/configmgr/apps/deploy-use/deploy-applications) - [Endpoint Configuration Manager documentation](https://docs.microsoft.com/configmgr/) - ### Manage updates with Microsoft Deployment Toolkit Included in Endpoint Configuration Manager, the Microsoft Deployment Toolkit (MDT) contains optional deployment tools that you may wish to use depending on your environment. These include the Windows Assessment and Deployment Kit (Windows ADK), Windows System Image Manager (Windows SIM), Deployment Image Servicing and Management (DISM), and User State Migration Tool (USMT). You can download the latest version of MDT from the [Microsoft Deployment Toolkit download page](https://www.microsoft.com/download/details.aspx?id=54259). - + For detailed steps, see the following resources: - [Microsoft Deployment Toolkit documentation](https://docs.microsoft.com/configmgr/mdt/) @@ -54,7 +53,6 @@ Surface driver and firmware updates are packaged as Windows Installer (*.msi) fi For instructions on how to deploy updates by using Endpoint Configuration Manager refer to [Deploy applications with Configuration Manager](https://docs.microsoft.com/configmgr/apps/deploy-use/deploy-applications). For instructions on how to deploy updates by using MDT, see [Deploy a Windows 10 image using MDT](https://docs.microsoft.com/windows/deployment/deploy-windows-mdt/deploy-a-windows-10-image-using-mdt). - **WindowsPE and Surface firmware and drivers** Endpoint Configuration Manager and MDT both use the Windows Preinstallation Environment (WindowsPE) during the deployment process. WindowsPE only supports a limited set of basic drivers such as those for network adapters and storage controllers. Drivers for Windows components that are not part of WindowsPE might produce errors. As a best practice, you can prevent such errors by configuring the deployment process to use only the required drivers during the WindowsPE phase. @@ -65,13 +63,12 @@ Starting in Endpoint Configuration Manager, you can synchronize and deploy Micro ## Supported devices -Downloadable .msi files are available for Surface devices from Surface Pro 2 and later. Information about .msi files for the newest Surface devices such as Surface Pro 7, Surface Pro X, and Surface Laptop 3 will be available from this page upon release. - +Downloadable .msi files are available for Surface devices from Surface Pro 2 and later. Information about .msi files for the newest Surface devices such as Surface Pro 7, Surface Pro X, and Surface Laptop 3 will be available from this page upon release. ## Managing firmware with DFCI With Device Firmware Configuration Interface (DFCI) profiles built into Intune (now available in [public preview](https://docs.microsoft.com/intune/configuration/device-firmware-configuration-interface-windows)), Surface UEFI management extends the modern management stack down to the UEFI hardware level. DFCI supports zero-touch provisioning, eliminates BIOS passwords, provides control of security settings including boot options and built-in peripherals, and lays the groundwork for advanced security scenarios in the future. For more information, see: - + - [Intune management of Surface UEFI settings](https://docs.microsoft.com/surface/surface-manage-dfci-guide) - [Ignite 2019: Announcing remote management of Surface UEFI settings from Intune](https://techcommunity.microsoft.com/t5/Surface-IT-Pro-Blog/Ignite-2019-Announcing-remote-management-of-Surface-UEFI/ba-p/978333). @@ -93,7 +90,6 @@ Specific versions of Windows 10 have separate .msi files, each containing all re - Management engine (ME) - Unified extensible firmware interface (UEFI) - ### Downloading .msi files 1. Browse to [Download drivers and firmware for Surface](https://support.microsoft.com/help/4023482/surface-download-drivers-and-firmware) on the Microsoft Download Center. @@ -102,8 +98,7 @@ Specific versions of Windows 10 have separate .msi files, each containing all re ![Figure 1. Downloading Surface updates](images/fig1-downloads-msi.png) *Figure 1. Downloading Surface updates* - - + ### Surface .msi naming convention Since August 2019, .msi files have used the following naming convention: @@ -120,14 +115,15 @@ This file name provides the following information: - **Windows release:** Win10 - **Build:** 18362 - **Version:** 19.073.44195 – This shows the date and time that the file was created, as follows: - - **Year:** 19 (2019) - - **Month and week:** 073 (third week of July) - - **Minute of the month:** 44195 + - **Year:** 19 (2019) + - **Month and week:** 073 (third week of July) + - **Minute of the month:** 44195 - **Revision of version:** 0 (first release of this version) ### Legacy Surface .msi naming convention + Legacy .msi files (files built before August 2019) followed the same overall naming formula but used a different method to derive the version number. - **** + **Example** - SurfacePro6_Win10_16299_1900307_0.msi @@ -138,13 +134,11 @@ This file name provides the following information: - **Windows release:** Win10 - **Build:** 16299 - **Version:** 1900307 – This shows the date that the file was created and its position in the release sequence, as follows: - - **Year:** 19 (2019) - - **Number of release:** 003 (third release of the year) - - **Product version number:** 07 (Surface Pro 6 is officially the seventh version of Surface Pro) + - **Year:** 19 (2019) + - **Number of release:** 003 (third release of the year) + - **Product version number:** 07 (Surface Pro 6 is officially the seventh version of Surface Pro) - **Revision of version:** 0 (first release of this version) - - ## Learn more - [Download drivers and firmware for Surface](https://support.microsoft.com/help/4023482/surface-download-drivers-and-firmware) @@ -157,4 +151,3 @@ This file name provides the following information: - [Intune management of Surface UEFI settings](https://docs.microsoft.com/surface/surface-manage-dfci-guide) - [Ignite 2019: Announcing remote management of Surface UEFI settings from Intune](https://techcommunity.microsoft.com/t5/Surface-IT-Pro-Blog/Ignite-2019-Announcing-remote-management-of-Surface-UEFI/ba-p/978333). - [Build deployment rings for Windows 10 updates](https://docs.microsoft.com/windows/deployment/update/waas-deployment-rings-windows-10-updates) - diff --git a/devices/surface/manage-surface-driver-updates-configuration-manager.md b/devices/surface/manage-surface-driver-updates-configuration-manager.md new file mode 100644 index 0000000000..f0d70b03fd --- /dev/null +++ b/devices/surface/manage-surface-driver-updates-configuration-manager.md @@ -0,0 +1,197 @@ +--- +title: Manage Surface driver updates in Configuration Manager +description: This article describes the available options to manage and deploy firmware and driver updates for Surface devices. +ms.assetid: b64879c4-37eb-4fcf-a000-e05cbb3d26ea +ms.reviewer: +author: v-miegge +manager: laurawi +keywords: Surface, Surface Pro 3, firmware, update, device, manage, deploy, driver, USB +ms.localizationpriority: medium +ms.prod: w10 +ms.mktglfcycl: manage +ms.pagetype: surface, devices +ms.sitesec: library +author: coveminer +ms.author: v-venum +ms.topic: article +ms.audience: itpro +--- + +# Manage Surface driver updates in Configuration Manager + +## Summary + +Starting in [Microsoft System Center Configuration Manager version 1710](https://docs.microsoft.com/sccm/core/plan-design/changes/whats-new-in-version-1710#software-updates), you can synchronize and deploy Microsoft Surface firmware and driver updates directly through the Configuration Manager client. The process resembles deploying regular updates. However, some additional configurations are required to get the Surface driver updates into your catalog. + +## Prerequisites + +To manage Surface driver updates, the following prerequisites must be met: + +- You must use Configuration Manager version 1710 or a later version. +- All Software Update Points (SUPs) must run Windows Server 2016 or a later version. Otherwise, Configuration Manager ignores this setting and Surface drivers won't be synchronized. + +> [!NOTE] +> If your environment doesn’t meet the prerequisites, refer to the [alternative methods](https://support.microsoft.com/help/4098906/manage-surface-driver-updates-in-configuration-manager#1) to deploy Surface driver and firmware updates in the "FAQ" section. + +## Useful log files + +The following logs are especially useful when you manage Surface driver updates. + +|Log name|Description| +|---|---| +|WCM.log|Records details about the software update point configuration and connections to the WSUS server for subscribed update categories, classifications, and languages.| +|WsyncMgr.log|Records details about the software updates sync process.| + +These logs are located on the site server that manages the SUP, or on the SUP itself if it's installed directly on a site server. +For a complete list of Configuration Manager logs, see [Log files in System Center Configuration Manager](https://docs.microsoft.com/sccm/core/plan-design/hierarchy/log-files). + +## Enabling Surface driver updates management + +To enable Surface driver updates management in Configuration Manager, follow these steps: + +1. In the Configuration Manager console, go to **Administration** > **Overview** > **Site Configuration** > **Sites**. +1. Select the site that contains the top-level SUP server for your environment. +1. On the ribbon, select **Configure Site Components**, and then select **Software Update Point**. Or, right-click the site, and then select **Configure Site Components** > **Software Update Point**. +1. On the **Classifications** tab, select the **Include Microsoft Surface drivers and firmware updates** check box. + + ![Software Update Point Component Properties](images/manage-surface-driver-updates-1.png) + +1. When you're prompted by the following warning message, select **OK**. + + ![Configuration Manager](images/manage-surface-driver-updates-2.png) + +1. On the Products tab, select the products that you want to update, and then select **OK**. + + Most drivers belong to the following product groups: + + - Windows 10 and later version drivers + - Windows 10 and later Upgrade & Servicing Drivers + - Windows 10 Anniversary Update and Later Servicing Drivers + - Windows 10 Anniversary Update and Later Upgrade & Servicing Drivers + - Windows 10 Creators Update and Later Servicing Drivers + - Windows 10 Creators Update and Later Upgrade & Servicing Drivers + - Windows 10 Fall Creators Update and Later Servicing Drivers + - Windows 10 Fall Creators Update and Later Upgrade & Servicing Drivers + - Windows 10 S and Later Servicing Drivers + - Windows 10 S Version 1709 and Later Servicing Drivers for testing + - Windows 10 S Version 1709 and Later Upgrade & Servicing Drivers for testing + +> [!NOTE] +> Most Surface drivers belong to multiple Windows 10 product groups. You may not have to select all the products that are listed here. To help reduce the number of products that populate your Update Catalog, we recommend that you select only the products that are required by your environment for synchronization. + +## Verifying the configuration + +To verify that the SUP is configured correctly, follow these steps: + +1. Open WsyncMgr.log, and then look for the following entry: + + ``` + Surface Drivers can be supported in this hierarchy since all SUPs are on Windows Server 2016, WCM SCF property Sync Catalog Drivers is set. + + Sync Catalog Drivers SCF value is set to : 1 + ``` + + If either of the following entries is logged in WsyncMgr.log, recheck step 4 in the previous section: + + ``` + Sync Surface Drivers option is not set + + Sync Catalog Drivers SCF value is set to : 0 + ``` + +1. Open WCM.log, and then look for an entry that resembles the following: + + ![WCM.log settings](images/manage-surface-driver-updates-3.png) + + This entry is an XML element that lists every product group and classification that's currently synchronized by your SUP server. For example, you might see an entry that resembles the following: + + ``` + + + + + + ``` + + If you can't find the products that you selected in step 6 in the previous section, double-check whether the SUP settings are saved. + + You can also wait until the next synchronization finishes, and then check whether the Surface driver and firmware updates are listed in Software Updates in the Configuration Manager console. For example, the console might display the following information: + + ![All Software Updates Search Results](images/manage-surface-driver-updates-4.png) + +## Manual synchronization + +If you don't want to wait until the next synchronization, follow these steps to start a synchronization: + +1. In the Configuration Manager console, go to **Software Library** > **Overview** > **Software Updates** > **All Software Updates**. +1. On the ribbon, select **Synchronize Software Updates**. Or, right-click **All Software Update**, and then select **Synchronize Software Update**. +1. Monitor the synchronization progress by looking for the following entries in WsyncMgr.log: + + ``` + Surface Drivers can be supported in this hierarchy since all SUPs are on Windows Server 2016, WCM SCF property Sync Catalog Drivers is set. + + sync: SMS synchronizing categories + sync: SMS synchronizing categories, processed 0 out of 311 items (0%) + sync: SMS synchronizing categories, processed 311 out of 311 items (100%) + sync: SMS synchronizing categories, processed 311 out of 311 items (100%) + sync: SMS synchronizing updates + + Synchronizing update 7eaa0148-c42b-45fd-a1ab-012c82972de6 - Microsoft driver update for Surface Type Cover Integration + Synchronizing update 2dcb07f8-37ec-41ef-8cd5-030bf24dc1d8 - Surface driver update for Surface Pen Pairing + Synchronizing update 63067414-ae52-422b-b3d1-0382a4d6519a - Surface driver update for Surface UEFI + Synchronizing update 8e4e3a41-a784-4dd7-9a42-041f43ddb775 - Surface driver update for Surface Integration + Synchronizing update 7f8baee8-419f-47e2-918a-045a15a188e7 - Microsoft driver update for Surface DTX + Synchronizing update aed66e05-719b-48cd-a0e7-059e50f67fdc - Microsoft driver update for Surface Base Firmware Update + Synchronizing update 8ffe1526-6e66-43cc-86e3-05ad92a24e3a - Surface driver update for Surface UEFI + Synchronizing update 74102899-0a49-48cf-97e6-05bde18a27ff - Microsoft driver update for Surface UEFI + ``` + +## Deploying Surface firmware and driver updates + +You can deploy Surface firmware and driver updates in the same manner as you deploy other updates. + +For more information about deployment, see [System Center 2012 Configuration Manager–Part7: Software Updates (Deploy)](https://blogs.technet.microsoft.com/elie/2012/05/25/system-center-2012-configuration-managerpart7-software-updates-deploy/). + +## Frequently asked questions (FAQ) + +**After I follow the steps in this article, my Surface drivers are still not synchronized. Why?** + +If you synchronize from an upstream Windows Server Update Services (WSUS) server instead of Microsoft Update, make sure that the upstream WSUS server is configured to support and synchronize Surface driver updates. All downstream servers are limited to updates that are present in the upstream WSUS server database. + +**After I follow the steps in this article, some Surface drivers are synchronized, but not the expected drivers. Why?** + +The processing time for testing drivers and confirming them for deployment through WSUS and Configuration Manager varies. Therefore, Surface driver updates are not necessarily available on the same day for both manual installation and Configuration Manager console deployment. + +Additionally, there are more than 68,000 updates that are classified as drivers in WSUS. To prevent non-Surface related drivers from synchronizing to Configuration Manager, Microsoft filters driver synchronization against an allow list. Surface drivers must go through additional testing before they can be added to this list. After the new allow list is published and incorporated into Configuration Manager, the new drivers are added to the console following the next synchronization. + +**Is the driver allow list published? Is it downloadable?** + +The Surface driver allow list isn't published online. This list is delivered to Configuration Manager through the update and servicing channels. If your Configuration Manager environment is online and able to detect new updates, you will receive updates to the list automatically. + +If your Configuration Manager environment is offline, a new allow list is imported every time that you import servicing updates to Configuration Manager. You will also have to import a new WSUS catalog that contains the drivers before the updates are displayed in the Configuration Manager console. Because a stand-alone WSUS environment contains more drivers than a Configuration Manager SUP, we recommend that you establish a Configuration Manager environment that has online capabilities, and that you configure it to synchronize Surface drivers. This provides a smaller WSUS export that closely resembles the offline environment. + +Another solution is to use [alternative methods](https://support.microsoft.com/help/4098906/manage-surface-driver-updates-in-configuration-manager#1) to deploy Surface driver and firmware updates. + +**I require the latest firmware update, and I can't wait for it to be approved for import into Configuration Manager. Can I manually import the driver into WSUS?** + +No. Even if the update is imported into WSUS, the update won't be imported into the Configuration Manager console for deployment if it isn't listed in the allow list. + +Another solution is to use [alternative methods](https://support.microsoft.com/help/4098906/manage-surface-driver-updates-in-configuration-manager#1) to deploy Surface driver and firmware updates. + +**Can I manually add a driver to the allow list?** + +No. The list is stored in the Configuration Manager database. Any changes to the list will be overwritten the next time that the CAB file is processed. + +**What alternative methods do I have to deploy Surface driver and firmware updates?** + +For information about how to deploy Surface driver and firmware updates through alternative channels, see [Manage Surface driver and firmware updates](https://docs.microsoft.com/surface/manage-surface-pro-3-firmware-updates). + +If you want to download the .msi or .exe file, and then deploy through traditional software deployment channels, see [Keeping Surface Firmware Updated with Configuration Manager](https://blogs.technet.microsoft.com/thejoncallahan/2016/06/20/keeping-surface-firmware-updated-with-configuration-manager/). + +## Additional Information + +For more information about Surface driver and firmware updates, see the following articles: + +- [Download the latest firmware and drivers for Surface devices](https://docs.microsoft.com/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices) +- [Manage Surface driver and firmware updates](https://docs.microsoft.com/surface/manage-surface-pro-3-firmware-updates) +- [Considerations for Surface and System Center Configuration Manager](https://docs.microsoft.com/surface/considerations-for-surface-and-system-center-configuration-manager) From 35a2d548d1762b2528e49faec7a16cb3776b9229 Mon Sep 17 00:00:00 2001 From: Mike Eggers <49650192+v-miegge@users.noreply.github.com> Date: Thu, 14 May 2020 14:39:48 -0700 Subject: [PATCH 147/393] Updated ms.author --- .../manage-surface-driver-updates-configuration-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface/manage-surface-driver-updates-configuration-manager.md b/devices/surface/manage-surface-driver-updates-configuration-manager.md index f0d70b03fd..285d16a325 100644 --- a/devices/surface/manage-surface-driver-updates-configuration-manager.md +++ b/devices/surface/manage-surface-driver-updates-configuration-manager.md @@ -12,7 +12,7 @@ ms.mktglfcycl: manage ms.pagetype: surface, devices ms.sitesec: library author: coveminer -ms.author: v-venum +ms.author: daclark ms.topic: article ms.audience: itpro --- From 5c5a55480d1ec98fc53b9c9a5a44997bffaba69d Mon Sep 17 00:00:00 2001 From: jaimeo Date: Fri, 15 May 2020 09:42:36 -0700 Subject: [PATCH 148/393] safety commit --- .../waas-delivery-optimization-reference.md | 2 +- .../waas-delivery-optimization-setup.md | 6 +++++ .../update/waas-delivery-optimization.md | 24 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/waas-delivery-optimization-reference.md b/windows/deployment/update/waas-delivery-optimization-reference.md index a5d605d778..b4bb57aef5 100644 --- a/windows/deployment/update/waas-delivery-optimization-reference.md +++ b/windows/deployment/update/waas-delivery-optimization-reference.md @@ -119,7 +119,7 @@ Download mode dictates which download sources clients are allowed to use when do By default, peer sharing on clients using the group download mode is limited to the same domain in Windows 10, version 1511, and the same domain and Active Directory Domain Services site in Windows 10, version 1607. By using the Group ID setting, you can optionally create a custom group that contains devices that should participate in Delivery Optimization but do not fall within those domain or Active Directory Domain Services site boundaries, including devices in another domain. Using Group ID, you can further restrict the default group (for example, you could create a sub-group representing an office building), or extend the group beyond the domain, allowing devices in multiple domains in your organization to be peers. This setting requires the custom group to be specified as a GUID on each device that participates in the custom group. -[//]: # (Configuration Manager Boundary Group option; GroupID Source policy) +[//]: # (Configuration Manager boundary group option; GroupID Source policy) >[!NOTE] >To generate a GUID using Powershell, use [```[guid]::NewGuid()```](https://blogs.technet.microsoft.com/heyscriptingguy/2013/07/25/powertip-create-a-new-guid-by-using-powershell/) diff --git a/windows/deployment/update/waas-delivery-optimization-setup.md b/windows/deployment/update/waas-delivery-optimization-setup.md index 95f085cab5..7bcf7c77c3 100644 --- a/windows/deployment/update/waas-delivery-optimization-setup.md +++ b/windows/deployment/update/waas-delivery-optimization-setup.md @@ -35,6 +35,9 @@ Delivery Optimization offers a great many settings to fine-tune its behavior (se >[!NOTE] >These scenarios (and the recommended settings for each) are not mutually exclusive. It's possible that your deployment might involve more than one of these scenarios, in which case you can employ the related settings in any combination as needed. In all cases, however, "download mode" is the most important one to set. +> [!NOTE] +> Microsoft Intune includes a profile to make it easier to set Delivery Optimization policies. For details, see [Delivery Optimization settings for Intune](https://docs.microsoft.com/mem/intune/configuration/delivery-optimization-settings). + Quick-reference table: | Use case | Policy | Recommended value | Reason | @@ -66,6 +69,9 @@ To do this in Group Policy go to **Configuration\Policies\Administrative Templat To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set **DODownloadMode** to **2**. +> [!NOTE] +> For more about using Delivery Optimization with Configuration Manager boundary groups, see [Delivery Optmization](https://docs.microsoft.com/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization). + ### Large number of mobile devices diff --git a/windows/deployment/update/waas-delivery-optimization.md b/windows/deployment/update/waas-delivery-optimization.md index d37589c3e6..cc055946b1 100644 --- a/windows/deployment/update/waas-delivery-optimization.md +++ b/windows/deployment/update/waas-delivery-optimization.md @@ -124,6 +124,30 @@ For the payloads (optional): **How does Delivery Optimization deal with congestion on the router from peer-to-peer activity on the LAN?**: Starting in Windows 10, version 1903, Delivery Optimization uses LEDBAT to relieve such congestion. For more details see this post on the [Networking Blog](https://techcommunity.microsoft.com/t5/Networking-Blog/Windows-Transport-converges-on-two-Congestion-Providers-Cubic/ba-p/339819). +**How does Delivery Optimization handle VPNs?** +Delivery Optimization attempts to identify VPNs by checking the network adapter type and details and will treat the connection as a VPN if the adapter description contains certain keywords, such as "VPN" or "secure." + +If the connection is identified as a VPN, Delivery Optimization will not use any peer-to-peer activity. However, you can allow peer-to-peer activity over a VPN by using the {WE SHOULD NAME OR POINT TO THIS POLICY} policy. + +If you have defined a boundary group in Configuration Manager and have for VPN IP ranges, you can set the DownloadMode policy to 0 for that boundary group to ensure that there will be no peer-to-peer activity over the VPN. + +With split tunnelling, it's best to exclude the boundary group for the VPN devices to exclude it from using peer-to-peer. (In this case, those devices won't get the policy and will default to using LAN.) If you're using split tunnelling, you should allow direct access for these endpoints: + +Delivery Optimization service endpoint: +- `https://*.prod.do.dsp.mp.microsoft.com` + +Delivery Optimization metadata: +- `http://emdl.ws.microsoft.com` +- `http://*.dl.delivery.mp.microsoft.com` + +Windows Update and Microsoft Store backend services and Windows Update and Microsoft Store payloads + +- `http://*.windowsupdate.com` +- `https://*.delivery.mp.microsoft.com` +- `https://*.update.microsoft.com` +- `https://tsfe.trafficshaping.dsp.mp.microsoft.com` + +For more information about this if you're using Configuration Manager, see this post on the [Configuration Manager blog](https://techcommunity.microsoft.com/t5/configuration-manager-blog/managing-patch-tuesday-with-configuration-manager-in-a-remote/ba-p/1269444). ## Troubleshooting From 1c72c2ee112d3fad7aec8b0ffff3aea216d4bd7d Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Sat, 16 May 2020 11:54:23 +0500 Subject: [PATCH 149/393] minor correction Volume E was mentioned in the document but in actual case it should only b Volume. Problem: https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6218 --- .../bitlocker/bitlocker-basic-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md b/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md index 406d096165..a2cc7ac74e 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md +++ b/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md @@ -457,7 +457,7 @@ Checking BitLocker status with the control panel is the most common method used | **Suspended** | BitLocker is suspended and not actively protecting the volume | | **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| -If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on volume E. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume is not in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, manage-bde tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. +If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume is not in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, manage-bde tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. From e928e808b4cf5c495af9449047e55e4b88ad592b Mon Sep 17 00:00:00 2001 From: "Trond B. Krokli" <38162891+illfated@users.noreply.github.com> Date: Mon, 18 May 2020 11:42:15 +0200 Subject: [PATCH 150/393] Typo corrections "seperately" x2 Ref. #5916 - Reviving the typo corrections provided by @schneiderl in PR #5916 --- .../credential-guard/dg-readiness-tool.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md index 6727a09859..ae96f09ed1 100644 --- a/windows/security/identity-protection/credential-guard/dg-readiness-tool.md +++ b/windows/security/identity-protection/credential-guard/dg-readiness-tool.md @@ -12,7 +12,7 @@ ms.author: stsyfuhs manager: dansimp ms.collection: M365-identity-device-management ms.topic: article -ms.reviewer: +ms.reviewer: --- # Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool @@ -1184,7 +1184,7 @@ if($Enable) if(!$_isRedstone) { LogAndConsole "OS Not Redstone, enabling IsolatedUserMode separately" - #Enable/Disable IOMMU seperately + #Enable/Disable IOMMU separately ExecuteCommandAndLog 'DISM.EXE /Online /Enable-Feature:IsolatedUserMode /NoRestart' } $CmdOutput = DISM.EXE /Online /Enable-Feature:Microsoft-Hyper-V-Hypervisor /All /NoRestart | Out-String @@ -1253,7 +1253,7 @@ if($Disable) if(!$_isRedstone) { LogAndConsole "OS Not Redstone, disabling IsolatedUserMode separately" - #Enable/Disable IOMMU seperately + #Enable/Disable IOMMU separately ExecuteCommandAndLog 'DISM.EXE /Online /disable-Feature /FeatureName:IsolatedUserMode /NoRestart' } $CmdOutput = DISM.EXE /Online /disable-Feature /FeatureName:Microsoft-Hyper-V-Hypervisor /NoRestart | Out-String From d2bd7348adcb4f8d14b8620f248eaaa52ab53006 Mon Sep 17 00:00:00 2001 From: ImranHabib <47118050+joinimran@users.noreply.github.com> Date: Mon, 18 May 2020 16:07:27 +0500 Subject: [PATCH 151/393] Update windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md Co-authored-by: JohanFreelancer9 <48568725+JohanFreelancer9@users.noreply.github.com> --- .../bitlocker/bitlocker-basic-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md b/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md index a2cc7ac74e..96fc9bd8c2 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md +++ b/windows/security/information-protection/bitlocker/bitlocker-basic-deployment.md @@ -457,7 +457,7 @@ Checking BitLocker status with the control panel is the most common method used | **Suspended** | BitLocker is suspended and not actively protecting the volume | | **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| -If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume is not in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, manage-bde tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. +If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume is not in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, manage-bde tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. From 9d6819f0789031cdaaacfa3141ee5be32994f6b5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 18 May 2020 11:25:47 -0700 Subject: [PATCH 152/393] update --- windows/whats-new/whats-new-windows-10-version-2004.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 1e8f1ce34f..4f73270a12 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -49,7 +49,9 @@ FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to h ### Microsoft BitLocker +## Edge +https://www.microsoftedgeinsider.com/en-us/whats-new ## Cortana From ed1b399f11eebf0544425c68350a5197b78f0f06 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Mon, 18 May 2020 14:52:45 -0700 Subject: [PATCH 153/393] safety checkin --- .../update/plan-define-readiness.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 windows/deployment/update/plan-define-readiness.md diff --git a/windows/deployment/update/plan-define-readiness.md b/windows/deployment/update/plan-define-readiness.md new file mode 100644 index 0000000000..bcb462ff84 --- /dev/null +++ b/windows/deployment/update/plan-define-readiness.md @@ -0,0 +1,61 @@ +--- +title: Define readiness criteria +ms.reviewer: +manager: laurawi +description: Learn how to set key benchmarks so you know when you're ready to deploy the next wave of updates +keywords: updates, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Define readiness criteria + +## Figure out personnel and roles + + +## Decide on app criteria + +Some apps in your environment are fundamental to your core business activities. Other apps help workers perform their roles, but aren’t critical to your business operations. Before you start inventorying and assessing the apps in your environment, you should establish some criteria for categorizing your apps, and then determine a priority for each. This will help you understand how best to deploy updates and how to resolve any issues that could arise. + +In the Prepare phase, you'll apply the criteria you define now to every app in your organization. + +Here's a suggested classification scheme: {HOW WOULD YOU FEEL ABOUT SOME SPECIFIC EXAMPLES FOR ALL THESE? MAYBE USING MS AS AN EXAMPLE.} + + +|Classification |Definition| +|---------|---------| +|Critical | The most vital applications that handle core business activities and processes. If these applications were not available, the business, or a business unit, wouldn’t be able to function at all. | +|Important | Applications that individual staff members need to support their productivity. Downtime here would affect individual users, but would only have a minimal impact on the business. | +|Not important | There is no impact on the business if these are not available for a while. | + +Once you have classified your applications, you should agree what each classification means to the organization in terms of priority and severity. This will help ensure that issues can be triaged with the right level of urgency. You should assign each app a time-based priority. + +Here's an example priority rating system; of course the specifics could vary for your organization: + + +|Priority |Definition | +|---------|---------| +|1 | Any issues or risks identified must be investigated and resolved as soon as possible. | +|2 | Start investigating risks and issues within two business days and fix them *during* the current deployment cycle. | +|3 | Start investigating risks and issues within ten business days. You don’t have to fix them all within the current deployment cycle. However, all issues must be fixed by the end of the next deployment cycle. | +|4 | Start investigating risks and issues within 20 business days. You can fix them in the current or any future development cycle. | + +Related to priority, but distinct, is the concept of severity. You should define a severity ranking as well, based on impact a problem with an app should have on the the deployment cycle. + +Here's an example: + + +|Severity |Impact | +|---------|---------| +|1 | Work stoppage or loss of revenue | +|2 | Productivity loss for a business unit | +|Row3 | Productivity loss for individual users | +|Row4 | Minimal impact on users | + From a53d88643f99350b641e4fe6a94f43d63950f2aa Mon Sep 17 00:00:00 2001 From: jaimeo Date: Mon, 18 May 2020 15:18:50 -0700 Subject: [PATCH 154/393] safety checkin --- .../update/plan-define-readiness.md | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/windows/deployment/update/plan-define-readiness.md b/windows/deployment/update/plan-define-readiness.md index bcb462ff84..50e80c527c 100644 --- a/windows/deployment/update/plan-define-readiness.md +++ b/windows/deployment/update/plan-define-readiness.md @@ -17,10 +17,43 @@ ms.collection: M365-modern-desktop # Define readiness criteria -## Figure out personnel and roles +## Figure out roles and personnel + +Planning and managing a deployment involves a variety of distinct activies and roles best suited to each. As you plan, it's worth figuring out which roles you'll need to carry out the deployment and who should fill them. Different roles are active at various phases of a deployment. Depending on the size and complexity of your organization, some of the roles could be filled by the same person. However, it's best to have an established *process manager*, who will oversee all of the tasks for the deployment. + +### Process manager + +The process manager leads the update deployment process and has the authority to push the process forward--or halt it if necessary. They also have responsibilities in organizing these activities: -## Decide on app criteria +|Compatibility workstream |Deployment |Capability and modernization | +|---------|---------|---------| +|[Assigning application priority](#set-criteria-for-rating-apps) | Reviewing infrastructure requirements | Determining infrastructure changes | +|Application assessment | Validating infrastructure against requirements | Determining configuration changes | +|Device assessment | Creating infrastructure update plan | Create capability proposal | + +It's the process manager's role to collect reports on remediation efforts, escalate failures, and to decide whether your environment is ready for pilot deployment and then broad deployment. + + +This table sketches out one view of the other roles, with their responsibilities, relevant skills, and the deployment phases where they are needed: + + +|Role |Responsibilities |Skills |Active phases | +|---------|---------|---------|---------| +|Process manager | Manages the process end to end; ensures inputs and outputs are captures; ensures that activities progress | IT service management | Plan, prepare, pilot deployment, broad deployment | +|Application owner | Define application test plan; assign user acceptance testers; certify the application | Knowledge of critical and important applications | Plan, prepare, pilot deployment | +|Application developer | Ensure apps are developed to stay compatible with current Windows versions | Application development; application remediation | Plan, prepare | +|End-user computing | Typically a group including infrastructure engineers or deployment engineers who ensure upgrade tools are compatible with Windows | Bare-metal deployment; infrastructure management; application delivery; update management | Plan, prepare, pilot deployment, broad deployment | +|Operations | Ensure that support is available for current Windows version. Provide post-deployment support, including user communication and rollbacks. | Platform security | Prepare, pilot deployment, broad deployment | +|Security | Review and approve the security baseline and tools | Platform security | Prepare, pilot deployment | +|Stakeholders | Represent groups affected by updates, for example, heads of finance, end-user services, or change management | Key decision maker for a business unit or department | Plan, pilot deployment, broad deployment | + + + + + + +## Set criteria for rating apps Some apps in your environment are fundamental to your core business activities. Other apps help workers perform their roles, but aren’t critical to your business operations. Before you start inventorying and assessing the apps in your environment, you should establish some criteria for categorizing your apps, and then determine a priority for each. This will help you understand how best to deploy updates and how to resolve any issues that could arise. @@ -31,9 +64,9 @@ Here's a suggested classification scheme: {HOW WOULD YOU FEEL ABOUT SOME SPECIFI |Classification |Definition| |---------|---------| -|Critical | The most vital applications that handle core business activities and processes. If these applications were not available, the business, or a business unit, wouldn’t be able to function at all. | +|Critical | The most vital applications that handle core business activities and processes. If these applications were not available, the business, or a business unit, couldn't function at all. | |Important | Applications that individual staff members need to support their productivity. Downtime here would affect individual users, but would only have a minimal impact on the business. | -|Not important | There is no impact on the business if these are not available for a while. | +|Not important | There is no impact on the business if these apps are not available for a while. | Once you have classified your applications, you should agree what each classification means to the organization in terms of priority and severity. This will help ensure that issues can be triaged with the right level of urgency. You should assign each app a time-based priority. @@ -44,10 +77,10 @@ Here's an example priority rating system; of course the specifics could vary for |---------|---------| |1 | Any issues or risks identified must be investigated and resolved as soon as possible. | |2 | Start investigating risks and issues within two business days and fix them *during* the current deployment cycle. | -|3 | Start investigating risks and issues within ten business days. You don’t have to fix them all within the current deployment cycle. However, all issues must be fixed by the end of the next deployment cycle. | +|3 | Start investigating risks and issues within 10 business days. You don’t have to fix them all within the current deployment cycle. However, all issues must be fixed by the end of the next deployment cycle. | |4 | Start investigating risks and issues within 20 business days. You can fix them in the current or any future development cycle. | -Related to priority, but distinct, is the concept of severity. You should define a severity ranking as well, based on impact a problem with an app should have on the the deployment cycle. +Related to priority, but distinct, is the concept of severity. You should define a severity ranking as well, based on impact a problem with an app should have on the deployment cycle. Here's an example: @@ -56,6 +89,6 @@ Here's an example: |---------|---------| |1 | Work stoppage or loss of revenue | |2 | Productivity loss for a business unit | -|Row3 | Productivity loss for individual users | -|Row4 | Minimal impact on users | +|3 | Productivity loss for individual users | +|4 | Minimal impact on users | From 46957625cae2a0a21c2b23d8803e99936bcee3ae Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 09:19:20 -0700 Subject: [PATCH 155/393] update --- windows/deployment/planning/windows-10-deprecated-features.md | 1 + windows/deployment/planning/windows-10-removed-features.md | 1 + 2 files changed, 2 insertions(+) diff --git a/windows/deployment/planning/windows-10-deprecated-features.md b/windows/deployment/planning/windows-10-deprecated-features.md index 5a34226e0f..242a6e3384 100644 --- a/windows/deployment/planning/windows-10-deprecated-features.md +++ b/windows/deployment/planning/windows-10-deprecated-features.md @@ -26,6 +26,7 @@ The features described below are no longer being actively developed, and might b |Feature | Details and mitigation | Announced in version | | ----------- | --------------------- | ---- | +| Dynamic Disks | The [Dynamic Disks](https://docs.microsoft.com/windows/win32/fileio/basic-and-dynamic-disks#dynamic-disks) feature is no longer being developed. This feature will be fully replaced by [Storage Spaces](https://docs.microsoft.com/windows-server/storage/storage-spaces/overview) in a future release.| 2004 | | Hyper-V vSwitch on LBFO | In a future release, the Hyper-V vSwitch will no longer have the capability to be bound to an LBFO team. Instead, it can be bound via [Switch Embedded Teaming](https://docs.microsoft.com/windows-server/virtualization/hyper-v-virtual-switch/rdma-and-switch-embedded-teaming#bkmk_sswitchembedded) (SET).| 1909 | | Language Community tab in Feedback Hub | The Language Community tab will be removed from the Feedback Hub. The standard feedback process: [Feedback Hub - Feedback](feedback-hub://?newFeedback=true&feedbackType=2) is the recommended way to provide translation feedback. | 1909 | | My People / People in the Shell | My People is no longer being developed. It may be removed in a future update. | 1909 | diff --git a/windows/deployment/planning/windows-10-removed-features.md b/windows/deployment/planning/windows-10-removed-features.md index 508cc788a8..82e9ff19ad 100644 --- a/windows/deployment/planning/windows-10-removed-features.md +++ b/windows/deployment/planning/windows-10-removed-features.md @@ -27,6 +27,7 @@ The following features and functionalities have been removed from the installed |Feature | Details and mitigation | Removed in version | | ----------- | --------------------- | ------ | +| Hyper-V vSwitch on LBFO | The Hyper-V vSwitch can not be bound to an LBFO team. Instead, it can be bound via [Switch Embedded Teaming](https://docs.microsoft.com/windows-server/virtualization/hyper-v-virtual-switch/rdma-and-switch-embedded-teaming#bkmk_sswitchembedded) (SET).| 2004 | | PNRP APIs| ​The Peer Name Resolution Protocol (PNRP) cloud service was removed in Windows 10, version 1809. We are planning to complete the removal process by removing the corresponding APIs. | 1909 | | Taskbar settings roaming | Roaming of taskbar settings is removed in this release. This feature was announced as no longer being developed in Windows 10, version 1903. | 1909 | | Desktop messaging app doesn't offer messages sync | The messaging app on Desktop has a sync feature that can be used to sync SMS text messages received from Windows Mobile and keep a copy of them on the Desktop. The sync feature has been removed from all devices. Due to this change, you will only be able to access messages from the device that received the message. | 1903 | From 751d3fa61b5517b2579bc5519f53138be7306617 Mon Sep 17 00:00:00 2001 From: "v-tea@microsoft.com" <46357187+Teresa-Motiv@users.noreply.github.com> Date: Tue, 19 May 2020 09:56:15 -0700 Subject: [PATCH 156/393] Review --- devices/surface-hub/surface-hub-2s-account.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/devices/surface-hub/surface-hub-2s-account.md b/devices/surface-hub/surface-hub-2s-account.md index 760b4c541b..27c7053045 100644 --- a/devices/surface-hub/surface-hub-2s-account.md +++ b/devices/surface-hub/surface-hub-2s-account.md @@ -1,6 +1,6 @@ --- -title: "Create Surface Hub 2S device account" -description: "This page describes the procedure for creating the Surface Hub 2S device account." +title: Create Surface Hub 2S device account +description: This page describes the procedure for creating the Surface Hub 2S device account. keywords: separate values with commas ms.prod: surface-hub ms.sitesec: library @@ -15,18 +15,18 @@ ms.localizationpriority: Medium # Create Surface Hub 2S device account -Creating a Surface Hub device account (also known as a Room mailbox) allows Surface Hub 2S to receive, approve, or decline meeting requests and join meetings using either Microsoft Teams or Skype for Business. Configure the device account during Out of Box Experience (OOBE) setup. If needed you can change it later (without going through OOBE setup). +Creating a Surface Hub device account (also known as a Room mailbox) allows Surface Hub 2S to receive, approve, or decline meeting requests and join meetings using either Microsoft Teams or Skype for Business. Configure the device account during Out-of-Box Experience (OOBE) setup. If needed, you can change it later (without going through OOBE setup). Unlike standard Room mailboxes that remain disabled by default, you need to enable the Surface Hub 2S device account to sign on to Microsoft Teams and Skype for Business. Surface Hub 2S relies on Exchange ActiveSync, which requires an ActiveSync mailbox policy on the device account. Apply the default ActiveSync mailbox policy that comes with Exchange Online. -Create the account using the Microsoft 365 admin center or by using PowerShell. You can use Exchange Online PowerShell to configure specific features including: +Create the account by using the Microsoft 365 admin center or by using PowerShell. You can use Exchange Online PowerShell to configure specific features including: - Calendar processing for every Surface Hub device account. - Custom auto replies to scheduling requests. -- If the default ActiveSync mailbox policy has already been modified by someone else or another process, you will likely have to create and assign a new ActiveSync mailbox policy +- If the default ActiveSync mailbox policy has already been modified by someone else or by another process, you will likely have to create and assign a new ActiveSync mailbox policy. -> [!NOTE] -> The Surface Hub device account doesn’t support 3rd party Federated Identity Providers (FIPs) and must be a standard Active Directory or Azure Active Directory account. +> [!NOTE] +> The Surface Hub device account doesn’t support third-party Federated Identity Providers (FIPs) and must be a standard Active Directory or Azure Active Directory account. ## Create account using Microsoft 365 admin center From ee8b8ff50f632c277f53917e2c58f93410a6c46f Mon Sep 17 00:00:00 2001 From: jaimeo Date: Tue, 19 May 2020 10:41:03 -0700 Subject: [PATCH 157/393] added additional material --- .../update/plan-define-readiness.md | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/windows/deployment/update/plan-define-readiness.md b/windows/deployment/update/plan-define-readiness.md index 50e80c527c..a2ff53df19 100644 --- a/windows/deployment/update/plan-define-readiness.md +++ b/windows/deployment/update/plan-define-readiness.md @@ -2,7 +2,7 @@ title: Define readiness criteria ms.reviewer: manager: laurawi -description: Learn how to set key benchmarks so you know when you're ready to deploy the next wave of updates +description: Identify important roles and figure out how to classify apps keywords: updates, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools ms.prod: w10 ms.mktglfcycl: manage @@ -59,7 +59,7 @@ Some apps in your environment are fundamental to your core business activities. In the Prepare phase, you'll apply the criteria you define now to every app in your organization. -Here's a suggested classification scheme: {HOW WOULD YOU FEEL ABOUT SOME SPECIFIC EXAMPLES FOR ALL THESE? MAYBE USING MS AS AN EXAMPLE.} +Here's a suggested classification scheme: |Classification |Definition| @@ -68,7 +68,7 @@ Here's a suggested classification scheme: {HOW WOULD YOU FEEL ABOUT SOME SPECIFI |Important | Applications that individual staff members need to support their productivity. Downtime here would affect individual users, but would only have a minimal impact on the business. | |Not important | There is no impact on the business if these apps are not available for a while. | -Once you have classified your applications, you should agree what each classification means to the organization in terms of priority and severity. This will help ensure that issues can be triaged with the right level of urgency. You should assign each app a time-based priority. +Once you have classified your applications, you should agree what each classification means to the organization in terms of priority and severity. This will help ensure that you can triage problems with the right level of urgency. You should assign each app a time-based priority. Here's an example priority rating system; of course the specifics could vary for your organization: @@ -80,15 +80,36 @@ Here's an example priority rating system; of course the specifics could vary for |3 | Start investigating risks and issues within 10 business days. You don’t have to fix them all within the current deployment cycle. However, all issues must be fixed by the end of the next deployment cycle. | |4 | Start investigating risks and issues within 20 business days. You can fix them in the current or any future development cycle. | -Related to priority, but distinct, is the concept of severity. You should define a severity ranking as well, based on impact a problem with an app should have on the deployment cycle. +Related to priority, but distinct, is the concept of severity. You should define a severity ranking as well, based on how you feel a problem with an app should affect the deployment cycle. Here's an example: -|Severity |Impact | +|Severity |Effect | |---------|---------| |1 | Work stoppage or loss of revenue | |2 | Productivity loss for a business unit | |3 | Productivity loss for individual users | |4 | Minimal impact on users | +## Example: a large financial corporation + +Using the suggested scheme, a financial corporation might classify their apps like this: + + +|App |Classification | +|---------|---------| +|Credit processing app | Critical | +|Frontline customer service app | Critical | +|PDF viewer | Important | +|Image processing app | Not important | + +Further, they might combine this classification with severity and priority rankings like this: + + +|Classification |Severity |Priority |Response | +|---------|---------|---------|---------| +|Critical | 1 or 2 | 1 or 2 | For 1, stop deployment until resolved; for 2, stop deployment for affected devices or users only. | +|Important | 3 or 4 | 3 or 4 | For 3, continue deployment, even for affected devices, as long as there is workaround guidance. | +|Not important | 4 | 4 | Continue deployment for all devices. | + From 90d02bdf6f9adb99feb87c0cc252a4c91f49dcb2 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 10:47:56 -0700 Subject: [PATCH 158/393] update --- windows/deployment/index.yml | 63 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 299997d434..ff48f280d3 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -13,7 +13,7 @@ metadata: ms.collection: windows-10 author: greg-lindsay #Required; your GitHub user alias, with correct capitalization. ms.author: greglin #Required; microsoft alias of author; optional team alias. - ms.date: 09/13/2019 #Required; mm/dd/yyyy format. + ms.date: 05/19/2020 #Required; mm/dd/yyyy format. localization_priority: medium # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new @@ -22,74 +22,73 @@ landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb # Card (optional) - - title: Title1 + - title: Concepts linkLists: - - linkListType: overview + - linkListType: concepts links: - - text: Article1a + - text: Windows 10 deployment scenarios url: file1.md - - text: Article1b + - text: What is Windows as a service? url: file1.md - - text: Article1c + - text: Types of Windows updates url: file1.md # Card (optional) - - title: Title2 + - title: Get started linkLists: - - linkListType: overview + - linkListType: get-started links: - - text: Article2a + - text: Demonstrate Autopilot deployment url: file1.md - - text: Article2b + - text: Servicing the Windows 10 operating system url: file1.md - - text: Article2c + - text: Deploy Windows 10 in a test lab url: file1.md # Card (optional) - - title: Title3 + - title: Deployment planning linkLists: - - linkListType: overview + - linkListType: design-guide links: - - text: Article3a + - text: Create a deployment plan url: file1.md - - text: Article3b + - text: Evaluate infrastructure and tools url: file1.md - - text: Article3c + - text: Define your servicing strategy url: file1.md # Card - - title: Title4 + - title: Prepare to deploy Windows 10 linkLists: - - linkListType: overview + - linkListType: guide links: - - text: Article4a + - text: Prepare to deploy Windows 10 url: file1.md - - text: Article4b + - text: Evaluate and update deployment processes url: file1.md - - text: Article4c + - text: Build a successful servicing strategy url: file1.md # Card - - title: Title5 + - title: Deploy Windows 10 linkLists: - - linkListType: overview + - linkListType: checklist links: - - text: Article5a + - text: Deploy Windows 10 url: file1.md - - text: Article5b + - text: Assign devices to servicing channels url: file1.md - - text: Article5c + - text: Deploy Windows 10 updates url: file1.md # Card (optional) - - title: Title6 + - title: Also see linkLists: - - linkListType: overview + - linkListType: reference links: - - text: Article6a + - text: Windows 10 release information url: file1.md - - text: Article6b + - text: What's new in Windows 10 url: file1.md - - text: Article6c + - text: Windows 10 Enterprise Security url: file1.md - \ No newline at end of file From 7475ff11cc4f26bb32c4baeeedcc61d52592a221 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 11:18:55 -0700 Subject: [PATCH 159/393] update --- windows/deployment/TOC.yml | 44 ++++++++++++++++++------------------ windows/deployment/index.yml | 10 ++++---- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 6b0a7ab46d..e17a0e3b80 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -4,49 +4,49 @@ - name: Get started items: - name: What's new in Windows 10 deployment - href: file1.md - - name: Windows 10 deployment scenarios (update) - href: file1.md + href: deploy-whats-new.md + - name: Windows 10 deployment scenarios + href: windows-10-deployment-scenarios.md - name: Deployment process posters - href: file1.md - - name: What is Windows as a service? (retitled, consolidated) - href: file1.md + href: windows-10-deployment-posters.md + - name: What is Windows as a service? + href: update/waas-quick-start.md - name: Windows update fundamentals - href: file1.md - - name: Types of Windows updates (consolidate) - href: file1.md - - name: Servicing the Windows 10 operating system (retitled, consolidate?) - href: file1.md + href: update/waas-overview.md + - name: Types of Windows updates + href: update/servicing-stack-updates + - name: Servicing the Windows 10 operating system + href: update/windows-update-overview.md - name: Deployment proof of concept items: - name: Demonstrate Autopilot deployment on a VM - href: file1.md + href: windows-autopilot/demonstrate-deployment-on-vm.md - name: Deploy Windows 10 with MDT and Configuration Manager items: - name: 'Step by step guide: Configure a test lab to deploy Windows 10' - href: file1.md + href: windows-10-poc.md - name: Deploy Windows 10 in a test lab using MDT - href: file1.md + href: windows-10-poc-mdt.md - name: Deploy Windows 10 in a test lab using Configuration Manager - href: file1.md + href: windows-10-poc-sc-config-mgr.md - name: Plan items: - - name: Windows 10 deployment considerations (rewrite) - href: file1.md - - name: Create a deployment plan (new) + - name: Windows 10 deployment considerations + href: planning/windows-10-deployment-considerations.md + - name: Create a deployment plan href: file1.md - - name: Evaluate infrastructure and tools (new) + - name: Evaluate infrastructure and tools href: file1.md - - name: Determine application readiness (new) + - name: Determine application readiness href: file1.md - - name: Define your servicing strategy (new) + - name: Define your servicing strategy href: file1.md - name: Best practices for feature updates on mission-critical devices href: file1.md - name: Plan for volume activation - href: file1.md + href: volume-activation/plan-for-volume-activation-client.md - name: Features removed or planned for replacement items: - name: Windows 10 features lifecycle diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index ff48f280d3..a0a99a13b0 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -24,7 +24,7 @@ landingContent: # Card (optional) - title: Concepts linkLists: - - linkListType: concepts + - linkListType: overview links: - text: Windows 10 deployment scenarios url: file1.md @@ -48,7 +48,7 @@ landingContent: # Card (optional) - title: Deployment planning linkLists: - - linkListType: design-guide + - linkListType: how-to-guide links: - text: Create a deployment plan url: file1.md @@ -60,7 +60,7 @@ landingContent: # Card - title: Prepare to deploy Windows 10 linkLists: - - linkListType: guide + - linkListType: how-to-guide links: - text: Prepare to deploy Windows 10 url: file1.md @@ -72,7 +72,7 @@ landingContent: # Card - title: Deploy Windows 10 linkLists: - - linkListType: checklist + - linkListType: deploy links: - text: Deploy Windows 10 url: file1.md @@ -84,7 +84,7 @@ landingContent: # Card (optional) - title: Also see linkLists: - - linkListType: reference + - linkListType: learn links: - text: Windows 10 release information url: file1.md From 086e79cb2500c0c0598bcb36960e964945fbc546 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 11:22:29 -0700 Subject: [PATCH 160/393] update --- windows/deployment/index.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index a0a99a13b0..3a168c88e5 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -24,7 +24,7 @@ landingContent: # Card (optional) - title: Concepts linkLists: - - linkListType: overview + - linkListType: concept links: - text: Windows 10 deployment scenarios url: file1.md @@ -48,7 +48,7 @@ landingContent: # Card (optional) - title: Deployment planning linkLists: - - linkListType: how-to-guide + - linkListType: architecture links: - text: Create a deployment plan url: file1.md @@ -84,7 +84,7 @@ landingContent: # Card (optional) - title: Also see linkLists: - - linkListType: learn + - linkListType: reference links: - text: Windows 10 release information url: file1.md From 896f2990c31fcece8d5f3c8c03c62b15a182c72f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 11:38:13 -0700 Subject: [PATCH 161/393] update --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index e17a0e3b80..12f65f4266 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -14,7 +14,7 @@ - name: Windows update fundamentals href: update/waas-overview.md - name: Types of Windows updates - href: update/servicing-stack-updates + href: update/servicing-stack-updates.md - name: Servicing the Windows 10 operating system href: update/windows-update-overview.md From 3ae61b47a98fa1e2b9153ef44db533c4ea13136e Mon Sep 17 00:00:00 2001 From: jaimeo Date: Tue, 19 May 2020 11:47:31 -0700 Subject: [PATCH 162/393] safety checkin --- windows/deployment/update/eval-infra-tools.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 windows/deployment/update/eval-infra-tools.md diff --git a/windows/deployment/update/eval-infra-tools.md b/windows/deployment/update/eval-infra-tools.md new file mode 100644 index 0000000000..3d577748ab --- /dev/null +++ b/windows/deployment/update/eval-infra-tools.md @@ -0,0 +1,48 @@ +--- +title: Evaluate infrastructure and tools +ms.reviewer: +manager: laurawi +description: +keywords: updates, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Evaluate infrastructure and tools + +Before you deploy an update, it's best to assess your deployment infrastucture (that is, tools such as Configuration Manager, Microsoft Intune, or similar) and current configurations (such as security baselines, administrative templates, and policies that affect updates). Then, set some criteria to define your operational readiness. + +## Infrastructure + +Do your deployment tools need updates? + +- If you use Configuration Manager, is it on the Current Branch with the latest release installed. This ensures that it supports the next Windows 10 feature update. Configuration Manager releases are supported for 18 months. +- Using a cloud-based management tool like Microsoft Intune reduces support challenges, since no related products need to be updated. +- If you use a non-Microsoft tool, check with its product support to make sure you're using the current version and that it supports the next Windows 10 feature update. + +Rely on your experiences and data from previous deployments to help you judge how long infrastructure changes take and identify any problems you've encountered while doing so. + +## Configuration + +Make sure your security basline, administrative templates, and policies have the right settings to support your devices once the new Windows 10 update is installed. + +### Security baseline + +Keep security baslines current to help ensure that your environment is secure and that new security feature in the coming Windows 10 update are set properly. + +- **Microsoft security baselines**: You should implement security baselines from Microsoft. They are included in the [Security Compliance Toolkit](https://www.microsoft.com/download/details.aspx?id=55319), along with tools for managing them. +- **Industry- or region-specific baselines**: Your specific industry or region might have particular baselines that you must follow per regulations. Ensure that any new baselines support the version of Windows 10 you are about to deploy. + +### Configuration updates + +There are a number of Windows policies (set by Group Policy, Intune, or other methods) that affect when Windows updates are installed, deferral, end-user experience, and many other aspects. Check these policies to make sure they are set appropriately. + +- **Windows 10 Administrative templates**: Each Windows 10 feature update has a supporting Administrative template (.admx) file. Group Policy tools use Administrative template files to populate policy settings in the user interface. The templates are available in the Download Center, for example, this one for [Windows 10, version 1909](https://www.microsoft.com/download/100591). +- **Update and end-user experience policies**: A number of settings affect when a device installs updates, whether and for how long a user can defer an update, restart behavior after installation, and many other aspects of update behavior. {LINK here or elsewhere} From cc84a3c427b6cc3b6a9f76d97af31007978ceac2 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 13:07:07 -0700 Subject: [PATCH 163/393] update --- windows/deployment/file1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/file1.md b/windows/deployment/file1.md index 44279dc9af..e82335c2cd 100644 --- a/windows/deployment/file1.md +++ b/windows/deployment/file1.md @@ -1,10 +1,10 @@ --- -title: Configure a test lab to deploy Windows 10 +title: Placeholder ms.reviewer: manager: laurawi ms.audience: itpro author: greg-lindsay -description: Concepts and procedures for deploying Windows 10 in a proof of concept lab environment. +description: Placeholder ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -16,7 +16,7 @@ author: greg-lindsay ms.topic: article --- -# Step by step guide: Configure a test lab to deploy Windows 10 +# Document title **Applies to** From 24855d7c82d2b800f1cfa172b8b93e5fd22b3a8c Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 13:25:11 -0700 Subject: [PATCH 164/393] update --- windows/deployment/index.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 3a168c88e5..70eed4e823 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -22,9 +22,9 @@ landingContent: # Cards and links should be based on top customer tasks or top subjects # Start card title with a verb # Card (optional) - - title: Concepts + - title: Overview linkLists: - - linkListType: concept + - linkListType: overview links: - text: Windows 10 deployment scenarios url: file1.md From d342e8c3d8a23979cb53ccfccc82f558fca2b04c Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 13:31:30 -0700 Subject: [PATCH 165/393] update --- windows/deployment/planning/TOC.md | 37 ------------------------------ 1 file changed, 37 deletions(-) delete mode 100644 windows/deployment/planning/TOC.md diff --git a/windows/deployment/planning/TOC.md b/windows/deployment/planning/TOC.md deleted file mode 100644 index fc4cb8fefa..0000000000 --- a/windows/deployment/planning/TOC.md +++ /dev/null @@ -1,37 +0,0 @@ -# [Plan for Windows 10 deployment](index.md) -## [Windows 10 Enterprise FAQ for IT Pros](windows-10-enterprise-faq-itpro.md) -## [Windows 10 deployment considerations](windows-10-deployment-considerations.md) -## [Windows 10 compatibility](windows-10-compatibility.md) -## [Windows 10 infrastructure requirements](windows-10-infrastructure-requirements.md) - -## Features removed or planned for replacement -### [Windows 10 features lifecycle](features-lifecycle.md) -### [Features we're no longer developing](windows-10-deprecated-features.md) -### [Features we removed](windows-10-removed-features.md) - -## Application Compatibility Toolkit (ACT) -### [Application Compatibility Toolkit (ACT) Technical Reference](act-technical-reference.md) -### [SUA User's Guide](sua-users-guide.md) -#### [Using the SUA Wizard](using-the-sua-wizard.md) -#### [Using the SUA Tool](using-the-sua-tool.md) -##### [Tabs on the SUA Tool Interface](tabs-on-the-sua-tool-interface.md) -##### [Showing Messages Generated by the SUA Tool](showing-messages-generated-by-the-sua-tool.md) -##### [Applying Filters to Data in the SUA Tool](applying-filters-to-data-in-the-sua-tool.md) -##### [Fixing Applications by Using the SUA Tool](fixing-applications-by-using-the-sua-tool.md) -### [Compatibility Administrator User's Guide](compatibility-administrator-users-guide.md) -#### [Using the Compatibility Administrator Tool](using-the-compatibility-administrator-tool.md) -##### [Available Data Types and Operators in Compatibility Administrator](available-data-types-and-operators-in-compatibility-administrator.md) -##### [Searching for Fixed Applications in Compatibility Administrator](searching-for-fixed-applications-in-compatibility-administrator.md) -##### [Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator](searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md) -##### [Creating a Custom Compatibility Fix in Compatibility Administrator](creating-a-custom-compatibility-fix-in-compatibility-administrator.md) -##### [Creating a Custom Compatibility Mode in Compatibility Administrator](creating-a-custom-compatibility-mode-in-compatibility-administrator.md) -##### [Creating an AppHelp Message in Compatibility Administrator](creating-an-apphelp-message-in-compatibility-administrator.md) -##### [Viewing the Events Screen in Compatibility Administrator](viewing-the-events-screen-in-compatibility-administrator.md) -##### [Enabling and Disabling Compatibility Fixes in Compatibility Administrator](enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md) -##### [Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator](installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md) -#### [Managing Application-Compatibility Fixes and Custom Fix Databases](managing-application-compatibility-fixes-and-custom-fix-databases.md) -##### [Understanding and Using Compatibility Fixes](understanding-and-using-compatibility-fixes.md) -##### [Compatibility Fix Database Management Strategies and Deployment](compatibility-fix-database-management-strategies-and-deployment.md) -##### [Testing Your Application Mitigation Packages](testing-your-application-mitigation-packages.md) -#### [Using the Sdbinst.exe Command-Line Tool](using-the-sdbinstexe-command-line-tool.md) -### [Compatibility Fixes for Windows 10, Windows 8, Windows 7, and Windows Vista](compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md) From 7ce647c4cf9904875485c341d7f342b40469428a Mon Sep 17 00:00:00 2001 From: jaimeo Date: Tue, 19 May 2020 14:03:57 -0700 Subject: [PATCH 166/393] first go of theft --- windows/deployment/update/eval-infra-tools.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/windows/deployment/update/eval-infra-tools.md b/windows/deployment/update/eval-infra-tools.md index 3d577748ab..7ae7aae315 100644 --- a/windows/deployment/update/eval-infra-tools.md +++ b/windows/deployment/update/eval-infra-tools.md @@ -46,3 +46,26 @@ There are a number of Windows policies (set by Group Policy, Intune, or other me - **Windows 10 Administrative templates**: Each Windows 10 feature update has a supporting Administrative template (.admx) file. Group Policy tools use Administrative template files to populate policy settings in the user interface. The templates are available in the Download Center, for example, this one for [Windows 10, version 1909](https://www.microsoft.com/download/100591). - **Update and end-user experience policies**: A number of settings affect when a device installs updates, whether and for how long a user can defer an update, restart behavior after installation, and many other aspects of update behavior. {LINK here or elsewhere} + + +## Define operational readiness criteria + +When you’ve deployed an update, you’ll need to make sure the update isn’t introducing new operational issues. And you’ll also ensure that if incidents arise, the needed documentation and processes are available. To achieve this, work with your operations and support team to define acceptable trends and what documents or processes require updating: + +- **Call trend**: Define what percentage increase in calls relating to Windows 10 feature updates are acceptable or can be supported. +- **Incident trend**: Define what percentage of increase in calls asking for support relating to Windows 10 feature updates are acceptable or can be supported. +- **Support documentation**: Review supporting documentation that requires an update to support new infrastructure tooling or configuration as part of the Windows 10 feature update. +- **Process changes:** Define and update any processes that will change as a result of the Windows 10 feature update. + +Your operations and support staff can help you determine if the appropriate information is being tracked at the moment. If it isn't, work out how to get get this information so you can gain the right insight. + +## Tasks + +Finally, you can begin to carry out the work needed to ensure your infrastructure and configuration can support the update. To help you keep track, you can classify the work into the following overarching tasks: + +- **Review infrastructure requirements**: Go over the details of requirements to support the update, and ensure they’ve all been defined. +- **Validate infrastructure against requirements**: Compare your infrastructure against the requirements that have been identified for the update. +- **Define infrastructure update plan**: Detail how your infrastructure must change to support the update. +- **Review current support volume**: Understand the current support volume to understand how much of an effect the update has when it’s been deployed. +- **Identify gaps that require attention**: Identify issues that will need to be addressed to successfully deploy the update. For example, will your infrastructure engineer have to research how a new feature that comes with the update might affect the infrastructure? +- **Define operational update plan**: Detail how your operational services and processes must change to support the update. From 671ec29e8c0d38f86707a19a83acbf4397ba6ecc Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 14:13:22 -0700 Subject: [PATCH 167/393] update --- windows/deployment/TOC.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 12f65f4266..13d32de15d 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -3,12 +3,10 @@ items: - name: Get started items: - - name: What's new in Windows 10 deployment + - name: What's new href: deploy-whats-new.md - name: Windows 10 deployment scenarios href: windows-10-deployment-scenarios.md - - name: Deployment process posters - href: windows-10-deployment-posters.md - name: What is Windows as a service? href: update/waas-quick-start.md - name: Windows update fundamentals @@ -29,11 +27,13 @@ - name: Deploy Windows 10 in a test lab using MDT href: windows-10-poc-mdt.md - name: Deploy Windows 10 in a test lab using Configuration Manager - href: windows-10-poc-sc-config-mgr.md + href: windows-10-poc-sc-config-mgr.md + - name: Deployment process posters + href: windows-10-deployment-posters.md - name: Plan items: - - name: Windows 10 deployment considerations + - name: Deployment considerations href: planning/windows-10-deployment-considerations.md - name: Create a deployment plan href: file1.md From 8bc0006e64fddccf12cabdbfd7e4b4a17480f41a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 14:37:19 -0700 Subject: [PATCH 168/393] update --- windows/deployment/TOC.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 13d32de15d..1fadc89258 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -58,19 +58,19 @@ - name: Prepare items: - - name: Prepare to deploy Windows 10 (new) + - name: Prepare to deploy Windows 10 href: file1.md - - name: Evaluate and update infrastructure (new) + - name: Evaluate and update infrastructure href: file1.md - - name: Evaluate and update deployment processes (new) + - name: Evaluate and update deployment processes href: file1.md - - name: Test and remediate your applications (new) + - name: Test and remediate your applications href: file1.md - name: Set up Delivery Optimization for Windows 10 updates href: file1.md - name: Configure BranchCache for Windows 10 updates href: file1.md - - name: Prepare your deployment tools (new) + - name: Prepare your deployment tools items: - name: Register devices for deployment with Windows Autopilot href: file1.md @@ -84,7 +84,7 @@ href: file1.md - name: Prepare updates using Windows Update for Business href: file1.md - - name: Prepare updates using WSUS (retitle) + - name: Prepare updates using WSUS href: file1.md - name: Deploy @@ -115,7 +115,7 @@ href: file1.md - name: Subscription Activation items: - - name: Windows 10 Subscription Activation (update) + - name: Windows 10 Subscription Activation href: file1.md - name: Windows 10 Enterprise E3 in CSP href: file1.md @@ -125,7 +125,7 @@ href: file1.md - name: Deploy Windows 10 updates items: - - name: Assign devices to servicing channels (retitle) + - name: Assign devices to servicing channels href: file1.md - name: Deploy updates with Configuration Manager href: file1.md @@ -167,7 +167,7 @@ items: - name: Get started items: - - name: Get started with Update Compliance (consolidate) + - name: Get started with Update Compliance href: file1.md - name: Update Compliance configuration script href: file1.md @@ -250,7 +250,7 @@ href: file1.md - name: Windows 10 deployment tools items: - - name: Windows 10 deployment scenarios and tools (retitle) + - name: Windows 10 deployment scenarios and tools items: - name: Convert MBR partition to GPT href: file1.md From 6a0cb2f036a84e139a0e718104e44480f6d26cb4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 14:51:17 -0700 Subject: [PATCH 169/393] update --- windows/deployment/TOC.yml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 1fadc89258..11ffb40e89 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -50,11 +50,11 @@ - name: Features removed or planned for replacement items: - name: Windows 10 features lifecycle - href: file1.md + href: planning/features-lifecycle.md - name: Features we're no longer developing - href: file1.md + href: planning/windows-10-deprecated-features.md - name: Features we removed - href: file1.md + href: planning/windows-10-removed-features.md - name: Prepare items: @@ -73,11 +73,11 @@ - name: Prepare your deployment tools items: - name: Register devices for deployment with Windows Autopilot - href: file1.md + href: windows-autopilot/add-devices.md - name: Prepare for deployment with MDT - href: file1.md + href: deploy-windows-mdt/prepare-for-windows-deployment-with-mdt.md - name: Prepare for deployment with Configuration Manager - href: file1.md + href: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md - name: Build a successful servicing strategy items: - name: Build deployment rings for Windows 10 updates @@ -92,37 +92,37 @@ - name: Deploy Windows 10 items: - name: Deploy Windows 10 with Autopilot - href: file1.md + href: windows-autopilot/windows-autopilot-scenarios.md - name: Deploy Windows 10 with Configuration Manager items: - name: Deploy to a new device - href: file1.md + href: deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager.md - name: Refresh a device - href: file1.md + href: deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md - name: Replace a device - href: file1.md + href: deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md - name: In-place upgrade - href: file1.md + href: deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuraton-manager.md - name: Deploy Windows 10 with MDT items: - name: Deploy to a new device - href: file1.md + href: deploy-windows-mdt/deploy-a-windows-10-image-using-mdt.md - name: Refresh a device - href: file1.md + href: deploy-windows-mdt/refresh-a-windows-7-computer-with-windows-10.md - name: Replace a device - href: file1.md + href: deploy-windows-mdt/replace-a-windows-7-computer-with-a-windows-10-computer.md - name: In-place upgrade - href: file1.md + href: deploy-windows-mdt/upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md - name: Subscription Activation items: - name: Windows 10 Subscription Activation - href: file1.md + href: windows-10-subscription-activation.md - name: Windows 10 Enterprise E3 in CSP - href: file1.md + href: windows-10-enterprise-e3-overview.md - name: Configure VDA for Subscription Activation - href: file1.md + href: vda-subscription-activation.md - name: Deploy Windows 10 Enterprise licenses - href: file1.md + href: deploy-enterprise-licenses.md - name: Deploy Windows 10 updates items: - name: Assign devices to servicing channels From b7f6ce444f2682471230de68aa4e4d45df3c9d6b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 19 May 2020 16:30:20 -0700 Subject: [PATCH 170/393] update --- windows/deployment/TOC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 11ffb40e89..91af4b650a 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -102,7 +102,7 @@ - name: Replace a device href: deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md - name: In-place upgrade - href: deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuraton-manager.md + href: deploy-windows-cm/upgrade-to-windows-10-with-configuraton-manager.md - name: Deploy Windows 10 with MDT items: - name: Deploy to a new device From 2a5b0d5c0696e674daac125255dbb747f38ac5ba Mon Sep 17 00:00:00 2001 From: illfated Date: Wed, 20 May 2020 01:55:31 +0200 Subject: [PATCH 171/393] #6744 follow-up: convert Note text to Note blob Description: In PR #6744, a Note text line was added to the page, but without the common Note blob used in the default MS Docs code style. This PR updates the Note to follow the MS Docs code style by adding the MarkDown Note blob indent markers and the [!NOTE] tag or header. The text content itself remains unchanged. Changes proposed: - Convert the Note text line to a standard MS Docs Note blob - Remove redundant end-of-line whitespace (blanks) throughout the page Ticket closure or reference: Ref. PR #6744 --- .../hello-hybrid-cert-whfb-settings-dir-sync.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md index b9c99d4bae..98e4ceb61e 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md @@ -16,6 +16,7 @@ localizationpriority: medium ms.date: 10/23/2017 ms.reviewer: --- + # Configure Hybrid Windows Hello for Business: Directory Synchronization **Applies to** @@ -26,7 +27,7 @@ ms.reviewer: ## Directory Synchronization -In hybrid deployments, users register the public portion of their Windows Hello for Business credential with Azure. Azure AD Connect synchronizes the Windows Hello for Business public key to Active Directory. +In hybrid deployments, users register the public portion of their Windows Hello for Business credential with Azure. Azure AD Connect synchronizes the Windows Hello for Business public key to Active Directory. The key-trust model needs Windows Server 2016 domain controllers, which configures the key registration permissions automatically; however, the certificate-trust model does not and requires you to add the permissions manually. @@ -45,12 +46,12 @@ Sign-in a domain controller or management workstations with *Domain Admin* equiv 6. In the **Applies to** list box, select **Descendant User objects**. 7. Using the scroll bar, scroll to the bottom of the page and click **Clear all**. 8. In the **Properties** section, select **Read msDS-KeyCredentialLink** and **Write msDS-KeyCredentialLink**. -9. Click **OK** three times to complete the task. +9. Click **OK** three times to complete the task. ### Group Memberships for the Azure AD Connect Service Account -The KeyAdmins or KeyCredential Admins global group provides the Azure AD Connect service with the permissions needed to read and write the public key to Active Directory. +The KeyAdmins or KeyCredential Admins global group provides the Azure AD Connect service with the permissions needed to read and write the public key to Active Directory. Sign-in a domain controller or management workstation with _Domain Admin_ equivalent credentials. @@ -61,14 +62,15 @@ Sign-in a domain controller or management workstation with _Domain Admin_ equiva 5. In the **Enter the object names to select** text box, type the name of the Azure AD Connect service account. Click **OK**. 6. Click **OK** to return to **Active Directory Users and Computers**. -Note: if your AD forest has multiple domains. Please make sure you add the ADConnect sync service account (ie. MSOL_12121212) into "Enterprise Key Admins" group to gain permission across the domains in the forest. +> [!NOTE] +> if your AD forest has multiple domains. Please make sure you add the ADConnect sync service account (ie. MSOL_12121212) into "Enterprise Key Admins" group to gain permission across the domains in the forest. ### Section Review > [!div class="checklist"] > * Configure Permissions for Key Synchronization > * Configure group membership for Azure AD Connect -> +> > [!div class="step-by-step"] > [< Configure Active Directory](hello-hybrid-cert-whfb-settings-ad.md) > [Configure PKI >](hello-hybrid-cert-whfb-settings-pki.md) From 325cf361576e83cae2cbb95b2178d1d8aefe6d6b Mon Sep 17 00:00:00 2001 From: jaimeo Date: Wed, 20 May 2020 10:01:20 -0700 Subject: [PATCH 172/393] safety checkin --- .../update/plan-determine-app-readiness.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 windows/deployment/update/plan-determine-app-readiness.md diff --git a/windows/deployment/update/plan-determine-app-readiness.md b/windows/deployment/update/plan-determine-app-readiness.md new file mode 100644 index 0000000000..f71bd4f808 --- /dev/null +++ b/windows/deployment/update/plan-determine-app-readiness.md @@ -0,0 +1,48 @@ +--- +title: Determine application readiness +ms.reviewer: +manager: laurawi +description: How to test your apps to know which need attention prior to deploying an update +keywords: updates, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Determine application readiness + +Before you deploy a Windows 10 update, you should know which apps will continue to work without problems, which need their own updates, and which just won't work and must be replaced. If you haven't already, it's worth [classifying your apps] with respect to their criticality in your organization. + +## Validation methods + +You can choose from a variety of methods to validate apps. Exactly which ones to use will depend on the specifics of your environment. + + +|Validation method |Description | +|---------|---------| +|Full regression | A full quality assurance probing. Staff who know the application very well and can validate its core functionality should do this. | +|Smoke testing | The application goes through formal validation. That is, a user validates the application following a detailed plan, ideally with limited, or no knowledge of the application they’re validating. | +|Automated testing | Software performs tests automatically. The software will let you know whether the tests have passed or failed, and will provide detailed reporting for you automatically. | +|Test in pilot | You pre-select users to be in the pilot deployment group and carry out the same tasks they do on a day-to-day basis to validate the application. Normally you use this method in addition to one of the other validation types. | +|Reactive response | Applications are validated in late pilot, and no specific users are selected. These are normally applications with low installation bases and aren’t handled by enterprise application distribution. | + +Combining the various validation methods with the app classifications you've previously established might look like this: + + +|Validation method |Critical apps |Important apps |Not important apps | +|---------|---------|---------|---------| +|Full regression | x | | | +|Smoke testing | | x | | +|Automated testing | x | x | x | +|Test in pilot | x | x | x | + + +## Identify and set up devices for validation + + From 6c6a89b9f73f346c41305a528c155ff1f13afc6e Mon Sep 17 00:00:00 2001 From: "Trond B. Krokli" <38162891+illfated@users.noreply.github.com> Date: Wed, 20 May 2020 19:18:35 +0200 Subject: [PATCH 173/393] Add grammar correction - by mapalko Co-authored-by: mapalko --- .../hello-hybrid-cert-whfb-settings-dir-sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md index 98e4ceb61e..78b43b43e2 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-cert-whfb-settings-dir-sync.md @@ -63,7 +63,7 @@ Sign-in a domain controller or management workstation with _Domain Admin_ equiva 6. Click **OK** to return to **Active Directory Users and Computers**. > [!NOTE] -> if your AD forest has multiple domains. Please make sure you add the ADConnect sync service account (ie. MSOL_12121212) into "Enterprise Key Admins" group to gain permission across the domains in the forest. +> If your AD forest has multiple domains, make sure you add the ADConnect sync service account (ie. MSOL_12121212) into "Enterprise Key Admins" group to gain permission across the domains in the forest. ### Section Review From a63b102543396fd18d01701068fbfe39da449ac9 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Wed, 20 May 2020 11:11:38 -0700 Subject: [PATCH 174/393] incorp complete --- .../update/plan-determine-app-readiness.md | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/plan-determine-app-readiness.md b/windows/deployment/update/plan-determine-app-readiness.md index f71bd4f808..29c3c93099 100644 --- a/windows/deployment/update/plan-determine-app-readiness.md +++ b/windows/deployment/update/plan-determine-app-readiness.md @@ -30,7 +30,7 @@ You can choose from a variety of methods to validate apps. Exactly which ones to |Smoke testing | The application goes through formal validation. That is, a user validates the application following a detailed plan, ideally with limited, or no knowledge of the application they’re validating. | |Automated testing | Software performs tests automatically. The software will let you know whether the tests have passed or failed, and will provide detailed reporting for you automatically. | |Test in pilot | You pre-select users to be in the pilot deployment group and carry out the same tasks they do on a day-to-day basis to validate the application. Normally you use this method in addition to one of the other validation types. | -|Reactive response | Applications are validated in late pilot, and no specific users are selected. These are normally applications with low installation bases and aren’t handled by enterprise application distribution. | +|Reactive response | Applications are validated in late pilot, and no specific users are selected. These are normally applications aren't installed on many devices and aren’t handled by enterprise application distribution. | Combining the various validation methods with the app classifications you've previously established might look like this: @@ -43,6 +43,34 @@ Combining the various validation methods with the app classifications you've pre |Test in pilot | x | x | x | +## Identify users + +Since your organization no doubt has a wide variety of users, each with different background and regular tasks, you'll have to choose which users are best suited for validation testing. Some factors to consider include: + +- **Location**: If users are in different physical locations, can you support them and get validation feedback from the region they're in? +- **Application knowledge**: Do the users have appropriate knowledge of how the app is supposed to work? +- **Technical ability**: Do the users have enough technical competence to provide useful feedback from various test scenarios? + +You could seek volunteers who enjoy working with new features and include them in the pilot deployment. You might want to avoid using core users like department heads or project managers. Current application owners, operations personnel, and developers can help you identify the most appropriate pilot users. + ## Identify and set up devices for validation +In addition to users, it's important to carefully choose devices to participate in app validation as well. For example, ideally, your selection will include devices representing all of the hardware models in your environment. +There is more than one way to choose devices for app validation: + +- **Existing pilot devices**: You might already have a list of devices that you regularly use for testing updates as part of release cycles. +- **Manual selection**: Some internal groups like operations will have expertise to help choose devices manually based on specifications, usage, or records of past support problems. +- **Data-driven analysis**: With appropriate tools, you can use diagnostic data from devices to inform your choices. + + +## Desktop Analytics + +Desktop Analytics can make all of the tasks discussed in this article significantly easier: + +- Creating and maintaining an application and device inventory +- Assign owners to applications for testing +- Automatically apply your app classifications (critical, important, not important) +- Automatically identify application compatibility risks and provide recommendations for reducing those risks + +For more information, see [What is Desktop Analytics?](https://docs.microsoft.com/mem/configmgr/desktop-analytics/overview) From 3528030c4eb7e066ce07718c86ce81632440c206 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 20 May 2020 11:46:23 -0700 Subject: [PATCH 175/393] edits --- .../whats-new-windows-10-version-2004.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 4f73270a12..522c9a3970 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -39,23 +39,20 @@ This feature is forward-looking and currently requires new Intel Comet Lake (CML [Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. -### FIDO2 security key support in Azure Active Directory -FIDO2 security key support in Azure Active Directory (Azure AD) is expanded to hybrid environments, enabling even more customers to take an important step in their journey towards passwordless environments +### Passwordless authentication in Azure Active Directory -[Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894) - - - -### Microsoft BitLocker +Fast Identity Online 2 (FIDO2) security key support is expanded to Azure Active Directory hybrid environments with this release, enabling enterprises with hybrid environments to take advantage of [passwordless authentication](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). For more information, see [Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894). ## Edge -https://www.microsoftedgeinsider.com/en-us/whats-new +Read about plans for the new Microsoft Edge and other innovations announced at [Build 2020](https://blogs.windows.com/msedgedev/2020/05/19/microsoft-edge-news-developers-build-2020/) and [What's new at Microsoft Edge Insider](https://www.microsoftedgeinsider.com/whats-new). ## Cortana -Cortana: Microsoft says Cortana is evolving into a "personal productivity assistant" that can help you use Microsoft 365 apps. Cortana will be undocked from the taskbar, so you can move or resize it like any other app. An improved email feature lets you use Cortana to create emails (for example, you can say, "Send an email to Mary letting her know I'm running late" or "Show me emails from Jeff"). An improved calendar lets you do the same to create and ask about meetings. And Windows lets you use the assistant to open apps and adjust settings like brightness. +Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. + +The Cortana app also has several improvements in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). ## Virtual Desktops @@ -63,7 +60,7 @@ Virtual desktops: Rename your virtual desktops, instead of getting stuck with th ## Bluetooth -Bluetooth pairing: Pairing Bluetooth devices with your machine will occur through notifications, so you won't need to go to the Settings app to finish pairing. +Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. ## 2-in-1 PCs From a8c8868c6e3320a86c305130092db9d38a6b390c Mon Sep 17 00:00:00 2001 From: jaimeo Date: Wed, 20 May 2020 15:25:55 -0700 Subject: [PATCH 176/393] incorp from whitepaper and calendar blog material --- .../update/define-update-strategy.md | 59 ++++++++++++++++++ .../update/images/annual-calendar.png | Bin 0 -> 79126 bytes .../update/images/rapid-calendar.png | Bin 0 -> 117135 bytes 3 files changed, 59 insertions(+) create mode 100644 windows/deployment/update/define-update-strategy.md create mode 100644 windows/deployment/update/images/annual-calendar.png create mode 100644 windows/deployment/update/images/rapid-calendar.png diff --git a/windows/deployment/update/define-update-strategy.md b/windows/deployment/update/define-update-strategy.md new file mode 100644 index 0000000000..d8fd47ee87 --- /dev/null +++ b/windows/deployment/update/define-update-strategy.md @@ -0,0 +1,59 @@ +--- +title: Define update strategy +ms.reviewer: +manager: laurawi +description: +keywords: updates, calendar, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Define update strategy + +Traditionally, organizations treated the deployment of operating system updates (especially feature updates) as a discrete project that had a beginning, a middle, and an end. A release was "built" (usually in the form of an image) and then distributed to users and their devices. + +Today, more organizations are treating deployment as a continual process of updates which roll out across the organization in waves. In this approach, an update is plugged into this process and while it runs, you monitor for anomalies, errors, or user impact and respond as issues arise--withouth interrupting the entire process. Microsoft has been evolving its Windows 10 release cycles, update mechanisms, and relevant tools to support this model. Feature updates are released twice per year, around March and September. All releases of Windows 10 have 18 months of servicing for all editions. Fall releases of the Enterprise and Education editions have an additional 12 months of servicing for specific Windows 10 releases, for a total of 30 months from initial release. + +Though we encourage you to deploy every available release and maintain a fast cadence for some portion of your environment, we also recognize that you might have a large number of devices, and a need for little or no disruption, an so you might choose to update annually. The 18/30 month lifecycle cadence lets you to allow some portion of you environment to move faster while a majority can move less quickly. + + + +## Calendar approaches + +You can use a calendar approach for either a faster 18-month or twice-per-year cadence or a 30-month or annual cadence. Depending on company size, installing Windows 10 feature updates less often than once annually risks devices going out of service and becoming vulnerable to security threats, because they will stop receiving the monthly security updates. + + +### Annual + +Here's a calendar showing an example schedule that applies one Windows 10 feature update per calendar year, aligned with Microsoft Endpoint Configuration Manager and Microsoft 365 Apps release cycles: + +![annual calendar](images/annual-calendar.png) + +This approach provides approximately twelve months of use from each feature update before the next update is due to be installed. By aligning to the Windows 10, version 20H2 feature update, each release will be serviced for 30 months from the time of availability, giving you more flexibility when applying future feature updates. + +This cadence might be most suitable for you if any of these conditions apply: + +- You are just starting your journey with the Windows 10 servicing process. If you are unfamiliar with new processes that support Windows 10 servicing, moving from a once every 3-5 year project to a twice a year feature update process can be daunting. This approach gives you time to learn new approaches and tools to reduce effort and cost. +- You want to wait and see how successful other companies are at adopting a Windows 10 feature update. +- You want to go quickly with feature updates, and want the ability to skip a feature update while keeping Windows 10 serviced in case business priorities change. Aligning to the Windows 10 feature update released in the *second* half of each calendar year, you get additional servicing for Windows 10 (30 months of servicing compared to 18 months). + + +### Rapid + +This calendar shows an example schedule that installs each feature update as it is released, twice per year: + +![rapid calendar](images/rapid-calendar.png) + +This cadence might be best for you if these conditions apply: + +- You have a strong appetite for change. +- You want to continuously update supporting infrastructure and unlock new scenarios. +- Your organization has a large population of information workers that can use the latest features and functionality in Windows 10 and Office. +- You have experience with feature updates for Windows 10. \ No newline at end of file diff --git a/windows/deployment/update/images/annual-calendar.png b/windows/deployment/update/images/annual-calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff15bed762ddb12933a68a46fb1cac59ee7a729 GIT binary patch literal 79126 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

jcoZ=HqTQV?-FdYo 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

>jg1CH4m8;T#8aK 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 U+v3PLObR&As3XWao1lyT28YlME&u=k literal 0 HcmV?d00001 From e1cba6893dcd2c02d9e2652a02861eb2af450c5e Mon Sep 17 00:00:00 2001 From: Kweku Ako-Adjei Date: Wed, 20 May 2020 16:57:06 -0700 Subject: [PATCH 177/393] Cortana Art update --- {images => windows/configuration}/screenshot1.png | Bin {images => windows/configuration}/screenshot10.png | Bin {images => windows/configuration}/screenshot11.png | Bin {images => windows/configuration}/screenshot12.png | Bin {images => windows/configuration}/screenshot2.png | Bin {images => windows/configuration}/screenshot3.png | Bin {images => windows/configuration}/screenshot4.png | Bin {images => windows/configuration}/screenshot5.png | Bin {images => windows/configuration}/screenshot6.png | Bin {images => windows/configuration}/screenshot7.png | Bin {images => windows/configuration}/screenshot8.png | Bin {images => windows/configuration}/screenshot9.png | Bin 12 files changed, 0 insertions(+), 0 deletions(-) rename {images => windows/configuration}/screenshot1.png (100%) rename {images => windows/configuration}/screenshot10.png (100%) rename {images => windows/configuration}/screenshot11.png (100%) rename {images => windows/configuration}/screenshot12.png (100%) rename {images => windows/configuration}/screenshot2.png (100%) rename {images => windows/configuration}/screenshot3.png (100%) rename {images => windows/configuration}/screenshot4.png (100%) rename {images => windows/configuration}/screenshot5.png (100%) rename {images => windows/configuration}/screenshot6.png (100%) rename {images => windows/configuration}/screenshot7.png (100%) rename {images => windows/configuration}/screenshot8.png (100%) rename {images => windows/configuration}/screenshot9.png (100%) diff --git a/images/screenshot1.png b/windows/configuration/screenshot1.png similarity index 100% rename from images/screenshot1.png rename to windows/configuration/screenshot1.png diff --git a/images/screenshot10.png b/windows/configuration/screenshot10.png similarity index 100% rename from images/screenshot10.png rename to windows/configuration/screenshot10.png diff --git a/images/screenshot11.png b/windows/configuration/screenshot11.png similarity index 100% rename from images/screenshot11.png rename to windows/configuration/screenshot11.png diff --git a/images/screenshot12.png b/windows/configuration/screenshot12.png similarity index 100% rename from images/screenshot12.png rename to windows/configuration/screenshot12.png diff --git a/images/screenshot2.png b/windows/configuration/screenshot2.png similarity index 100% rename from images/screenshot2.png rename to windows/configuration/screenshot2.png diff --git a/images/screenshot3.png b/windows/configuration/screenshot3.png similarity index 100% rename from images/screenshot3.png rename to windows/configuration/screenshot3.png diff --git a/images/screenshot4.png b/windows/configuration/screenshot4.png similarity index 100% rename from images/screenshot4.png rename to windows/configuration/screenshot4.png diff --git a/images/screenshot5.png b/windows/configuration/screenshot5.png similarity index 100% rename from images/screenshot5.png rename to windows/configuration/screenshot5.png diff --git a/images/screenshot6.png b/windows/configuration/screenshot6.png similarity index 100% rename from images/screenshot6.png rename to windows/configuration/screenshot6.png diff --git a/images/screenshot7.png b/windows/configuration/screenshot7.png similarity index 100% rename from images/screenshot7.png rename to windows/configuration/screenshot7.png diff --git a/images/screenshot8.png b/windows/configuration/screenshot8.png similarity index 100% rename from images/screenshot8.png rename to windows/configuration/screenshot8.png diff --git a/images/screenshot9.png b/windows/configuration/screenshot9.png similarity index 100% rename from images/screenshot9.png rename to windows/configuration/screenshot9.png From 18bc1555f39efef8f1b38f5ca7f886033c5b4431 Mon Sep 17 00:00:00 2001 From: Kweku Ako-Adjei Date: Wed, 20 May 2020 17:11:06 -0700 Subject: [PATCH 178/393] Cortana topic art updates --- .../cortana-at-work/cortana-at-work-feedback.md | 4 ++-- .../cortana-at-work/cortana-at-work-overview.md | 4 ++-- .../cortana-at-work/cortana-at-work-scenario-1.md | 2 +- .../cortana-at-work/cortana-at-work-scenario-2.md | 2 +- .../cortana-at-work/cortana-at-work-scenario-3.md | 5 ++--- .../cortana-at-work/cortana-at-work-scenario-4.md | 2 +- .../cortana-at-work/cortana-at-work-scenario-5.md | 2 +- .../cortana-at-work/cortana-at-work-scenario-6.md | 2 +- .../cortana-at-work/set-up-and-test-cortana-in-windows-10.md | 4 ++-- 9 files changed, 13 insertions(+), 14 deletions(-) diff --git a/windows/configuration/cortana-at-work/cortana-at-work-feedback.md b/windows/configuration/cortana-at-work/cortana-at-work-feedback.md index 60ae0ffa10..9b2fcfb9c3 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-feedback.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-feedback.md @@ -16,10 +16,10 @@ manager: dansimp To provide feedback on an individual request or response, select the item in the conversation history and then select **Give feedback**. This opens the Feedback Hub application where you can provide more information to help diagnose reported issues. -:::image type="content" source="../../../images/screenshot11.png" alt-text="Screenshot: Send feedback page"::: +:::image type="content" source="../screenshot1.png" alt-text="Screenshot: Send feedback page"::: To provide feedback about the application in general, go to the **Settings** menu by selecting the three dots in the top left of the application, and select **Feedback**. This opens the Feedback Hub where more information on the issue can be provided. -:::image type="content" source="../../../images/screenshot12.png" alt-text="Screenshot: Select Feedback to go to the Feedback Hub"::: +:::image type="content" source="../screenshot12.png" alt-text="Screenshot: Select Feedback to go to the Feedback Hub"::: In order for enterprise users to provide feedback, admins must unblock the Feedback Hub in the [Azure portal](https://portal.azure.com/). Go to the **Enterprise applications section** and enable **Users can allow apps to access their data**. \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-overview.md b/windows/configuration/cortana-at-work/cortana-at-work-overview.md index 7156ab49ea..de739df432 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-overview.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-overview.md @@ -17,7 +17,7 @@ ms.author: dansimp Cortana is a personal productivity assistant in Microsoft 365, helping your users achieve more with less effort and focus on what matters. The Cortana app in Windows 10 helps users quickly get information across Microsoft 365, using typed or spoken queries to connect with people, check calendars, set reminders, add tasks, and more. -:::image type="content" source="../../../images/screenshot1.png" alt-text="Screenshot: Cortana home page example"::: +:::image type="content" source="../screenshot1.png" alt-text="Screenshot: Cortana home page example"::: ## Where is Cortana available for use in my organization? @@ -71,7 +71,7 @@ First, the user must enable the wake word from within Cortana settings. Once it The first decision is made by the Windows Multiple Voice Assistant platform leveraging hardware optionally included in the user's PC for power savings. If the wake word is detected, Windows will show a microphone icon in the system tray indicating an assistant app is listening. -:::image type="content" source="images/screenshot2.png" alt-text="Microphone icon in the system tray indicating an assistant app is listening"::: +:::image type="content" source="../screenshot2.png" alt-text="Screenshot: Microphone icon in the system tray indicating an assistant app is listening"::: At that point, the Cortana app will receive the audio, run a second, more accurate wake word detector, and optionally send it to a Microsoft cloud service where a third wake word detector will confirm. If the service does not confirm that the activation was valid, the audio will be discarded and deleted from any further processing or server logs. On the user's PC, the Cortana app will be silently dismissed, and no query will be shown in conversation history because the query was discarded. diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md index 642a124de8..60711d75f8 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md @@ -24,7 +24,7 @@ manager: dansimp When you say "Cortana", Cortana will open in listening mode to acknowledge the wake word. -:::image type="content" source="../../../images/screenshot4.png" alt-text="Screenshot: Cortana listening mode"::: +:::image type="content" source="../screenshot4.png" alt-text="Screenshot: Cortana listening mode"::: Once you finish saying your query, Cortana will open with the result. diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md index 55a3d754d6..024edb02d3 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md @@ -20,7 +20,7 @@ manager: dansimp Cortana will respond with the information from Bing. -:::image type="content" source="../../../images/screenshot5.png" alt-text="Screenshot: Cortana showing current time in Hyderbad"::: +:::image type="content" source="../screenshot5.png" alt-text="Screenshot: Cortana showing current time in Hyderbad"::: >[!NOTE] >This scenario requires Bing Answers to be enabled. For more information, see [Set up and configure the Bing Answers feature](https://docs.microsoft.com/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10#set-up-and-configure-the-bing-answers-feature). \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md index 333199a0a5..6eb0765127 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md @@ -20,7 +20,6 @@ This scenario helps you set up, review, and edit a reminder. For example, you ca Cortana will create a reminder in Microsoft To Do and will remind you at the appropriate time. -:::image type="content" source="../../../images/screenshot6.png" alt-text="Screenshot: Cortana set a reminder"::: - -:::image type="content" source="../../../images/screenshot7.png" alt-text="Screenshot: Cortana showing reminder on page"::: +:::image type="content" source="../screenshot6.png" alt-text="Screenshot: Cortana set a reminder"::: +:::image type="content" source="../screenshot7.png" alt-text="Screenshot: Cortana showing reminder on page"::: \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md index ec22777755..90243bf9f7 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md @@ -24,4 +24,4 @@ This process helps you find out if a time slot is free on your calendar. Cortana will respond with your availability for that time, as well as nearby meetings. -:::image type="content" source="../../../images/screenshot8.png" alt-text="Screenshot: Cortana showing free time on a calendar"::: \ No newline at end of file +:::image type="content" source="../screenshot8.png" alt-text="Screenshot: Cortana showing free time on a calendar"::: \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md index ee0bbe9a6e..66ec2603d8 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md @@ -20,6 +20,6 @@ Cortana can help you quickly look up information about someone or the org chart. 2. Type or select the mic and say, **Who is name of person in your organization's?** -:::image type="content" source="../../../images/screenshot8.png" alt-text="Screenshot: Cortana showing name of person in your organization"::: +:::image type="content" source="../screenshot9.png" alt-text="Screenshot: Cortana showing name of person in your organization"::: Cortana will respond with information about the person. You can select the person to open information about them in Microsoft Search. \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md index 739f5afbfd..731dadfa00 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md @@ -22,4 +22,4 @@ Cortana can help employees in regions outside the US search for quick answers li 3. Once the app has restarted, type or say **Convierte 100 Euros a Dólares**. -:::image type="content" source="../../../images/screenshot10.png" alt-text="Screenshot: Cortana showing a change your language and showing search results in Spanish"::: \ No newline at end of file +:::image type="content" source="../screenshot10.png" alt-text="Screenshot: Cortana showing a change your language and showing search results in Spanish"::: \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md b/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md index c1b71aa782..344668eacd 100644 --- a/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md +++ b/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md @@ -32,8 +32,8 @@ Users cannot enable or disable the Bing Answer feature individually. So, if you Sign in to the [Office Configuration Admin tool](https://config.office.com/). Follow the steps [here](https://docs.microsoft.com/deployoffice/overview-office-cloud-policy-service#steps-for-creating-a-policy-configuration) to create this policy configuration. Once completed, the policy will look as shown below: - -:::image type="content" source="../../../images/screenshot3.png" alt-text="Screenshot: Bing policy example"::: + +:::image type="content" source="../screenshot3.png" alt-text="Screenshot: Bing policy example"::: ## How does Microsoft handle customer data for Bing Answers? From 614406a98c51e7ef6ce392afa508b0949d2045d6 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Wed, 20 May 2020 19:53:45 -0700 Subject: [PATCH 179/393] Clarify how to deal with multiple Microsoft repos on the same device --- .../linux-install-manually.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 412d0351fa..6fe21d3f51 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -179,18 +179,59 @@ In order to preview new features and provide early feedback, it is recommended t sudo yum install mdatp ``` + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + + ```bash + # list all repositories + $ yum repolist + ... + packages-microsoft-com-prod packages-microsoft-com-prod 316 + packages-microsoft-com-prod-insiders-fast packages-microsoft-com-prod-ins 2 + ... + + # install the package from the production repository + $ sudo yum --enablerepo=packages-microsoft-com-prod install mdatp + ``` + - SLES and variants: ```bash sudo zypper install mdatp ``` + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + + ```bash + # list all repositories + $ zypper repos + ... + # | Alias | Name | ... + XX | packages-microsoft-com-insiders-fast | microsoft-insiders-fast | ... + XX | packages-microsoft-com-prod | microsoft-prod | ... + ... + + # install the package from the production repository + $ sudo zypper install packages-microsoft-com-prod:mdatp + ``` + - Ubuntu and Debian system: ```bash sudo apt-get install mdatp ``` + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + + ```bash + # list all repositories + $ cat /etc/apt/sources.list.d/* + deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/ubuntu/18.04/prod insiders-fast main + deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic main + + # install the package from the production repository + $ sudo apt -t bionic install mdatp + ``` + ## Download the onboarding package Download the onboarding package from Microsoft Defender Security Center: From 95b5805e3e01c1bb87837ba012722081e0d6b955 Mon Sep 17 00:00:00 2001 From: Tudor Dobrila Date: Wed, 20 May 2020 19:56:54 -0700 Subject: [PATCH 180/393] Keep Acrolinx happy --- .../microsoft-defender-atp/linux-install-manually.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md index 6fe21d3f51..31656eeae6 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/linux-install-manually.md @@ -179,7 +179,7 @@ In order to preview new features and provide early feedback, it is recommended t sudo yum install mdatp ``` - If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This situation can happen if you are using multiple Microsoft products on your device. ```bash # list all repositories @@ -199,7 +199,7 @@ In order to preview new features and provide early feedback, it is recommended t sudo zypper install mdatp ``` - If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This situation can happen if you are using multiple Microsoft products on your device. ```bash # list all repositories @@ -220,7 +220,7 @@ In order to preview new features and provide early feedback, it is recommended t sudo apt-get install mdatp ``` - If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This can happen if you are using multiple Microsoft products on your device. + If you have multiple Microsoft repositories configured on your device, you can be specific about which repository to install the package from. The following example shows how to install the package from the `production` channel if you also have the `insiders-fast` repository channel configured on this device. This situation can happen if you are using multiple Microsoft products on your device. ```bash # list all repositories From 915b71c257777299f93c75f252cf358e17acb111 Mon Sep 17 00:00:00 2001 From: Kweku Ako-Adjei Date: Wed, 20 May 2020 20:58:43 -0700 Subject: [PATCH 181/393] Cortana updates --- .../configuration/cortana-at-work/cortana-at-work-overview.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-1.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-2.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-3.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-4.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-5.md | 2 +- .../configuration/cortana-at-work/cortana-at-work-scenario-6.md | 2 +- .../cortana-at-work/set-up-and-test-cortana-in-windows-10.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/configuration/cortana-at-work/cortana-at-work-overview.md b/windows/configuration/cortana-at-work/cortana-at-work-overview.md index de739df432..034eb25518 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-overview.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-overview.md @@ -48,7 +48,7 @@ Cortana's approach to integration with Microsoft 365 has changed with Windows 10 ### Cortana in Windows 10, version 2004 and later -Cortana enterprise services that can be accessed using Azure AD through Cortana in Windows 10, version 2004 and later, meet the same enterprise-level privacy, security, and compliance promises as reflected in the [Online Services Terms (OST)](https://www.microsoft.com/en-us/licensing/product-licensing/products). For more information, see [Cortana in Microsoft 365](https://docs.microsoft.com/microsoft-365/admin/misc/cortana-integration?view=o365-worldwide#what-data-is-processed-by-cortana-in-office-365). +Cortana enterprise services that can be accessed using Azure AD through Cortana in Windows 10, version 2004 and later, meet the same enterprise-level privacy, security, and compliance promises as reflected in the [Online Services Terms (OST)](https://www.microsoft.com/en-us/licensing/product-licensing/products). To learn more, see [Cortana in Microsoft 365](https://docs.microsoft.com/microsoft-365/admin/misc/cortana-integration?view=o365-worldwide#what-data-is-processed-by-cortana-in-office-365). #### How does Microsoft store, retain, process, and use Customer Data in Cortana? diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md index 60711d75f8..ae1cc6a4a5 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-1.md @@ -22,7 +22,7 @@ manager: dansimp 4. Say **Cortana, what can you do?**. -When you say "Cortana", Cortana will open in listening mode to acknowledge the wake word. +When you say **Cortana**, Cortana will open in listening mode to acknowledge the wake word. :::image type="content" source="../screenshot4.png" alt-text="Screenshot: Cortana listening mode"::: diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md index 024edb02d3..cd8da63e37 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-2.md @@ -23,4 +23,4 @@ Cortana will respond with the information from Bing. :::image type="content" source="../screenshot5.png" alt-text="Screenshot: Cortana showing current time in Hyderbad"::: >[!NOTE] ->This scenario requires Bing Answers to be enabled. For more information, see [Set up and configure the Bing Answers feature](https://docs.microsoft.com/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10#set-up-and-configure-the-bing-answers-feature). \ No newline at end of file +>This scenario requires Bing Answers to be enabled. To learn more, see [Set up and configure the Bing Answers feature](https://docs.microsoft.com/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10#set-up-and-configure-the-bing-answers-feature). \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md index 6eb0765127..5382e5665c 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-3.md @@ -16,7 +16,7 @@ manager: dansimp This scenario helps you set up, review, and edit a reminder. For example, you can remind yourself to send someone a link to a document after a meeting. -1. Select the **Cortana** icon in the taskbar and type _Remind me to send a link to the deck at 3:05pm_ and press **Enter**. +1. Select the **Cortana** icon in the taskbar and type **Remind me to send a link to the deck at 3:05pm** and press **Enter**. Cortana will create a reminder in Microsoft To Do and will remind you at the appropriate time. diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md index 90243bf9f7..1a34778608 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-4.md @@ -14,7 +14,7 @@ manager: dansimp # Test scenario 4 - Use Cortana to find free time on your calendar -This process helps you find out if a time slot is free on your calendar. +This scenario helps you find out if a time slot is free on your calendar. 1. Select the **Cortana** icon in the taskbar. diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md index 66ec2603d8..6312ad8983 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-5.md @@ -22,4 +22,4 @@ Cortana can help you quickly look up information about someone or the org chart. :::image type="content" source="../screenshot9.png" alt-text="Screenshot: Cortana showing name of person in your organization"::: -Cortana will respond with information about the person. You can select the person to open information about them in Microsoft Search. \ No newline at end of file +Cortana will respond with information about the person. You can select the person to see more information about them in Microsoft Search. \ No newline at end of file diff --git a/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md b/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md index 731dadfa00..b2c7bdd9dd 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-scenario-6.md @@ -14,7 +14,7 @@ manager: dansimp # Test scenario 6 – Change your language and perform a quick search with Cortana -Cortana can help employees in regions outside the US search for quick answers like currency conversions, time zone conversions, or weather in their location or another. +Cortana can help employees in regions outside the US search for quick answers like currency conversions, time zone conversions, or weather in their location. 1. Select the **Cortana** icon in the taskbar. diff --git a/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md b/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md index 344668eacd..14dfdcd3da 100644 --- a/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md +++ b/windows/configuration/cortana-at-work/set-up-and-test-cortana-in-windows-10.md @@ -43,7 +43,7 @@ When a user enters a search query (by speech or text), Cortana evaluates if the 2. If it is not for any of the first-party compliant skills, the query is sent to Bing for a search of public results from Bing.com. Because enterprise searches might be sensitive, similar to [Microsoft Search in Bing](https://docs.microsoft.com/MicrosoftSearch/security-for-search#microsoft-search-in-bing-protects-workplace-searches), Bing Answers in Cortana has implemented a set of trust measures, described below, that govern how the separate search of public results from Bing.com is handled. The Bing Answers in Cortana trust measures are consistent with the enhanced privacy and security measures described in [Microsoft Search in Bing](https://docs.microsoft.com/MicrosoftSearch/security-for-search). All Bing.com search logs that pertain to Cortana traffic are disassociated from users' workplace identity. All Cortana queries issued via a work or school account are stored separately from public, non-Cortana traffic. -Bing Answers is enabled by default for all users. However, admins can configure and change this for specific users/user groups in their organization. +Bing Answers is enabled by default for all users. However, admins can configure and change this for specific users and user groups in their organization. ## How the Bing Answer policy configuration is applied Before a query is sent to Bing for a search of public results from Bing.com, the Bing Answers service checks with the Office Cloud Policy Service to see if there are any policy configurations that pertain to the user for allowing Bing Answers to respond to questions users ask Cortana. If the user is a member of an AAD group that is assigned that policy configuration, then the appropriate policy settings are applied and a check is made again in 10 minutes. \ No newline at end of file From 5951f23dd59de0d1470198eedd8f32ad91211cbc Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Thu, 21 May 2020 11:02:51 +0500 Subject: [PATCH 182/393] Delete 945c9c5d66797037c3caeaa5c19f135c.png --- .../945c9c5d66797037c3caeaa5c19f135c.png | Bin 350945 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png b/windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png deleted file mode 100644 index 7635b49f3e272850f2fc78735e7ba0c62aa23a56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350945 zcmZU)19)UzvnU+fHYc`iPS~+Cv2Ap0CzFZoj%|A;P9}CH6WdO1-tRs4ob%tmpJ(@C zRjpd6U06E`pd^EgK!5-S28R4qR#FuV3~K)Kae{;Stf3f&cLoDPlC_qQ0DP5@AOpBK zT3FkegMrCLrD(xwtNp^s)l>ay6$B>>-yNk|EDv8Gg_cOa4EL3+U??3;@|3YK*cKPP zuAq`4x&}J2*@Pv=#FGitTt!C*7m-_iv$(J0x%;8Vv&ZrL?IOeVU5)+00tPIHAXhyz z<`^Q8=2zOVOlTc-acRA5P9Ow;wMW{Az1J}`A1b9VK7NjP-|`yi^iX?XoNqFg3;ttc;(~dfAC7gF=%i{ zT@gikLW-7Nc{MPCHDwj#YV=J93$A*Sd8EJ%VSu^)M1#GS5(FPgLQD8Lo>e+DgTiYD z98SJNor)z_B4M$GtF%>t=Tm1)+rPGW&pUhE`kq#a7i$a)tN0}*R%;RI#e>FD_Xoyr zvhyUfp&{`q)GOb5QFBx_Icz$L_2jekdl< zvPtD|NHd|)jEYtvv#I4Kqm{Ju+eJ%er;8D0P#9+PA`khCf0c~PB+dFxhnTRmJbwK* zx zF=Pw;_SJQl^PX2Dov>hDPt1;7Y zC(`AWm0yV3mhv*gd79nDe+sRjV2sI z{`*a$rk^`_M#Tz5iVTVugfmGbMEj*q!S#0}DS4P)iMYqkLtwfsGtpT4g}WUnYS9WS zq>C{}Ox^^K?FZghBpUud)Lvxg2{MDWtVHK+sOJLdXIuB7G@%{?rUQ!Nusi4K&h@8R zKH5e^hk@t=TwInw0}cmR9ib~UL9lBHhwP{R%<&TfyEO&N{`OPrC&E0xzBf4-{Y;SK4>nfV#Xj)GU6igs5jYrQ zBgRPRC^Bq?AOoEKJ4Q&3KD#=wAHgnl5LM6`MwrV89>GFJB32MGeP5k$^dYqR6`fFP za+xoQZi8F%NyX4G#AWaz*-V0#DW)O?{)9kL7|U{EBotE|$>LCmVg0oG3tLR26Q)kC zm&pIu@-M3kMtfirrDu|iEYCHZE)}r9|EJYKPLAYjN z^Pxi%x=@s%xMLylp=%Q=WIE2s5F;Dz1njO+y*5E=)UUdBZG6q31rua##Mhi!Q(|q@ zdvKaRNZDbXeb_`%G&?{bzcB8%XssQAE9qBGf8v19hd6F{sfR;5gt) zLJT{OAo>C^sj(o9H1*1zH zqTEZC`+D-V^Xur>C0T>w2Q#Jy=#?BIB_&GvpTmCgduDPz&TtuYOOysYMhE$<` zWc=9sVgCbX3|kJjB(FlIxeNw?S-vt4Juhbid53f-eAk?snwpYYyXeJKzX+_BtM=19 zXeP1t%Rl;^ZAG;DB{R4swk5koiHsr|q7WmBWL;QyIM*h~#E#X_tt)-VQ zq}-|7sq&I}k4PLHUyY(?8LgD06gCB(!@w`pfn^|I5YMdaS>w=rZoIM9;pc-S#M7*GxD15-3mQOF(YnQKk}z-n3Pch zCo5&V!Ys$)PB&9mT9=-&Rl7y!UT;N@N(Wo-tl7s%vH8A!s>#rF!)C+Q)R<$+qD8TL z(y;|gk5n(|jDO9w<>K`8O!X9Jg={!e(i?Ary*eAES=MxJv>F2y(WVu{TQDZ3nF%23)>&?pmQqs^yd7|$L?cx^|LgI zMS3Mxju*oO6V21bKlfuBzj7`N&-@2N&e6}=ri)f~_pA

FKjQI+3)6@8|?b6jrP$@S(Z>+*a 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

v$sOShSJvf_PAtRi-3d!~*I#ZH12g2TMotRt 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

rD4*1@>W6KrhuD6v~)f*D&z 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 xP_<Haud?A}4KF{qnND{m*Zk=f9$&wmof{tI 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 Ou3dKhSHn+t9{pc%r*j1W literal 0 HcmV?d00001 From 3885d6c17c598db952ba4d1552af41261ce1814f Mon Sep 17 00:00:00 2001 From: "MSDN.WhiteKnight" <35516665+MSDN-WhiteKnight@users.noreply.github.com> Date: Thu, 21 May 2020 14:30:03 +0500 Subject: [PATCH 184/393] Update evaluating-mbam-10.md Fix HTML-encoded characters --- mdop/mbam-v1/evaluating-mbam-10.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mdop/mbam-v1/evaluating-mbam-10.md b/mdop/mbam-v1/evaluating-mbam-10.md index c7a6729376..f4c72234bf 100644 --- a/mdop/mbam-v1/evaluating-mbam-10.md +++ b/mdop/mbam-v1/evaluating-mbam-10.md @@ -55,21 +55,21 @@ Even when you set up a non-production instance of MBAM to evaluate in a lab envi

Prepare your computing environment for the MBAM installation. To do so, you must enable the Transparent Data Encryption (TDE) on the SQL Server instances that will host MBAM databases. To enable TDE in your lab environment, you can create a .sql file to run against the master database that is hosted on the instance of the SQL Server that MBAM will use.

-Note

You can use the following example to create a .sql file for your lab environment to quickly enable TDE on the SQL Server instance that will host the MBAM databases. These SQL Server commands will enable TDE by using a locally signed SQL Server certificate. Make sure to back up the TDE certificate and its associated encryption key to the example local backup path of C:\Backup</em>. The TDE certificate and key are required when recover the database or move the certificate and key to another server that has TDE encryption in place.

+Note

You can use the following example to create a .sql file for your lab environment to quickly enable TDE on the SQL Server instance that will host the MBAM databases. These SQL Server commands will enable TDE by using a locally signed SQL Server certificate. Make sure to back up the TDE certificate and its associated encryption key to the example local backup path of C:\Backup. The TDE certificate and key are required when recover the database or move the certificate and key to another server that has TDE encryption in place.

USE master;
 GO
-CREATE MASTER KEY ENCRYPTION BY PASSWORD = &amp;#39;P@55w0rd';
+CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'P@55w0rd';
 GO
 CREATE CERTIFICATE tdeCert WITH SUBJECT = 'TDE Certificate';
 GO
 BACKUP CERTIFICATE tdeCert TO FILE = 'C:\Backup\TDECertificate.cer'
    WITH PRIVATE KEY (
          FILE = 'C:\Backup\TDECertificateKey.pvk',
-         ENCRYPTION BY PASSWORD = &amp;#39;P@55w0rd');
+         ENCRYPTION BY PASSWORD = 'P@55w0rd');
 GO

MBAM 1.0 Deployment Prerequisites

Database Encryption in SQL Server 2008 Enterprise Edition

From 60b4cae84b8e438380237487d2f93210873cff02 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Thu, 21 May 2020 09:15:47 -0700 Subject: [PATCH 185/393] safety checkin --- .../update/create-deployment-plan.md | 22 ++++++ windows/deployment/update/eval-infra-tools.md | 4 +- windows/deployment/update/update-policies.md | 71 +++++++++++++++++++ 3 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 windows/deployment/update/create-deployment-plan.md create mode 100644 windows/deployment/update/update-policies.md diff --git a/windows/deployment/update/create-deployment-plan.md b/windows/deployment/update/create-deployment-plan.md new file mode 100644 index 0000000000..fe8ab8223e --- /dev/null +++ b/windows/deployment/update/create-deployment-plan.md @@ -0,0 +1,22 @@ +--- +title: Create a deployment plan +ms.reviewer: +manager: laurawi +description: +keywords: updates, calendar, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Create a deployment plan + +## Define suitable deployment groups + + diff --git a/windows/deployment/update/eval-infra-tools.md b/windows/deployment/update/eval-infra-tools.md index 7ae7aae315..5c33dd1377 100644 --- a/windows/deployment/update/eval-infra-tools.md +++ b/windows/deployment/update/eval-infra-tools.md @@ -29,7 +29,7 @@ Do your deployment tools need updates? Rely on your experiences and data from previous deployments to help you judge how long infrastructure changes take and identify any problems you've encountered while doing so. -## Configuration +## Device settings Make sure your security basline, administrative templates, and policies have the right settings to support your devices once the new Windows 10 update is installed. @@ -45,7 +45,7 @@ Keep security baslines current to help ensure that your environment is secure an There are a number of Windows policies (set by Group Policy, Intune, or other methods) that affect when Windows updates are installed, deferral, end-user experience, and many other aspects. Check these policies to make sure they are set appropriately. - **Windows 10 Administrative templates**: Each Windows 10 feature update has a supporting Administrative template (.admx) file. Group Policy tools use Administrative template files to populate policy settings in the user interface. The templates are available in the Download Center, for example, this one for [Windows 10, version 1909](https://www.microsoft.com/download/100591). -- **Update and end-user experience policies**: A number of settings affect when a device installs updates, whether and for how long a user can defer an update, restart behavior after installation, and many other aspects of update behavior. {LINK here or elsewhere} +- **Policies for update compliance and end-user experience**: A number of settings affect when a device installs updates, whether and for how long a user can defer an update, restart behavior after installation, and many other aspects of update behavior. It's especially important to look for existing policies that are out of date or could conflict with new ones. {SET COMPLIANCE and other policies} ## Define operational readiness criteria diff --git a/windows/deployment/update/update-policies.md b/windows/deployment/update/update-policies.md new file mode 100644 index 0000000000..88accf9ab8 --- /dev/null +++ b/windows/deployment/update/update-policies.md @@ -0,0 +1,71 @@ +--- +title: Policies for update compliance, activity, and end-user experience +ms.reviewer: +manager: laurawi +description: +keywords: updates, servicing, current, deployment, semi-annual channel, feature, quality, rings, insider, tools +ms.prod: w10 +ms.mktglfcycl: manage +audience: itpro +author: jaimeo +ms.localizationpriority: medium +ms.audience: itpro +author: jaimeo +ms.topic: article +ms.collection: M365-modern-desktop +--- + +# Policies for update compliance, activity, and end-user experience +Keeping devices up to date is the best way to keep them working smoothly and securely. + +## Deadlines for update compliance + +You can control how strictly devices must reliably keep to your desired update schedule by using update deadline policies. Windows components adapt based on these deadlines. Also, they can make tradeoffs between user experience and velocity in order to meet your desired update deadlines. For example, they can prioritize user experience well before the +deadline approaches, and then prioritize velocity as the deadline nears, while still affording the user some control. + +### Deadlines + +Beginning with Windows 10, version 1903 and with the August 2019 security update for Windows 10, version 1709 +and late, a new policy was introduced to replace older deadline-like policies: **Specify deadlines for automatic updates and restarts**. + +The older policies started enforcing deadlines once the device reached a “restart pending” state for +an update. The new policy starts the countdown for the update installation deadline from when the +update is published plus any deferral. In addition, this policy includes a configurable grace period and the option +to opt out of automatic restarts until the deadline is reached (although we recommend always allowing automatic +restarts for maximum update velocity). + +> [!IMPORTANT] +> If you use the new **Specify deadlines for automatic updates and restarts** setting in Windows 10, +> version 1903, you must disable the [older deadline policies](wufb-compliancedeadlines.md#prior-to-windows-10-version-1709) because they could conflict. + +We recommend you set deadlines as follows: +- Quality update deadline, in days: 3 +- Feature update deadline, in days: 7 +- +Notifications are automatically presented to the user at appropriate times, and users can choose to be reminded +later, to reschedule, or to restart immediately, depending on how close the deadline is. We recommend that you +do **not** set any notification policies, because they are automatically configured with appropriate defaults. An exception is if you +have kiosks or digital signage. + +While three days for quality updates and seven days for feature updates is our recommendation, you might decide +you want more or less, depending on your organization and its requirements, and this policy is configurable down +to a minimum of two days. + + +> [!IMPORTANT] +> If the device is unable to reach the Internet, it can't determine when Microsoft +> published the update, so it won't be able to enforce the deadline. Learn more about [low activity devices](#device-activity-policies). + +### Grace periods + + + +### Reboot + +## Device activity policies + +### Active hours + +### Power policies + +## Old or conflicting policies \ No newline at end of file From f7c70856d05a4ec4c4794e3f97de378a578dfbce Mon Sep 17 00:00:00 2001 From: Kweku Ako-Adjei Date: Thu, 21 May 2020 10:17:45 -0700 Subject: [PATCH 186/393] Update cortana-at-work-overview.md --- .../configuration/cortana-at-work/cortana-at-work-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/cortana-at-work/cortana-at-work-overview.md b/windows/configuration/cortana-at-work/cortana-at-work-overview.md index 034eb25518..9bdf2f0ae6 100644 --- a/windows/configuration/cortana-at-work/cortana-at-work-overview.md +++ b/windows/configuration/cortana-at-work/cortana-at-work-overview.md @@ -30,7 +30,7 @@ The Cortana app in Windows 10, version 2004 requires the latest Microsoft Store Cortana requires a PC running Windows 10, version 1703 or later, as well as the following software to successfully run the included scenario in your organization. >[!NOTE] ->A microphone is not required to use Cortana. +>A microphone isn't required to use Cortana. |**Software** |**Minimum version** | |---------|---------| From 5124373d14da1144b62154c284ce6ed9d260247b Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Thu, 21 May 2020 10:20:05 -0700 Subject: [PATCH 187/393] Updated article with new images and text --- windows/configuration/images/Shared_PC_1.png | Bin 0 -> 55388 bytes windows/configuration/images/Shared_PC_2.png | Bin 0 -> 159349 bytes windows/configuration/images/Shared_PC_3.png | Bin 0 -> 487140 bytes .../set-up-shared-or-guest-pc.md | 21 ++++++++++++++---- 4 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 windows/configuration/images/Shared_PC_1.png create mode 100644 windows/configuration/images/Shared_PC_2.png create mode 100644 windows/configuration/images/Shared_PC_3.png diff --git a/windows/configuration/images/Shared_PC_1.png b/windows/configuration/images/Shared_PC_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf145f6c1923037a8182fa1da479e83a1a8c8753 GIT binary patch literal 55388 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 literal 0 HcmV?d00001 diff --git a/windows/configuration/images/Shared_PC_2.png b/windows/configuration/images/Shared_PC_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d236263480c687eed8dc5a6dfdf4007073db50 GIT binary patch literal 159349 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�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 K$Eimz-}zq+zW&ev literal 0 HcmV?d00001 diff --git a/windows/configuration/images/Shared_PC_3.png b/windows/configuration/images/Shared_PC_3.png new file mode 100644 index 0000000000000000000000000000000000000000..83b3a66fc84f5f366fa7ead46cc3ac84683e5d74 GIT binary patch literal 487140 zcmZU4XHZjJ+x2ZlMLNpAvyNbenjbO9*|B?8i$ zNJ4-B(S%~CAMg9?d!BdA>^ZZ~k27cHoU5#LtsVE=ScmE!%e{a8`G-nRSJUjDe{O%e zTK;!#U)_1`%WrpexfW!mqyA6b1l#u2=B9_5k=j51G$vD?Ip4b4-+irX9rVvX>>vJT zU9&Hud-Kmfm!*1|YA?bZcDpIQTF#_i60#hdIu}-aW%At2ce{^Q>CB(87(I(y_~han z{36~-i#DSCaW^Ps_2xDg*B!H)gX;AG1n31R=X7EKi}XP|PL9bk6QIWVQn=;Q-($!5 zK}SpNA||1GsMO_r1-Iim_9m!RkMDy0%@WJ|dB+F@(jWgR;>}Lue*NCJZULccWVPa}Xb{k$v zXr(Nu6Ixx{eoWLK=Wsm0sW3-1cGFmwBZHbOqT3gJ@f}V&l8zV3SOCxX+#uu1ZFu?b zWj^$`SIvYnJNqDcK?M;0_>*#8jn@8NcN)GGJULFp zeYxzykU!)IA&pG{`DGQY*w#|z!IxbYa?;04C+oUNdgUL-gSy4xt>0yR?jW}c@nZ!6 z_MlhkcANKC+IE;iKTX(@g6$4BE_f0W9dWTw7rO9r(3P@V5lfM(r#9Ad6eHh9y>kidYCEc z)A@WlAqX*p#;t}!9~Pdw`Oz;(N1VH7A9sD2Qt{E7{lfuW@sGup@8(t(ANx=Hk=+HB zr6T$COo)HSn%{LBga$N*rk~yO8CW{2860-g#KYkcAnv+!0L;i0^88+o#5wMj^i zPmV(W)ioLV2rZ4ZFno+hQTW3m`Cc) z%iMQKOVR<^J63LZ_v{@5=2=SjuGMU{w2-lg)TaWZU!C=8@pVK6;Xl(PCFt>XWQ63Fpb5;&z%ov$?D~Uv!xakz?o5pR@ z`!H`l%UOcG)g+SQ#S$Sqj99F`*S@$Adf`<+4))f?ue_g6P{k_&@4x5ap_VoTX*PyH zArJNN=*&o3N1xd8(&9TTKa3QT6Wi4NWO-BP)EyKJi|AiGUTeV2 z7-)dGIkhB7X3wjROGC$nGa*R z3Mc~(=f0_6Tc0d^0N+Zu=(uR99h0BBm?Fp4t9+ZY?&wB4e3vb4j@0%z2!>9(5+%2v zEv^SyUl>F85lfi|ZoA0kMYifMiD5D#M1&1EV1xAFqz<*>-Qkp=xkhwjXK1pNMKCTpm^||(kxRB;Af!UxW+%4#9QYXrO^i+yd5<20xCqUfEdC1r9gBQ?n0M~I{r&1fk40tHd%B#mUtkC+ zQ*YUXghn!p`XQsEV!~4E&E-*_A3e%_WYej4x~juNKKupOP>wrm?M{W{_uA!Y)L{sX zQGsTb)5LgvciXs;BbUZ-EI9&|t^;0lQo4F#Qv}>(_8+)V-Yjn8&R%m_7aVowXO`b) zQE!Vs6>d3O(V`F45}fkwI!yB?G&2@NE1_?AZM9c_(GO*q`?UHo5yCjPq+%XZotz(N zKD_w2a_ZD<)Pwr*0BQU1ahpyy+JPyizPYI1PUx|ExfxRA2S_WhaU#23Z^)dxQy*31 z;1y|>90<7x`is1^l0)-8Vsl{5lQ_0JQj$It)<{p(;ymr)sgWp9TQ%wGO(W!***cbx zr8I2nl#)v=W14iw)c!l?>y8LA@_u>%`uOWCIHnS}&J`l4vdteYr;9|_gM=BEGMg}Y zsxChivgyj#INtJl$yO4e?;()J_7S<-;}oVb69lhtcLH^RBLC>mQzHQjS)+8J#IO5>)i|+3vdQk)q)0L%|b{U*ouK5i?9GI3m1g!ct7vIync3Niy7QNsnZ2li8yMb8K=Jj;c_m0{EmHgOA3Hkq zjkvqJr{(4OgbIm?wSIq!=1m-En6FO(KNb>djOcyUmd&s`Z28Q}53HB}-4OPg9o*jnUl4Mv6edNt>6V4`OW z_fT*11%4FPvKe`Z?JB|HcD~SUd12A&jQ*+j&zyHl`H@WBhT6d^sXY=k@Fp|+%g#_; z_tLt{ezOHrZlXiZNGF!Z_C=WgA|>ZSbJ%t zUSl04wCq#y9+*GP*38|{9e-eb7uw7bMuEwi5#TdRtxGI2TdMn5yTQesU|*^` zfpj1~smyx0cN?*IpC)j9gp2)Qk|n{qZiGYzujpIXWe^r0mx2{ay1slZke&@rs!Kc* zp2Qiibw+pge&4thjXrieK`EpkPaC)5X3y?HhqK%Y=q654BDDw*)0)@dV6>T86+y*5 z8)Eh6eueG|_D;@+@lpjKi=rjPSGn6C=OEJ5Tr}6bcUK$n{Sc!O(k*D!}-yptL`PW3eMD_3D^L)^1 zY7)Bw>S~RFztV*J8Y?5Js;Zhe4@=ft{&1dWjQdN7&C}qdCr;vj*#)^|YdqLw9NB;S zaKXMX=+2~RmR)LXcyDQi4T8~$Qh#g4&y(&&Bj; zgj(WZ4<{`?2UWR;KC;?b6wO*h-LtKRpPoVQHG*gU&}Yo)2ZGg)o;oTH41zmL>bjl} zTW6(opTIWpq%Ybyzx=v@g8FzOI$*!&aewn*CXNq^WzVs)6jFHU=#4%+fpk^leJNAl zdE<;aW@WrrEi?1INo@Iyv-U|776oN~65l~_bt`BRnf&chb{FFL`UR0jCe_BJU zpXI1RlpEZQjEvr4FSC9H=|(LV-|+bty*2eb|3CAh??Ups6Y?8tYmpn?e zfNeEgOtkXZ!+(9=Y-VR|gBDMhyY3KkOp z7Pj!TOU!UK9r~qQx-&#J1S~XZEw%+nu*(NGM6k)oef~>Jh~h`Ny&jC)NP>M>9L>tz z(GPN9+}z7Z`=ux({-b>gfTT;64!1WIYSPEK8zqk5Prw$LBeuE62vm4}+x2`R{yGQyv@sJ8;WQ1jEr97eCSd0 zS1>Oc<4M*Al@pGsI|uqbBP$!SBZDBS4BpG{rjgUmv0Y}O#FAHb^N2P@MWO}RYItDw zjb^HHlRb2|#;^X&zn1NGDjY0D+lNsqjX+a+K}@CdaRR_Pdu$V zL;W^S6XliRk%y5z75(!vzVlovWTXiu%|N^{Vklay=kbOC-5co1LF(o4gM0~cedRJ_o&bGb#)z~NQ%fHE&kB^sw z&^i~gKg(%P+*aGwJ!@@R^&|fzIF8gu9*TgES3s;abpIh8q=}u*SgeZ*H{B6H_`kIa zZy;y_Na$nzY-GKGvvuN&j7R#kOWE7dyA$VAz@_Un6r9G>Yb_C$k#i@e)@{}5_gWLr zihx2RqjTX%OYo-WqzM#6ntjwj7rTDxstdp^h4@+A}OAFKPORU+@DO7bt-TVk?;Uy^10p&-Mk% zWx}W_;kDz zKzdqUZ!np2*6$w$Ev7hd8U&t3Y4U1u$)59S&#WRVo)v2L+*|{Gc5D zL1Qv;K0)5tO$P(a&%B6HX1|kB{=L&tBNLOfZ3WHT`;NRZ_Ln7RYv(uIwzF7xm4iff ze8)7s$*1cHLW2luZjaI?-6~Xk>C3sV5$*J8^=RWHWd+2Zb6}3WN6l!uIU$$tRF*?j zY12;zxIu#TO1%9|jX59ccBEx%R?zps4rT&?!1OwxQ?nWn7~=)(QyRdwYk?(+N~uA% z0)$TgAQ{w95sOe=UFNt}CUH4q4x5stfvsz&*M1JpJ1zQc|MmD5H8hs>;`z0-xMytr za_4dX9ug?0UK_e{3IddM&lHCI@-9Ax1>Z9LLZkfmvt96{7ICINaz;0{9)cAC_T6G+ z`qK&~ZGKE=%dhL)mj{qB>F(Q8rOYc|!j~Z0I?7S0(NCX*j+DYL4$7NC@RrRtNMBnE z4 z^h3ivvQuBuHqHr^Aw;CP{7rKNBaM}hUR?4UyZy0C;#67PgnLAs9Bfl%(fkKFMP{8> zq2g*DH;EOzPT6?f*?DOQ_%l>qa(cyro{J+F7~JVM`NYJlXHSLCpW1MP>3IxDnvq}- zXZ!x@KJir}Q@iQM8|@vIRj31sXU1;l>-y&(GXy6@CdPH^9327$sf=&JOs?Xit;K(3 z5%yZ{!C&X(k~SpoO8y6`*6p`q+-Jho-X&l7OyXmme%*)3r_#^x^lr=RPow?u9_E5vm&Ucf;7)4Ny|ShH0|t*A7>6iZ}+T7*j^)q zzq1u>Uq*S}IQ~*it98cJ{^aDO>%EvjPIWxWJ0b0*tpG8*dp)vYT?ck~d=FZgtDA-~_YVNpvQ z>HfSPD1Ua=l7#%k^iErEk%xKDejG8Xy*yQv2zAI&j!_8Srx0J}s|`0ykIoZz>r9%_ zTgr_$TS&1Lh=PR2pFN-Zo0d3;Y(A>)*OLH#G2WsAVH={>|Wa%VvE1%)5|%kng0lkyH}AB zPXy^1g|uf_Sd7-)ORePr&i!@={^W#9>wwfsb^Vy5XzjhIO-G8;fC!1|47+jLfBFu- z-f2JC=V*eojnoM@_Wtq^>D~eI_~;uwM$5Pe&?6oF9tx$~^>+0qgFsb(csZ`e_1?tQ z_XKK_lOrw-oM89PzT@=6LnFNUvSc_jHM9O$4U)}l>|Pn4VWoNIf^$SDWVc1~*B)6H zlREU>!S=v>TRvjHeriI&OTM)p_gJ<`NW(LH@5@zThRN-8;#+nzt6YyD3p-Oks}WtH z6|a7<5!LoV;H|f}acAOtLFxCXT_%X@hCD;b)OXyiqaHl9vo_yKsj2<2bRqiQZ-2fl zIt}#M|Lhdc6lnI z5w_aY)^(6n=ap{`4gSc6g-Ic(XN1zlgi8Y zqm5er9Q1Y3MLG7{O6Aeo^Uvs*#XOHBT_osGVZS|lEp;FO;=loi2YAT2AGb-wMVW3u zHsg6&VlJ+xNIq-ann@`*YVX*`Jvx7>*B77XQQh@3j}ZwKNR*+V;SgQ>J0y$wu0fOO z&>e1#d3638s%6bKWukK4(sgly&rzOSr-}Oe4i-G6$NVdYa{9RB9K#Tsn^9O zm{qm3_(M}v_~`hqV`*VE*xUj+o`*5h+17vm>?g@aHf(6B`gb2%f`7iDkc^5>lKMc* z*pP@9!YAb&r%$0+c>h_bYA7-jEb36*LFtz?*txZqUH0IE0cC-V+npUlv8;&B(aITO z2v55(tg%&X8lIaiBG|$%qVlB_zAPPB+*JzJvS>9kcc>s`v+YyGS=d;Y235LNnz)Kj zpFkc~*6G7ceR(ZyEIe#KSp0~6#7O`02L-e-l1XF&@;+ipvA!@=g|aXpSX2bnhK9v9 zRT=JG{FNhG2&k z(}#9^Av64D7WP@bZ57}L2Bo(;mFLK(EiN65ILf7uO|Ry5c*88_N`b)6Mg*3Zw(vpn zSVV|kfv&}`=N`6w!uE{OCrQ2)D=A8EyTcfX)Pr~RbLr^neT6fNZIUykIBd8KNa+N2 z9##=9{2?<^q?W#0*VH*D->6(5J3sgL*Z~Oh`&Ea72jggHe%r3{G5>nRHJtJWR%zR| zo*T3r7~|KzH(M<2ycmb6TO~|D?7b+^{*N3NY|}Zr>Mb;QmU(H*N*G-|%#9&sz$`^2glN zCzTDdTDjfXnv|aE)!kT&7Lu>jD>1}3u=8#RP5=4X0y4Ypl0a6c$dlNUt)=ujur-~4 zY%RaAoDY4;G5F8jG=~TWj#KiYYShW+u2#6P35)BJM%I2{m+BMlWja7vSr%(&7hm?8 zirr?jJ#0s{Aoae@+8p(VOj-*(;X9>| z42_tPmPaebM9f|%X+~{JuYB(~3hYeTL^Gq=euX-nwW#Hl2%ta z^4&hCf%vkYR zZFLMTy6@T)LBB&jOaD;2@&PGtyb}?z-Et6-hp2#iSuK&kJaFKALC1XmUQEv&($77v zt*wop@nX>B7Rv2C!s{KZkAs?5Ybucb5bNb}CXlMJpCcit)MLi51wxC9IhMHVw?@Sp z^7xWa2hCZf9E74;dd(-@g2T(o`ujQ7E_?Hz{HXROS8!i(9IOI_W=to|iV*tCWX#ic zKgjA|Lt8!eHo__)nT8HF2BG`W0W8)dYZRZo2d?%VZqVDj#2x2=E2wt&JrubC=~EN!K_A8H^@G^0IJ=hEG@ zIKS7-BHQzo|I@jBF7HkVQT{7?jn+_8h|B;U%c-ZjsJ-5IFl8XIO;<(eJvj(wUi>^R zf%>Zw&}Y1jbKPHV&$(0f0d-l+f9~)H%$q18@1Fgi48}|MsJd1(B^Sk0`B)@dl6K)a zFYxs9EnwJaB=KjLVo;TZg{sq!MVau@nUjHLVKR684X|;~2sYU$1s=*IL`kUy+|isj zt8M6d5$`>Sc+Zn|^>YjYk*<`O&#wk{m*K7iHi@}|mjVN_d`m?Zmg|krmGtkGst2si zixKlWPe)6SlTvbWpR}uD=Fnnkt^u3^F>CTK@I3|I z_^0SL*{0O*&5IWnt{$%++)A^u^z!KYdB#rE&bONe7v_fqIZYP=7wtDNtCg&nnTM_K z7>4@l2TPlZjH`sn)y8blTV|#f-bufB=y!jqjIpL2IFe43s8t1X<~L)5a?aRpqW;`i zi^4>uys+@h^R+MUu(pw=)pp->gPI>+1kDKn4U2K^-}B<~b!91hXE^dnfCvM>MqR;6 z;&2(#+2~Y1+bTg6RcSLEcLN?|Fzc1G>Z4T$an4}_o-&b*H~N4mCA!kX_aLlAD?Lt` z)~MAbd&I<6S&*@XAe0UgFkT?ugW*#=`+mJPD>xc${{2Iek{xsRL8-CWe}o8Zo*Yc80$ zTepD7bP~3~)-mHoZekkml1ZAaPF-djXsf6~eEO2H!k&vMBinkfv^N-+qN}{y&$hw9Wp-EWcLoh?!{$58l;EpT z%29o->@18=&cjT8TYcH(cbX@RN<>p;Ui(<$F?d6M=D z*zNtxVORtyPj-N0XDP5iNAl@fQ?j+ZA`g)_lfaZ)$GfmxiI2aQ7}ZU zah!XNy|fg2G%+{q;9zIXhg<&pX<5nlO@89R{IWWr`0zQPP>U1nY?`F?)2r>(0O$q( z?B+~9Ze)G0e55S^&PUOb>*Vt{hu@+}p9HGJRQ0vw8ix5bv#qrxpMgg8h{?6tBUVe| zQz7!|#{P@;k%1r;>$;#WZAt{hzs4>cKi#A{cb&jpFu3OpuWObaDKxsRJKSE%fV}H$ zD<<7!3%@(m{erV(X{at+O2If)Bd_C;pQ7p?J9hzd3M~P z{w&*_oAU|+Tg%Cr12!fpocKldrm*TQ$t)N9W_g!NF7L({jBfVh1;qrR$IgHAl!vcv~_N-|;*!Ir4jQ(*;eA$|V`C?OE&C>tI>$ASS!~`W@sP?a;B?{qm&#GHq0% z*RIS2?!U2dzwCbnJFjVh>W%RBeEa2D$l6-iMj~*xaTwJRg0JB)6`^2z{qNav)MZ=# z8`4g7y$$OD+VXwdN@yNi*v~hw1}Me9sNSY#^W1ZyapcT!7kiyV(@}a_CU$ZhD-x@5 zM|BFqae7P$*gMA0p|AQV)2wH{gEP^}^Hr0VN&^h>nktR8MN3IC%UR3CoY24!Tdrjd z7s(jeHAr)<`;?tW8-Mtu?0GnJv6-Oi7xbgT6o}2VLS3GrFF%R_x3X^WOl>8En-v7| z8b9b%Y7m;lf6P3J{QZt|1Kkp? zP5J*2UNCi5mgUv`Yj8SeQ94S1^Wc=8ne0bcU@%z&m}P}w)GZoxhK6nT<25gN#W=(Q zpClwC4z~LD764!O2e`>wKSHx;IC&Nb1maVt0xoQ|C21>*jdC@DijSs4N6Y|wM}5E- zBsCy$B^}!}%z%so8KvFu-xan}k~G^S=)(RCW_srmJNV2>n^c9X>E7PeQ6QS$5db}S zjg67o{xue^Hymxz~QS21SEk@yU zNy5m@Z2VRb{4^cD6VHYenF{pk-jgrjsNc^D+GpdASy5Cq?hdMggL2zNL%qn-gFL-p&kVN7FKw{b=obKTPqrVv_T8dkTJs`Rszn}UNyit} zovK6b%Ic=ZhVuoEx0T^EeLui1ADsHH88Ocy3tH1s3?67d&`SWt!=RV(urZdggz*M06BQ5N-6_e7KMYCG{BPzf6t|C~2_0_yt)cKTZp zPvKmtQ*Y1QZRrIsQOf6D>>92El9mjZzp_H^v~7zPw=c+~Q^ zgl?x00Qj<;A6V5RG3$BDSKI>JRN7@3Ik_PXs9OmGyPG$r>dzPGGOj9VE*j3_jz1!9 zV9MFGNAdE?JXx_%Tn*3$oNOX0+j2$)_LUnwJ|Ec@ntCB7bLWT9ET(I%TBEB<2lN2q zNjVmSD8`m_3ZNEfdPK|DRP3o|LGw@BsMChadi+dfy399w(gm|sl+BGHkXA_TxjwmV z)&SFDOo@ec4x^F}R_22yEfcnQ^k!?^3KJLbd7>)z!A&?Cvm#u)<&;^|S{5$&mY!*~+(&-n&M zV&xS|(GOCIIM2qFp~$rnqXr!eTvXP)DOfZ*(u&%zpYwSJ(sITsz4Ws>T%mj7yVmK( z(E#QNbdG%{5(Zmz?tuZ(zE_RsXrNK2?p$R6lc~P#)Dd!zAJloE$lPw=%*s! zywD2ssq@vypAKVrD!AaSMM2HiSEEbixtSco``u%(Mp|eS5&Bc}`tQ)!AL#7g@~-g4 z{k_m_BRQ)t-8nafN5nF)q2;2v6Sx#TWzX|Jka7s3JHMf~zx+}iDl}{vm53r6@EUUo zPpDj;eRMsG7pZ&V5*_-F)g8JK9@y^M<;C%y9dFUQEzbU*wreL@srCnP)LYFybK+h< zDpFIW=>!Z@eCpbV7Ih+t>2SA+%6^##dY43rOP8D9q8S}L$y-O6^^if>j@$+_r%WMq z=QEw{#UuxH$O!v^{N^WDjLOA^is<6|4n{{vW9kd9yjKdybE!S~zGuN(&!@31)5fC@ zR6bsIuASHAgKqu-?ziJua<1jPo&ez7hKA3+XC23=%B2m1mA94c;WRv-Zr^8e3gHIo zu6+qCrd8eoeWTTRxq3An_X~fri7SYhn7z9vMNN#0BtDz1#;aZ)Y@CGkmXM&sa@JCs zz2x3>JC8buf2@;wzyROTy(veeKiO%z&uV zCBy`mY@6?bi_aV4KU34g$753Hd8O-p-)2L%ac=_~{m*i~QqQ}sc7YN86%>;w#m^$> zo1r27F)E5hj_*D0uaJ+qeLg^<3cfGt4g1u0&jy!8op{gH<(Hn?P2K+8zS&OR3yAVL zvgrzITu5u}lX~-=0ea)0eD#b>!qzlTH2Fz^87A{R7LmNOB7RpkBC-bzqxQsggEXOl zR@PwASTy5U`7#AZD;&1}2lKxw@+y@gS;RC*g`n(!N%U%J;c- zVQ+c>bB{w0l%xv4RnB3?A_Paxr&qHQbE(x3+Dl{(;2N<5G00#@&g98^ zQBcsOZ|t|IaWUoESo2+R(Jk-G+%rOIP9CNtk2787#%4|rzjwC0;@`|cGh2(tSm{z> zce84*D;@LK%`lbq7)ce_%H3i5a;AyvUp)kK9_;5ZU5$@rrqwS~^iy5x$r#~OYxz4m%6c-qG+?jkbgGGoj8LumgRAash+`zV>dwFc7smyLfC_jr#yo%lA z<@rl#Ygn;+D|FK((}4i%u}Jb+F!0}#Hd(c3<$gCLwj?~fx@u4t>73MMULv1aRp70D zFgl62_H0%Yn^Cb{YN{8W*y)_rcxoJ~PgNLFbqNJ>yJX z(!SB-5)uz5 zb~h&H78y~RC*zaq60kLJFSRo&kNHSZ84%D}Cets zo&C7MLU>%eE>pucF;ii4c7)}8Oe!ga%afvp9?)nFN^o;tdC+>}O_%nm??OZp+e}5? zS>vgqb&bTW$23KbTg~-5uk{lmiHQg)>_`l56qsME-f9K5X!Lzv8nu9@0_-PM5>Z1e z_H%ljnvWh@3@LcVBS6|q+{9w)V)wW@?qK)YvB}U0@D@K{bCnsm_qDC${JR$MLsCp+ zT>l0$|Mlj}U1>?6R^2!SK?Gyu*LIAO2h`3yY2WIJBLeFX)qWcsYo9|rd@faXyS0+` z8&tLNl(!UAfBZJ&f|-O^v{_+V6tq!AVwpz}XTgy*XZfvx!z-J9o*HrF2NlElVZkf^ z84&_%byOcaHhTm6O=h4Jmuut0$dd#9RN`~e>(3&fv)ri~8F}fMLkumgnM2I^bW*l% zP`uhrd&feRGRl!7P<`lJ>`+aw}Rr`EoqQTdgU6YAMNoQuJ+b{EUn+c&qpB*Ux= zYXu8Lh+s<@uLYliD5E5A>BXY;EUz0fCb<)tL75lx&^NHz4)~b^32a5`?&qZZtt9O* zN?42h0Gn}7?5f#l0lh^eaKLy$8aOYYKfXu%iCRYX%n#iHhlq*r={seo3@;XKmMVkB zB3zLZ@?<2m_@gH45n@DN3{S|}uKFvXkeHQjL!ENbQP!xkX5~wHIvskB@i?YRkL&ol zIwk+n)QGnp-wB+ZnmJnKXKC!R>s2`5c$hIFTjVspe`M_W@-OvQ>)oH7??5zQucnxa z>leD$h85n^jrilQe6ng^yA@){AK$S72lbd^i`!PiM|VbNnn zbw(wxfbm>uZ6>v%V8ZIkRHY7-ZOlZOTmtA?LGHTUqUFP_NT&#lNIe%o9%D z-~iGPquUQc3J}az$qnj^bBVwQQkpNGh6cOXf0lwuST}v!Ol*ze_|b{4>lA%RRTPVh zCYG2VPbd&t0@YVdIs1+VVrXQEm0r_j+POVMl*nvvTfzinvp_^OK>0?|yD$!}S6tOh zvQRTlb}nINR_KFuo!$%ILPno|NjV%5yH8Jd&jSgjKFNy2*csk@Y4wtokU9Ho=HexK zQM)hCd&uJfiyhh~C%@L%W zAztr*2LmwG3U&F$$Q%(kD;&hB^Zy?W80nEXo%z{NH_7?_gq3Mnbm{$yvUe%u_=pi} zE9RK7k$aF~&Ki%ta`NEM2i^A zmt9*Tm6rvSZmZKP#419k<7*liovJIhz$NqnA4MJT^rbk|=_BA#f;3GGx%#B@q@P*> zNn1NSYCj!{G@eQHJD6X^EBX0&Cyi{gmmxumU7}Wp5hkm%UBBX4gl0G^zRXob9d1Zr zzA>!0|Jr3C_t?VE0g2r&Sj`P+m8kVXZ^Y{rA8+M4x>LT ze^{41xM^-(d!brCnVR84A^hMz6|;=kznn8?v75~bY_Dzpi9Fj-{2JKDpz<&A?E8ej zi0$j=zxY1HIzg7{O11dL;hjCAIx^e5H(K=Awler#?y74FzlhS6D*E&c4eJm1fn0A( zN~!J?N5oPt=Cm1L&JZ`S+4c^ZUW0lHa;bp_zx4C!iK85&Sj^@PccMZZ?|I^iG;s3W z1}3BP1G38qi%4XowH&*aw0^2BmQI&@lp>x$6q8JfO^>c3)OSc^r|&cI(gho-cKz)5 zItj789Ar2TC5;#n%d( zPSfS~o;p=3SFFDBA)_+63Q|27<|Tc>KIzhwS9f4j^3G!-pddperX|vJkqYKP`%w`$ zpVzZUUBIjJjGZf4yrKo{>d}juddNLhTwfPAkav`Zc*igw?hO5z#)c@={PYWRJ7^0{AzaFDBuF$MFt6*!K#8s9ma#{g58t z(V?b?$odNDsrB4~QEW@+(1^%Vm9G)~3!jdp;~ixm%!q;js#qeRH3W6_6>EM(a$|Jy z9bdll#Mgy6w|5n??^o3{kF?VIps-&N(^!hyG89v+SnY7GRv2Sb$Tkh<48U9YXW2GJL)603YQFi0&yhT!#w%+3bHW=k&bn~rR9iGtgXK6&(8>pT zJ_cek1wC+1X*pke0H_#z>{Wth0Y6C7u*yc=P3%MwI>xdxbBCDUcM)F7hUY2bHFI`Y z*1OTOxhZFgww%#Ul10{j`_!*tb<5KX{jfjGf>Nm>ZOgy}-_@>#9`na*&-1(rKVF@_ zgV0P4574Oirn2~^e|QJmTb}}s3BYDOBEBec30r!_5mId9LQQIrFlIm7c00PLDwMzQ@Ojzje(?fLr#|9||Rq7T$GsV5;V zI-MBur!U87#q>HA62;S-;G2P1e7Yj)GcQ`y?SW66r)C??UQ-B%?RKLjlf3ZID$ewEYqnv&7Z8iE*gGR~i zL=wKGszhX_IXd!5U=YK6*+^=}#XUoHc7N&l-B0<7W<=(Mi|TvUQuOJ6*hHX?M;nIO z9X99OR(TH$ABg*D*QOEHWb}JnZ<>Puds(>ME*M>2aJo5*itF|5VBhqf(4#>$F`W?$ z_TfsfI6k#Akv#p8U0ve@D9VI3~M{~H1t$?RLLjaBL z0nBIG?SRwQsw$E`F>Ld`Da%rAW?5b=sV_C1J?BF6E2qM|->|(l;N0#g8M`3b@3~R; z@8n9Zw2YPO>K&CGp*MiEhP;y5kuGFqUL1)FC<~>9R=A<;DD8Ub7w8T5jxGb1Z;sx zM-4w5)-g%&7-MtL5<5?3v+iOuXr?oK?GV-cS>4mJEb&MH@smS&=n-PVjLvZ0tpK{{ z8KkySfl=`2-xi|@!K_9d^%9di_z3`}p^tTpYGZBNg|ufCv$SVkS(B>IA33CY+s^m% zt4i@`%jgOPC*sR5JY9SPvs_Szn51)wYAEL-BRZ`fd_+>MC8sV4hh?{V?KIUjn6dnc z*_u2|)t<||DTc{9ezrZ=;O(sV1rj4wgS+@*tleKVJW|;DJh4k@L+XV~k}gWtc@`);kU^jt0-qSHdw1uas6LKVUnv>@7IW&56`j z8Ez$ms!_S;uk6d=)v-XOyZOMH>iMJ5XK0U4SdFTN+eOOLN;c~unwoI5Ms=eWBfhutfBklN#c>D87uX zI*}Y1lWbMgGV)01RWIk<-CHZjvVa2OM_^^O&evFxx(eRx`nkJh$1Z5Vpi5>kY~!k+ zuyhHLh5`9?0+t-|-K*K;7vF$OYNG3pddo}_EA+keI#)8>R%trU2dZu~4+M3&eQX;3 z`|fLSteM0CB2h6WewK>TKD&mRrk1>a-@@~Tlu#7brM60Nz~k@rgXLuzukKGTLSh5l zwT1r&zZGTB6znd>z`A|FaTh0hG3rI(Ln`jje;(`X-wPNs%!8aQ#(Z3)LnjE)pUQp0 zU$YiLa>$9r;Deupgxb7f(=AsuV62G`Wcd3z;zx*h@C6eI6J5jCNOoptz)X?El84!S zYv3L~FycIReeE%=G-N=veWnb6aIcj#USej(^pR@{$`T%h3y!qjayx0(ip(%&Y?1uJ zPf(O-5uW_CwcP5qsb*kI{5yY;Qr;?2Q^Gym#yy0iJ#eIeB~fdEVP%*lrwe2fDGBMY z75hR&h)2jeGDYD`MZ19y8VW9647B(dhSgfw%&^)mWBErJ5c z?Z{ByAfdRiMdP@}G(%@+q!jsZ__G{omhoXmWCua%_}uH!vj9(ehF-im!leF49tWeCoI9z@Pa8Pt-lw8 zdV^!V73yKLD8 zo&Hi7vz#L0Qqmy*4GtgGiwdZTs7b}WU?<8r+urHlQvy#<9t@M{Yo@RmJWVQc3NVht z!Ue$Zrm0XdrAFwC?A+8|gOhX?gZS@_-lF5<>cq3UIj+?@Gdl0;XWoIBUQ&pDhGkAO zEG;Uk6G`>0;H@Jbbsw42E8UNifzka{5|Wx}JqlgUp=3}f51pp^d*2K%WN&G5T_v?zgmn<1Bl`VAL>bK_uc(9e($uTTE zO5G2hIp#M~AuLrjzn_IeHf>f-i0#E?bB#WmdjReIikf@Kk+?!G7s^`IYyvnG87An^ z;v5v(e-p3ny%I^M{A9zvdB-1eo(Y!8Hs)6qU`(H=i02j=il)WI!#9H|swRaio#YG_5f zPgO?s?c{2@;=F(59C2Eb;>4IJ;j_2bifPa`{ zyV(36{|YiafzLZ$S}%}3^RXPa1TPzrTddBBvM@20ys`86*GzE+Z7f;zaf}$YBzf8_ zkntU_4_+yrxaJ9{@{zNMdl@C9`03Sw)QOb_9L~A-7R2nTt-;_gb z*A}A|)BUm<&P0}MlH@zgRk#Fs z0%)ha#?YT*C>^U@)1$z4***L^c@jq;{K^MOst3{Vqf?slhRqwahb8#mm>hZp!MW?x zd_3Cp6e&dSbuI`xPh3>oSK%TzvN-Nggx_>w#6g`a?3vYyJ=~-LTl40Kc3^D;W!j>b zF%E_roxi`i0@CktGv@&{^_${SQ<@;0>j|u%T!tzx%|UywzHWJzicfo*nzt&o+_mn_ z?TyQ=`NjgKf28Bi%s|`8b<4~u^8Rynpq%EAb1uO~XbsmMpyg%r*V;pgaqr&0afWxq zUz}W1k_lW!p3nXS>UNc+iv74GR%w|{z_t06xYvYF(A&8idx_!nB5+r4@?rU=hw@S6 z4`+h^^~jKH|AJW;vox(c9zr&)(b9&K+z=m7A&3#cs2O=3)WHOPuqh`03m4#VfZ$=n zQ!Wr*T`ahYp#kf}Lts#-MHM^~98^FTHondI>XCUrj8s2@-nSeyx&ky@p(I@I=g@Rd zb#}$97yIjXJX2;~VtpCCmDJR=3cLdbO$2?)m#8~%Brbu9RrHt{4p z?6}v^YvBInlMJdkE-fG1LITKOJcF~_FVB<{xtC}kN|0*IarJiwY$5_WeOuGAYA4DU z&=MVw$LlmAx2i?ox$uF<@!%x2hA@h__?i1ZA5Ub7RK)+LOm^EF@^1PAv@>sh^nQsn zKkRa?Lg$y_7q9<)>Gotj#qAFd^3rG5;)Rsuc$Z)G_0eQS!#m76fGvI~`J+Bbl9ad< z97gq~AET>R3ekQ?CxyU>L{ZPCtW+PQC(z|!KQ((CP9yy zH)2pR8JOH`4r>_At46oy))grm)QjKc?t15pYLq%S*6hWl!w+T{y0A2|m{P556q0Lj zxWZ9sgd&G^1b0v*Rf)zXGPE4<=z0Q}aN!#L0I;s}<=D-Q<-#v7M_jj$toKk~YtYkN z=z}89E=M^{v#-adwA^2*U#?B}pbxJ_HVK3@9>56A{K$Wjxb&sv_t47L~ zBz{W74wr?{^PljeqN_nT1sx7q_%ANHBA{0L!#Tn5%G9|PCP&g*sczCd&+W!7x4^qO zFDb08VJ9p*U?V3#Sg)?V{-p|Sks|>8UaUQvLTh^*PW&ev7ohwr<_q7&UYf!D>Zm{+ z!_uu@eP9-PcqYMIl5y3@!dWQ-@%GmWeiTraYL}$;fT?U1q!Vzm_4HC@upXC?WkFHx z5sWx9%z$)TQNf8v$;3SG+Iv*Th7YV4r6rfeylVl0>&dXr`AILeB;22 zYHQj~WpV8%&QH3#3cRjoaP^f^>YkG%S)pt3OU18eBGD)vXD?*frfy=L=cA*$^_$zYHvWA66ou8#T*C;`|X~y9B1d0t8wj5DicM}|f zDq(EAk|U0My;R_7-S-5z-lmf(*0TNz)II&eM=tg2@1MpP!8_~DwN#da0KE;zX=}B? z&mTWBdI;HdEb$}T9Fn*%rjfDr0vTyX##6oyn3i{g*ec?6l#*8`JCVm9zJrpIO6?kr zYJ{b$N@h(vm2p+lx-$d!Aja=8_|Gm9JKXOTn*wLZxhdvsGYF8Xu-qVhPG;2ma8{#7@U-Q&sE?ebOqufnhfg{@v+KY6p2!Q(O)X)p>fw=VfH&oMxVVo=#xB@p-NK4n

Q|G>?t3HaZwXt!JcFWK%kFjhv7nDy26U% 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�gXZ$;7#C)81DIBZ@& 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 z%0A$S7SHU`XOG2;`r8b?jgtk|{l3tGg3xf^=R?O`J9 zL2vpaOzG9jLw!7A6BoQ)`9ruGJuEvv-ijdmMnhT{J`}v)>)3NL5aRHDCODg!;{y~7 zVHxvmy1kd-c{$*dV{^k#&I$8YruweBh`~Nvij0D(`_~gU#(-Qa_PD30;Alo~`uP{{tErd9YL+%-NYEQ4!#$c6{m)F>9juOSxV@H6HRMaU z^?eA9DT-jd3-z1|9mr1i@4RHitS-L*nQ&+wU%DJ%|5i{nRmbRr{cMjNZ1DQV^{3K= ziw4>tIxrI!3~SCF?Go@9x}v`Mhuv!Ulvb*X)#2K40zh#%gdq87D0mrJcWz}b*;PK-eZ_0GI7?}+O`GynazC8**#URg)3D(?n} z`E*x3#ZitG*$fhm=HpmdkL6%%qOQN~Sn`hb3O{pJqp{bI`RwxeqjpnwR7Gg(lENIG z?j@fkm!~Vc8=m5xPeKPEm}3hsk!^F}F-c%;w~L+tG75p}E=x1lME6WsxDxzr!gD!5 zLQvFY-alWSBfRghD|=1FJyBZDq{D^B_^|NMgEt}CXI_ivBo?~leD)I51($?ix~swA z#!cXb<;%1@#Mh(X%;B)4iz;zupyn?vbr)T!g2B%QdP4*@+6p^lzbfH2kA581(3~yi z9K3&kJ$?$USCLeeo#us@!>BC7a6@M5AI`ZB~R}$RJJzuXo4w_1cMMg*)E^ZK0;Squ-Ium|PyuZ!mgLP2nticR}pX_BKzNlu@C0v;z#@>eP3L~<}{R>yq zY&z|IF1XBe%XzWgNxltb-3~*WHZ9&n(zg^lC>z$Xj+};lh`AGd8%oKX``%xQWjX}% z=g(NCBO~PzY_}u)x38O}97MmMSkG|q-Go|SNhonQ_JidX6Lex@(1AzDO445bh^^6B zFUStY(8HlH)OBn%%D6P=U&$Vhj%EeL?U&H}W8GtvTrFxMl}jr_-Es&oroNcN-EFT0 z_F~yrczySEi^2aL#Rx1{4V%B=Fm9X@YIp)b%D*;xkgH75pF^@Ldk^kZ`6`Rjl-6Tg zi<9Htf8&O=3!mmhjZ6cbeG16xYxIe8S8 z$Zp2Nb8_D`JMg|;dDURs$JD3^7GHr&)XV(cKPR%pe5T}b8bcbGbbDEP~o zovH}ofIFIbi4V`gd*=rLq7v3UBJ{+1>IsFv;%DcLpk$iN@o)#-I0=1$H=>!?{%((~ zKM%!p@^b?g6VzkNq?5)AAK8Yp7H``{CCI$bChPRq-Nx(6SB@}A*le+v)`Udt$afc-f>4u7dBDZ3s7+x8>ml?%2a0p42pR7(CR7wNXjv~)3XPu(xy zRN&^`SI$N*_=qx*7P+EEeTH+9JO`t6JJ6c|c}#%aSy#$&n}S1aZgH10F%Wm5y4LHN zD{+h>QTp1l{zdGv3T|cdoiTaaS}}Rua8@Ri;bKUE#~9jqMjIUMuK+!=iJhBXYQB@npu7s=<#!T+xihES}| zTnD+1`fjJNTaM%QhuycUqv(l>6W19ti*mY&@=inXe*k!N*<`Jetktjq&c|LcU^8a> zNY|WN!d^$VmpIuZbAyko-Y26dRpc*7v`1I4+rlgBYS%#9_3E<8hZt*|LE~O!(ZBsP zG>Q#rU^b*+zd1gdrauZG)Vk3*^OmCKRpH4xKa{tbBDG1ZptUtG`TccjW(D=>&egFy z#?RJ25_QTcqbt8+d=NswlFgD6Z`f3qhUuCLEYH^3{cC*b@!#*4s^oVKlNgv3Y!5md zTh@|XaR$W=_Jr!;OnuVnxgI%!&U5Fd%7&~%{d0j{{dY?LzccYUg18v8_|=-X!td;!_Kdplsk}7b5p zAQJ`v#^EoIg#57oi!6!I^K~uk&|!(>?Nb*YbSTs(^$&;k3Cjlb>59A|nFQz

#mn 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 z%0A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 z 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 z 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≧̸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 Zp0EiP6FOr}`2+YexngNlVc-=0e*oou3KReU literal 0 HcmV?d00001 diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 95cf9806b1..e1e4ecab16 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -83,14 +83,27 @@ Shared PC mode exposes a set of customizations to tailor the behavior to your re ## Configuring shared PC mode on Windows You can configure Windows to be in shared PC mode in a couple different ways: -- Mobile device management (MDM): Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt723294.aspx). Your MDM policy can contain any of the options listed in the [Customization](#customization) section. The following image shows a Microsoft Intune policy with the shared PC options added as OMA-URI settings. [Learn more about Windows 10 policy settings in Microsoft Intune.](https://docs.microsoft.com/intune/deploy-use/windows-10-policy-settings-in-microsoft-intune) -![custom OMA-URI policy in Intune](images/oma-uri-shared-pc.png) +- Mobile device management (MDM): Shared PC mode is enabled by the SharedPC configuration service provider (CSP). To setup a shared device policy for Windows 10 in Intune, complete the following steps: + + 1. Go to the [Microsoft Endpoint Manager portal](https://endpoint.microsoft.com/#home). + 2. Select **Devices** from the navigation. + 3. Under **Policy**, select **Configuration profiles**. + 4. Select **Create profile**. + 5. From the **Platform** menu, select **Windows 10 and later**. + 6. From the **Profile** menu, select **Shared multi-user device**. + +![custom OMA-URI policy in Intune](images/Shared_PC_1.png) + + 7. Select **Create**. + 8. Enter a name for the policy (e.g.) My Win10 Shared devices policy. You can optionally add a description should you wish to do so. + 9. Select **Next**. + 10. On the **Configuration settings** page, set the ‘Shared PC Mode’ value to **Enabled**. + +![Shared PC settings in ICD](images/Shared_PC_3.png) - A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt723294.aspx), exposed in Windows Configuration Designer as **SharedPC**. -![Shared PC settings in ICD](images/icd-adv-shared-pc.png) - - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: ``` From d52fd6d5c19561576ae8d7e0c37a2441dcfd3e9a Mon Sep 17 00:00:00 2001 From: lavinders Date: Thu, 21 May 2020 10:57:17 -0700 Subject: [PATCH 188/393] Update hololens2-autopilot.md --- devices/hololens/hololens2-autopilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/hololens/hololens2-autopilot.md b/devices/hololens/hololens2-autopilot.md index 5589ec096d..02c0a61b10 100644 --- a/devices/hololens/hololens2-autopilot.md +++ b/devices/hololens/hololens2-autopilot.md @@ -71,7 +71,7 @@ Review the "[Requirements](https://docs.microsoft.com/windows/deployment/windows Before you start the OOBE and provisioning process, make sure that the HoloLens devices meet the following requirements: - The devices are not already members of Azure AD, and are not enrolled in Intune (or another MDM system). The Autopilot self-deploying process completes these steps. To make sure that all the device-related information is cleaned up, check the **Devices** pages in both Azure AD and Intune. -- Every device can connect to the internet. You can use a wired or wireless connection. +- Every device can connect to the internet. You can "USB C to Ethernet" adapters for wired internet connectivity or "USB C to Wifi" adapters for wireless internet connectivity. - Every device can connect to a computer by using a USB-C cable, and that computer has the following available: - Advanced Recovery Companion (ARC) - The latest Windows update: Windows 10, version 19041.1002.200107-0909 or a later version) From a97ae24232d087a644765452590f224d47779b89 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Thu, 21 May 2020 11:19:35 -0700 Subject: [PATCH 189/393] added new Prepare topic about policies to fix --- windows/deployment/update/update-policies.md | 137 ++++++++++++++++++- 1 file changed, 135 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/update-policies.md b/windows/deployment/update/update-policies.md index 88accf9ab8..56ef69531f 100644 --- a/windows/deployment/update/update-policies.md +++ b/windows/deployment/update/update-policies.md @@ -58,14 +58,147 @@ to a minimum of two days. ### Grace periods +You can set a period of days for Windows to find a minimally disruptive automatic restart time before the restart is enforced. This +is especially useful in cases where a user has been away for many days (for example, on vacation) so that the device will not +be forced to update immediately when the user returns. + +We recommend you set the following: + +- Grace period, in days: 2 + +Once the deadline and grace period have passed, updates are applied automatically, and a restart occurs +regardless of [active hours](#active-hours). -### Reboot +### Let Windows choose when to restart + +Windows can use user interactions to dynamically identify the least disruptive time for an +automatic restart. To take advantage of this feature, ensure **ConfigureDeadlineNoAutoReboot** is set to +**Disabled**. ## Device activity policies +Windows typically requires that a device is active and connected to the internet for at least six hours, with at least two +of continuous activity {HOW DO YOU DEFINE ACTIVITY?}, in order to successfully complete a system update. The device could have other +physical circumstances that prevent successful installation of an update--for example, if a laptop is running low +on battery power, or the user has shut down the device before active hours end and the device cannot comply +with the deadline. + +You can use the settings in this section to ensure that devices are actually available to install updates during the update compliance period. + ### Active hours +"Active hours" identify the period of time when a device is expected to be in use. Normally, restarts will occur outside of +these hours. Windows 10, version 1903 introduced "intelligent active hours," which allow the system to learn active hours based on a user’s activities, rather than you as an administrator having to make decisions for your organization or allowing the user to choose active hours that minimize the period when the system can install an update. + +> [!IMPORTANT] +> If you used the **Configure Active Hours** setting in previous versions of Windows 10, these +options must be **Disabled** in order to take advantage of intelligent active hours. + +If you do set active hours, we recommend setting the following policies to **Disabled** in order to increase update +velocity: + +- [Delay automatic reboot](waas-restart.md#delay-automatic-reboot). While it’s possible to set the system to delay restarts for users who are logged +in, this might delay an update indefinitely if a user is always either logged in or shut down. Instead, we +recommend setting the following polices to **Disabled**: + - **Turn off auto-restart during active hours** + - **No auto-restart with logged on users for scheduled automatic updates** + + - [Limit restart delays](waas-restart.md#limit-restart-delays). By using compliance deadlines, your users will receive notifications that +updates will occur, so we recommend that you set this policy to **Disabled**, to allow compliance deadlines to eliminate the user’s ability to delay a restart outside of compliance deadline settings. + +- **Do not allow users to approve updates and reboots**. Letting users approve or engage with the update process outside of the deadline policies decreases update velocity and increases risk. These policies should be set to **Disabled**: + - [Update/RequireUpdateApproval](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-requireupdateapproval) + - [Update/EngagedRestartDeadline](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-engagedrestartdeadline) + - [Update/EngagedRestartDeadlineForFeatureUpdates](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-engagedrestartdeadlineforfeatureupdates) + - [Update/EngagedRestartSnoozeSchedule](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-engagedrestartsnoozeschedule) + - [Update/EngagedRestartSnoozeScheduleForFeatureUpdates](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-engagedrestartsnoozescheduleforfeatureupdates) + - [Update/EngagedRestartTransitionSchedule](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update#update-engagedrestarttransitionschedule) + +- [Configure automatic update](waas-wu-settings.md#configure-automatic-updates). By properly setting policies to configure automatic updates, you can increase update velocity by having clients contact a Windows Server Update Services (WSUS) server so it can manage them. We recommend that you set this policy to **Disabled**. However, if you need to provide values, ensure that you set downloads to install automatically by setting the [Group Policy](waas-manage-updates-wsus.md#configure-automatic-updates-and-update-service-location) to **4**. If you’re using Microsoft Intune, setting the value to [Reset to Default](https://docs.microsoft.com/mem/intune/protect/windows-update-settings#user-experience-settings). +- **Allow auto Windows Update to download over metered networks**. Since more and more devices primarily use cellular data and do not have wi-fi access, consider allowing users to automatically download updates from a metered network. Though the default setting does not allow download over a metered network, setting this value to **1** can increase velocity by enabling users to get updates whether they are connected to the internet or not, provided they have cellular service. + +> [!IMPORTANT] +> Older versions of Windows don't support intelligent active hours. If your device runs a version of Windows prior to Windows 10, version 1903, we recommend setting the following policies: +>- [Configure active hours](waas-restart.md#configure-active-hours). Starting with Windows 10, version 1703, you can specify a maximum active-hour range which is counted from the active hours start time. We recommend setting +this value to **10**. +>- [Schedule update installation](waas-restart.md#schedule-update-installation). In the **Configure Automatic Updates** settings, there are two ways to control a forced restart after a specified installation time. If you use **schedule update installation**, do not enable both settings because they will most likely conflict. +> - **Specify automatic maintenance time**. This setting lets you set broader maintenance windows for updates and ensures that this schedule does not conflict with active hours. We +recommend setting this value to **3** (corresponding to 3 AM). If 3:00 AM is in the middle of the work shift, pick another time that is at least a couple hours before your scheduled work time begins. +> - **Schedule the install time**. This setting allows you to schedule an installation time for a restart. We do *not* recommend you set this to **Disabled** as it could conflict with active hours. + ### Power policies -## Old or conflicting policies \ No newline at end of file +Devices must actually be available during non-active hours in order to an update. They can't do this if power policies prevent them from waking up. In our organization, we strive to set a balance between security and eco-friendly configurations. We recommend the following settings to achieve what we feel are the appropriate tradeoffs: + +To a user, a device is either on or off, but for Windows, there are states that will allow an update to occur (active) and states that do not (inactive). Some states are considered active (sleep), but the user may think the device is off. Also, there are power statuses (plugged in/battery) that Windows checks before starting an update. + +You can override the default settings and prevent users from changing them in order to ensure that devices are available for updates during non-active hours. + +> [!NOTE] +> One way to ensure that devices can install updates when you need them to is to educate your users to keep devices plugged in during non-active hours. Even with the best policies, a device that isn't plugged in will not be updated, even in sleep mode. + +We recommend these power management settings: + +- Sleep mode (S1 or S0 Low Power Idle or [Modern Standby](https://docs.microsoft.com/windows-hardware/design/device-experiences/modern-standby)). When a device is in sleep mode, the system +appears to be off but if an update is available, it can wake the device up in order to take an update. The +power consumption in sleep mode is between working (system fully usable) and hibernate (S4 - lowest +power level before shutdown). When a device is not being used, the system will generally move to sleep +mode before it goes to hibernate. Issues in velocity arise when the time between sleep and hibernate is +too short and Windows does not have time to complete an update. Sleep mode is an important setting +because the system can wake the system from sleep in order to start the update process, as long as there +is enough power. + +Set the following policies to **Enable** or **Do Not Configure** in order to allow the device to use sleep mode: +- [Power/AllowStandbyStatesWhenSleepingOnBattery](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-power#power-allowstandbystateswhensleepingonbattery) +- [Power/AllowStandbyWhenSleepingPluggedIn](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-power#power-selectlidcloseactionpluggedin) + +Set the following policies to **1 (Sleep)** so that when a user closes the lid of a device, the system goes to +sleep mode and the device has an opportunity to take an update: +- [Power/SelectLidCloseActionOnBattery](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-power#power-selectlidcloseactiononbattery) +- [Power/SelectLidCloseActionPluggedIn](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-power#power-selectlidcloseactionpluggedin) + +- **Hibernate**. When a device is hibernating, power consumption is very low and the system cannot wake up +without user intervention, like pressing the power button. If a device is in this state, it cannot be updated +unless it supports an ACPI Time and Alarm Device (TAD). That said, if a device supporting Traditional Sleep +(S3) is plugged in, and a Windows update is available, a hibernate state will be delayed until the update is complete. + +> [!NOTE] +> This does not apply to devices that support Modern Standby (S0 Low Power Idle). You can check which system sleep state (S3 or S0 Low Power Idle) a device supports by running `powercfg /a` at a command prompt. For more, see [Powercfg options](https://docs.microsoft.com/windows-hardware/design/device-experiences/powercfg-command-line-options#option_availablesleepstates). + +The default timeout on devices that support traditional sleep is set to three hours. We recommend that you do not reduce these policies in order to allow Windows Update the opportunity to restart the device before sending it into hibernation: + +- [Power/HibernateTimeoutOnBattery](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-power#power-hibernatetimeoutonbattery) +- [Power/HibernateTimeoutPluggedIn](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-power#power-hibernatetimeoutpluggedin) + +## Old or conflicting policies + +Each release of Windows 10 can introduce new policies to make the experience better for both administrators and their organizations. When we release a new client policy, we either release it purely for that release and later or we backport the policy to make it available on earlier versions. + +> [!IMPORTANT] +> If you are using Group Policy, note that we don't update the old ADMX templates and you must use the newer (1903) ADMX template in order to use the newer policy. Also, if you are +> using an MDM tool (Microsoft or non-Microsoft), you can't use the new policy until it's available in the tool interface. + +As administrators, you have set up and expect certain behaviors, so we expressly do not remove older policies since they were set up for your particular use cases. However, if you set a new policy without disabling a similar older policy, you could have conflicting behavior and updates might not perform as expected. + +> [!IMPORTANT] +> We sometimes find that administrators set devices to get both Group Policy settings and MDM settings from an MDM server such as Microsoft Intune. Policy conflicts are handled differently, depending on how they are ultimately set up: +> - Windows updates: Group Policy settings take precedence over MDM. +> - Microsoft Intune: If you set different values for the same policy on two different groups, you will +> receive an alert and neither policy will be set until the conflict is resolved. +> It is crucial that you disable conflicting policies in order for devices in your organization to take updates as +> expected. For example, if a device is not reacting to your MDM policy changes, check to see if a similar +> policy is set in Group Policy with a differing value. +> If you find that update velocity is not as high as you expect or if some devices are slower than others, it might be +> time to clear all polices and settings and specify only the recommended update policies. See the Policy and settings reference for a consolidated list of recommended polices. + +The following are policies that you might want to disable because they could decrease update velocity or there are better policies to use that might conflict: +- **Defer Feature Updates Period in Days**. For maximum update velocity, it's best to set this to **0** (no +deferral) so that the feature update can complete and monthly security updates will be offered again. Even if there is an urgent quality update that must be quickly deployed, it is best to use **Pause Feature +Updates** rather than setting a deferral policy. You can choose a longer period if you don't want to stay up to date with the latest feature update. +- **Defer Quality Updates Period in Days**. To minimize risk and maximize update velocity, the maximum time you might want to consider while evaluating the update with a different ring of devices is two to three days. +- **Pause Feature Updates Start Time**. Set to **Disabled** unless there is a known issue requiring time for a resolution. +- **Pause Quality Updates Start Time**. Set to **Disabled** unless there is a known issue requiring time for a resolution. +- **Deadline No Auto Reboot**. Default is **Disabled – Set to 0** . We recommend that devices automatically try to restart when an update is received. Windows uses user interactions to dynamically identify the least disruptive time to restart. + +There are additional policies are no longer supported or have been superseded. See {LINK TO Policies and settings reference guide – Policies to disable or not configure} for more information. \ No newline at end of file From d8625d66cee2557899f1478228b0510dbc904a23 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 11:53:31 -0700 Subject: [PATCH 190/393] Update behavioral-blocking-containment.md --- .../behavioral-blocking-containment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index c7c5359ec2..81a9c4734d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -92,12 +92,12 @@ This example shows that with behavioral blocking and containment capabilities, t ## Next steps -- [Learn more about recent global threat activity](https://www.microsoft.com/wdsi/threats) - - [Learn more about Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/overview-endpoint-detection-response) - [Configure your attack surface reduction rules](attack-surface-reduction.md) - [Enable EDR in block mode](edr-in-block-mode.md) -- [Get an overview of Microsoft Threat Protection](https://docs.microsoft.com/microsoft-365/security/mtp/microsoft-threat-protection) \ No newline at end of file +- [See recent global threat activity](https://www.microsoft.com/wdsi/threats) + +- [Get an overview of Microsoft Threat Protection](https://docs.microsoft.com/microsoft-365/security/mtp/microsoft-threat-protection) From ce1bdf299f5675b960c388745e403e0ad0abfd1a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 12:38:28 -0700 Subject: [PATCH 191/393] Create feedback-loop-blocking.md --- .../feedback-loop-blocking.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md new file mode 100644 index 0000000000..0bac7f80f3 --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -0,0 +1,27 @@ +--- +title: Feedback-loop blocking +description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +search.product: eADQiWindows 10XVcnh +ms.pagetype: security +author: denisebmsft +ms.author: deniseb +manager: dansimp +ms.reviewer: shwetaj +audience: ITPro +ms.topic: article +ms.prod: w10 +ms.localizationpriority: medium +ms.custom: +- next-gen +- edr +ms.collection: +--- + +# Feedback-loop blocking + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) + +## Overview \ No newline at end of file From 2af807c404b7e8cefc4c4b467a1e14dea7d96c35 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 12:39:46 -0700 Subject: [PATCH 192/393] Update TOC.md --- windows/security/threat-protection/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index d65cca5636..21f50c35db 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -327,6 +327,7 @@ ### [Behavioral blocking and containment]() #### [Behavioral blocking and containment](microsoft-defender-atp/behavioral-blocking-containment.md) +#### [Feedback-loop blocking](microsoft-defender-atp/feedback-loop-blocking.md) #### [EDR in block mode](microsoft-defender-atp/edr-in-block-mode.md) ### [Automated investigation and response (AIR)]() From f3153719c920efcca21a7b0b011294fb2913a865 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 12:53:23 -0700 Subject: [PATCH 193/393] draft --- .../whats-new-windows-10-version-2004.md | 124 ++++++++++++------ 1 file changed, 81 insertions(+), 43 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 522c9a3970..8ede07d888 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -44,31 +44,56 @@ This feature is forward-looking and currently requires new Intel Comet Lake (CML Fast Identity Online 2 (FIDO2) security key support is expanded to Azure Active Directory hybrid environments with this release, enabling enterprises with hybrid environments to take advantage of [passwordless authentication](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). For more information, see [Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894). -## Edge +### Windows Hello + +- Windows Hello is now supported as FIDO2 authenticator across all major browsers including Chrome and Firefox. +- You can now enable passwordless sign-in for Microsoft accounts on your Windows 10 device by going to **Settings > Accounts > Sign-in options**, and selecting **On** under **Make your device passwordless**. Enabling passwordless sign in will switch all Microsoft accounts on your Windows 10 device to modern authentication with Windows Hello Face, Fingerprint, or PIN. +- Windows Hello PIN sign-in support is [added to Safe mode](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#windows-hello-pin-in-safe-mode-build-18995). +- Windows Hello for Business now has Hybrid Azure Active Directory support and Phone number sign-in (MSA). + +## Microsoft Edge Read about plans for the new Microsoft Edge and other innovations announced at [Build 2020](https://blogs.windows.com/msedgedev/2020/05/19/microsoft-edge-news-developers-build-2020/) and [What's new at Microsoft Edge Insider](https://www.microsoftedgeinsider.com/whats-new). +Also see [New year, new browser – The new Microsoft Edge is out of preview and now available for download](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). + ## Cortana Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. -The Cortana app also has several improvements in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). +The Cortana app also has [several improvements](https://insider.windows.com/articles/cortana-windows-beta/) in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). + +## Windows Search + +Windows Search is [improved](https://insider.windows.com/community-news/desktop-search/) in several ways. + +## Windows Subsystem for Linux (WSL) + +With this release, memory that is no longer in use in a Linux VM will be freed back to Windows. Previously, a WSL VM's memory could grow, but would not shrink when no longer needed. + +WSL2 support is has been added for ARM64 devices if your device supports virtualization. + +For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/en-us/windows/wsl/release-notes). + +## DirectX + +[New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. ## Virtual Desktops -Virtual desktops: Rename your virtual desktops, instead of getting stuck with the system-issued names like Desktop 1. +You can now [rename your virtual desktops](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#renaming-your-virtual-desktops-build-18975), instead of getting stuck with the system-issued names like Desktop 1. ## Bluetooth -Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. +Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. Other improvements include faster pairing and device name display. For more information, see [Improving your Bluetooth pairing experience](https://docs.microsoft.com/windows-insider/at-home/Whats-new-wip-at-home-20h1#improving-your-bluetooth-pairing-experience-build-18985). + +## Reset this PC + +The 'reset this PC' recovery function now includes a [cloud download](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-reset-this-pc-option-cloud-download-build-18970) option. ## 2-in-1 PCs -New tablet experience for two-in-one convertible PCs: When you detach your two-in-one's keyboard, you'll still keep the familiar look of your desktop without interruption, while still optimizing the screen for touch. - -## Windows Hello for Business - -For WHFB, we have Hybrid AD/AAD support and Phone number sign-in (MSA) +A [new tablet experience](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-tablet-experience-for-2-in-1-convertible-pcs-build-18970) for two-in-one convertible PCs is available. The screen will be optimized for touch When you detach your two-in-one's keyboard, but you'll still keep the familiar look of your desktop without interruption. ## Specialized displays @@ -84,21 +109,40 @@ Examples include: To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. +## Task Manager + +The following items are added to Task Manager in this release: +- GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. +- Disk type is now listed for each disk on the Performance tab. + ## Servicing +### Delivery Optimization +Windows PowerShell cmdlets have been improved: +- Get-DeliveryOptimizationStatus has added the **-PeerInfo** option for a real-time peak behind the scenes on peer-to-peer activity (for example the peer IP Address, bytes received / sent) +- Get-DeliveryOptimizationLogAnalysis is a new cmdlet that provides a summary of the activity in your DO log (# of downloads, downloads from peers, overall peer efficiency). Use the -ListConnections option to for in-depth look at peer-to-peer connections. +- Enable-DeliveryOptimizationVerboseLogs is a new cmdlet that enables a greater level of logging detail to assist in troubleshooting. +Additional improvements: +- Enterprise network throttling is enhanced to optimize foreground vs. background throttling. +- Automatic cloud-based congestion detection is available for PCs with cloud service support. -### Windows Server Update Services (WSUS) - - - -### Windows Update for Business (WUfB) - +The following [Delivery Optimization](https://docs.microsoft.com/windows/deployment/update/waas-delivery-optimization) policies are removed in this release: +- Percentage of Maximum Download Bandwidth (DOPercentageMaxDownloadBandwidth) + - Reason: Replaced with separate policies for foreground and background +- Max Upload Bandwidth (DOMaxUploadBandwidth) + - Reason: impacts uploads to internet peers only, which isn't used in Enterprises. +- Absolute max throttle (DOMaxDownloadBandwidth) + - Reason: separated to foreground and background +### Windows Update for Business +Windows Update for Business Enhancements +- Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy +- Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. ## Virtualization @@ -120,39 +164,21 @@ This update includes 5 fixes to allow the host to run down-level containers on u Windows Media Player is also added back to the Sandbox image in this release. - -## Windows Virtual Desktop +### Windows Virtual Desktop Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) for the latest and greatest information, as well as the [WVD Virtual Event from March](https://aka.ms/wvdvirtualevent). ## Deployment -### Windows Autopilot +### Windows Setup -VPN support for user-driven Hybrid Azure AD Join scenarios +Improvements in Windows Setup with this release include: +- Reduced offline time during feature updates +- Improved controls for reserved storage +- Improved controls and diagnostics +- New recovery options -### Windows Update for Business - -Windows Update for Business Enhancements -- Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy -- Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. -- Documentation Updates: we have improved our Windows Update for Business documentation to better communicate how to utilize Windows Update for Business to manage Windows Updates to keep devices secure and end users productive. - - -### Delivery Optimization - -The following [Delivery Optimization](https://docs.microsoft.com/windows/deployment/update/waas-delivery-optimization) policies are removed in this release: - -- Percentage of Maximum Download Bandwidth (DOPercentageMaxDownloadBandwidth) - - Reason: Replaced with separate policies for foreground and background -- Max Upload Bandwidth (DOMaxUploadBandwidth) - - Reason: impacts uploads to internet peers only, which isn't used in Enterprises. -- Absolute max throttle (DOMaxDownloadBandwidth) - - Reason: separated to foreground and background - -### Microsoft Endpoint Manager - -See [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) +For more information, see Windows Setup enhancements in the [Windows IT Pro Blog](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/pilot-new-features-with-the-windows-insider-program-for-business/ba-p/1220464). ### SetupDiag @@ -162,13 +188,25 @@ In Windows 10, version 2004, SetupDiag is now automatically installed. During the upgrade process, Windows Setup will extract all its sources files to the **%SystemDrive%\$Windows.~bt\Sources** directory. With Windows 10, version 2004 and later, Windows Setup now also installs SetupDiag.exe to this directory. If there is an issue with the upgrade, SetupDiag is automatically run to determine the cause of the failure. If the upgrade process proceeds normally, this directory is moved under %SystemDrive%\Windows.Old for cleanup. +### Windows Autopilot + +With this release, you can configure User-driven Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. + +### Microsoft Endpoint Manager + +See [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) + ### Windows Assessment and Deployment Toolkit (ADK) -A new [Windows ADK](https://docs.microsoft.com/windows-hardware/get-started/adk-install) will be available for Windows 10, version 2004. You can use this version of the Windows ADK to deploy Windows 10, version 2004 and earlier versions of Windows. +Download the Windows ADK and Windows PE add-on for Windows 10, version 2004 [here](https://docs.microsoft.com/windows-hardware/get-started/adk-install). + +For information about what's new in the ADK, see [What's new in the Windows ADK for Windows 10, version 2004](https://docs.microsoft.com/windows-hardware/get-started/what-s-new-in-kits-and-tools#whats-new-in-the-windows-adk-for-windows-10-version-2004). ### Microsoft Deployment Toolkit (MDT) -MDT version 8456 supports Windows 10, version 2004, but there is currently an issue that causes MDT to incorrectly detect that UEFI is present. +MDT version 8456 supports Windows 10, version 2004, but there is currently an issue that causes MDT to incorrectly detect that UEFI is present. This issue is currently under investigation. + +For the latest information about MDT, see the [MDT release notes](https://docs.microsoft.com/mem/configmgr/mdt/release-notes). ## Desktop Analytics From d733fefeb7b79305b0f2a4f2463fdf8d3ad95f7b Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 21 May 2020 13:12:01 -0700 Subject: [PATCH 194/393] add step 6 --- .../microsoft-defender-atp/get-started-partner-integration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/get-started-partner-integration.md b/windows/security/threat-protection/microsoft-defender-atp/get-started-partner-integration.md index 066146d158..6c13e86728 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/get-started-partner-integration.md +++ b/windows/security/threat-protection/microsoft-defender-atp/get-started-partner-integration.md @@ -46,6 +46,7 @@ To have your company listed as a partner in the in-product partner page, you wil 3. Provide a 15-word product description. 4. Link to the landing page for the customer to complete the integration or blog post that will include sufficient information for customers. Please note that any press release including the Microsoft Defender ATP product name should be reviewed by the marketing and engineering teams. You should allow at least 10 days for review process to be performed. 5. If you use a multi-tenant Azure AD approach, we will need the AAD application name to track usage of the application. +6. We would like to ask you to include the User-Agent field in each API call made to Microsoft Defender ATP public set of APIs or Graph Security APIs. This will be used for statistical purposes, troubleshooting, and partner recognition. In addition, this step is a membership requirement in Microsoft Intelligent Security Association (MISA). Partnership with Microsoft Defender ATP help our mutual customers to further streamline, integrate, and orchestrate defenses. We are happy that you chose to become a Microsoft Defender ATP partner and to achieve our common goal of effectively protecting customers and their assets by preventing and responding to modern threats together. From eca12052fb77b9999ead2dd77b2a46029d17e6ad Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 13:12:52 -0700 Subject: [PATCH 195/393] draft --- .../whats-new/whats-new-windows-10-version-1507-and-1511.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1607.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1703.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1709.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1803.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1903.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-1909.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-2004.md | 6 +++--- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-1507-and-1511.md b/windows/whats-new/whats-new-windows-10-version-1507-and-1511.md index e49c027a4d..6898dce476 100644 --- a/windows/whats-new/whats-new-windows-10-version-1507-and-1511.md +++ b/windows/whats-new/whats-new-windows-10-version-1507-and-1511.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, versions 1507 and 1511 (Windows 10) -description: This topic lists new and updated topics in the What's new in Windows 10 documentation for Windows 10 (versions 1507 and 1511) and Windows 10 Mobile. +description: What's new in Windows 10 for Windows 10 (versions 1507 and 1511) and Windows 10 Mobile. ms.assetid: 75F285B0-09BE-4821-9B42-37B9BE54CEC6 ms.reviewer: ms.prod: w10 @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, versions 1507 and 1511 +# What's new in Windows 10, versions 1507 and 1511 for IT Pros Below is a list of some of the new and updated features included in the initial release of Windows 10 (version 1507) and the Windows 10 update to version 1511. diff --git a/windows/whats-new/whats-new-windows-10-version-1607.md b/windows/whats-new/whats-new-windows-10-version-1607.md index f27cc65739..2b6f691d44 100644 --- a/windows/whats-new/whats-new-windows-10-version-1607.md +++ b/windows/whats-new/whats-new-windows-10-version-1607.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1607 (Windows 10) -description: This topic lists new and updated topics in the What's new in Windows 10 documentation for Windows 10 (version 1607) and Windows 10 Mobile. +description: What's new in Windows 10 for Windows 10 (version 1607) and Windows 10 Mobile. keywords: ["What's new in Windows 10", "Windows 10", "anniversary update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.author: greglin ms.topic: article --- -# What's new in Windows 10, version 1607 +# What's new in Windows 10, version 1607 for IT Pros Below is a list of some of the new and updated features in Windows 10, version 1607 (also known as the Anniversary Update). diff --git a/windows/whats-new/whats-new-windows-10-version-1703.md b/windows/whats-new/whats-new-windows-10-version-1703.md index 1a4c0d57c0..bcec94de57 100644 --- a/windows/whats-new/whats-new-windows-10-version-1703.md +++ b/windows/whats-new/whats-new-windows-10-version-1703.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1703 -description: New and updated IT pro content about new features in Windows 10, version 1703 (also known as the Creators Updated). +description: New and updated features in Windows 10, version 1703 (also known as the Creators Updated). keywords: ["What's new in Windows 10", "Windows 10", "creators update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -14,7 +14,7 @@ ms.author: greglin ms.topic: article --- -# What's new in Windows 10, version 1703 IT pro content +# What's new in Windows 10, version 1703 for IT Pros Below is a list of some of what's new in Information Technology (IT) pro features in Windows 10, version 1703 (also known as the Creators Update). diff --git a/windows/whats-new/whats-new-windows-10-version-1709.md b/windows/whats-new/whats-new-windows-10-version-1709.md index ef9b4541f0..67686734b4 100644 --- a/windows/whats-new/whats-new-windows-10-version-1709.md +++ b/windows/whats-new/whats-new-windows-10-version-1709.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1709 -description: New and updated IT Pro content about new features in Windows 10, version 1709 (also known as the Fall Creators Update). +description: New and updated features in Windows 10, version 1709 (also known as the Fall Creators Update). keywords: ["What's new in Windows 10", "Windows 10", "Fall Creators Update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, version 1709 IT Pro content +# What's new in Windows 10, version 1709 for IT Pros **Applies to** - Windows 10, version 1709 diff --git a/windows/whats-new/whats-new-windows-10-version-1803.md b/windows/whats-new/whats-new-windows-10-version-1803.md index 051d5d4b6e..acd7f43bb2 100644 --- a/windows/whats-new/whats-new-windows-10-version-1803.md +++ b/windows/whats-new/whats-new-windows-10-version-1803.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1803 -description: New and updated IT Pro content about new features in Windows 10, version 1803 (also known as the Windows 10 April 2018 Update). +description: New and updated features in Windows 10, version 1803 (also known as the Windows 10 April 2018 Update). keywords: ["What's new in Windows 10", "Windows 10", "April 2018 Update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, version 1803 IT Pro content +# What's new in Windows 10, version 1803 for IT Pros **Applies to** - Windows 10, version 1803 diff --git a/windows/whats-new/whats-new-windows-10-version-1903.md b/windows/whats-new/whats-new-windows-10-version-1903.md index ec640e3eea..795fbe2644 100644 --- a/windows/whats-new/whats-new-windows-10-version-1903.md +++ b/windows/whats-new/whats-new-windows-10-version-1903.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1903 -description: New and updated IT Pro content about new features in Windows 10, version 1903 (also known as the Windows 10 May 2019 Update). +description: New and updated features in Windows 10, version 1903 (also known as the Windows 10 May 2019 Update). keywords: ["What's new in Windows 10", "Windows 10", "May 2019 Update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, version 1903 IT Pro content +# What's new in Windows 10, version 1903 for IT Pros **Applies to** - Windows 10, version 1903 diff --git a/windows/whats-new/whats-new-windows-10-version-1909.md b/windows/whats-new/whats-new-windows-10-version-1909.md index 6d20ec5fa7..60ca36e9dd 100644 --- a/windows/whats-new/whats-new-windows-10-version-1909.md +++ b/windows/whats-new/whats-new-windows-10-version-1909.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 1909 -description: New and updated IT Pro content about new features in Windows 10, version 1909 (also known as the Windows 10 November 2019 Update). +description: New and updated features in Windows 10, version 1909 (also known as the Windows 10 November 2019 Update). keywords: ["What's new in Windows 10", "Windows 10", "November 2019 Update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, version 1909 IT Pro content +# What's new in Windows 10, version 1909 for IT Pros **Applies to** - Windows 10, version 1909 diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 8ede07d888..6a2d358768 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -1,6 +1,6 @@ --- title: What's new in Windows 10, version 2004 -description: New and updated IT Pro content about new features in Windows 10, version 2004 (also known as the Windows 10 May 2020 Update). +description: New and updated features in Windows 10, version 2004 (also known as the Windows 10 May 2020 Update). keywords: ["What's new in Windows 10", "Windows 10", "May 2020 Update"] ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: high ms.topic: article --- -# What's new in Windows 10, version 2004 IT Pro content +# What's new in Windows 10, version 2004 for IT Pros **Applies to** - Windows 10, version 2004 @@ -21,7 +21,7 @@ ms.topic: article This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 2004, also known as the Windows 10 May 2020 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1909. > [!NOTE] -> The version number for this release (2004) is an even number to avoid confusion with major releases of Windows that happened in the year 2003. +> The version number for this release (2004) is an even number to avoid confusion with Windows releases in the year 2003. ## Security From 78efd53f032896e250355987dfd2d9d5d6a5abfb Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 21 May 2020 13:27:52 -0700 Subject: [PATCH 196/393] update image --- .../images/atp-portal-onboarding-page.png | Bin 0 -> 83374 bytes .../mac-install-manually.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-page.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-page.png b/windows/security/threat-protection/microsoft-defender-atp/images/atp-portal-onboarding-page.png new file mode 100644 index 0000000000000000000000000000000000000000..eb5819123e22e88f589b0352c126812caa28d132 GIT binary patch literal 83374 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¡`S? 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 KZ_C~o1^gGn#iI!T literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/microsoft-defender-atp/mac-install-manually.md b/windows/security/threat-protection/microsoft-defender-atp/mac-install-manually.md index 81703f52ed..f1928bc4d1 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/mac-install-manually.md +++ b/windows/security/threat-protection/microsoft-defender-atp/mac-install-manually.md @@ -41,7 +41,7 @@ Download the installation and onboarding packages from Microsoft Defender Securi 3. In Section 2 of the page, select **Download installation package**. Save it as wdav.pkg to a local directory. 4. In Section 2 of the page, select **Download onboarding package**. Save it as WindowsDefenderATPOnboardingPackage.zip to the same directory. - ![Microsoft Defender Security Center screenshot](../windows-defender-antivirus/images/ATP-Portal-Onboarding-page.png) + ![Microsoft Defender Security Center screenshot](images/atp-portal-onboarding-page.png) 5. From a command prompt, verify that you have the two files. From 95bab4b65360574b2bf2b974d714cd410575a2b4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 13:29:55 -0700 Subject: [PATCH 197/393] draft --- .../whats-new/whats-new-windows-10-version-2004.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 6a2d358768..4b63e23285 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -194,7 +194,9 @@ With this release, you can configure User-driven Hybrid Azure Active Directory j ### Microsoft Endpoint Manager -See [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) +An in-place upgrade wizard is available in Configuration Manager. For more information, see [Simplifying Windows 10 deployment with Configuraton Manager](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/simplifying-windows-10-deployment-with-configuration-manager/ba-p/1214364). + +Also see [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) ### Windows Assessment and Deployment Toolkit (ADK) @@ -217,10 +219,9 @@ For the latest information about MDT, see the [MDT release notes](https://docs.m [What's New in Windows Server](https://docs.microsoft.com/windows-server/get-started/whats-new-in-windows-server): New and updated features in Windows Server.
[Windows 10 Features](https://www.microsoft.com/windows/features): General information about Windows 10 features.
[What's New in Windows 10](https://docs.microsoft.com/windows/whats-new/): See what’s new in other versions of Windows 10.
-[What Windows 10, version 1909 Means for Developers](https://blogs.windows.com/windowsdeveloper/2019/10/16/what-windows-10-version-1909-means-for-developers/): New and updated features in Windows 10 that are of interest to developers.
-[What's new in Windows 10, version 1909 - Windows Insiders](https://docs.microsoft.com/windows-insider/at-home/whats-new-wip-at-home-1909): This list also includes consumer focused new features.
+[Start developing on Windows 10, version 2004 today](https://blogs.windows.com/windowsdeveloper/2020/05/12/start-developing-on-windows-10-version-2004-today/): New and updated features in Windows 10 that are of interest to developers.
+[What's new for business in Windows 10 Insider Preview Builds](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new): A preview of new features for businesses.
+[What's new in Windows 10, version 1909 - Windows Insiders](https://docs.microsoft.com/windows-insider/at-home/whats-new-wip-at-home-20h1): This list also includes consumer focused new features.
[Features and functionality removed in Windows 10](https://docs.microsoft.com/windows/deployment/planning/windows-10-removed-features): Removed features.
[Windows 10 features we’re no longer developing](https://docs.microsoft.com/windows/deployment/planning/windows-10-deprecated-features): Features that are not being developed.
-[How to get the Windows 10 November 2019 Update](https://aka.ms/how-to-get-1909): John Cable blog.
-[How to get Windows 10, Version 1909: Enablement Mechanics](https://aka.ms/1909mechanics): Mechanics blog.
-[What’s new for IT pros in Windows 10, version 1909](https://aka.ms/whats-new-in-1909): Windows IT Pro blog.
+[What’s new for IT pros in Windows 10, version 1909](https://aka.ms/whats-new-in-2004): Windows IT Pro blog.
From dc49d4321ccfc33817ee2a8a11755884934868c3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 13:31:49 -0700 Subject: [PATCH 198/393] draft --- windows/whats-new/whats-new-windows-10-version-2004.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 4b63e23285..b9a44198b0 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -73,7 +73,7 @@ With this release, memory that is no longer in use in a Linux VM will be freed b WSL2 support is has been added for ARM64 devices if your device supports virtualization. -For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/en-us/windows/wsl/release-notes). +For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/windows/wsl/release-notes). ## DirectX From abb85abba99b21cf498403fc121f9091c0783fdd Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 13:36:18 -0700 Subject: [PATCH 199/393] fix versions --- windows/whats-new/whats-new-windows-10-version-2004.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index b9a44198b0..663e350c15 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -221,7 +221,7 @@ For the latest information about MDT, see the [MDT release notes](https://docs.m [What's New in Windows 10](https://docs.microsoft.com/windows/whats-new/): See what’s new in other versions of Windows 10.
[Start developing on Windows 10, version 2004 today](https://blogs.windows.com/windowsdeveloper/2020/05/12/start-developing-on-windows-10-version-2004-today/): New and updated features in Windows 10 that are of interest to developers.
[What's new for business in Windows 10 Insider Preview Builds](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new): A preview of new features for businesses.
-[What's new in Windows 10, version 1909 - Windows Insiders](https://docs.microsoft.com/windows-insider/at-home/whats-new-wip-at-home-20h1): This list also includes consumer focused new features.
+[What's new in Windows 10, version 2004 - Windows Insiders](https://docs.microsoft.com/windows-insider/at-home/whats-new-wip-at-home-20h1): This list also includes consumer focused new features.
[Features and functionality removed in Windows 10](https://docs.microsoft.com/windows/deployment/planning/windows-10-removed-features): Removed features.
[Windows 10 features we’re no longer developing](https://docs.microsoft.com/windows/deployment/planning/windows-10-deprecated-features): Features that are not being developed.
-[What’s new for IT pros in Windows 10, version 1909](https://aka.ms/whats-new-in-2004): Windows IT Pro blog.
+[What’s new for IT pros in Windows 10, version 2004](https://aka.ms/whats-new-in-2004): Windows IT Pro blog.
From 455cd230dee5872a586f930a47cf3822d067a6a9 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 13:52:33 -0700 Subject: [PATCH 200/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 0bac7f80f3..2c17fb301c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -24,4 +24,10 @@ ms.collection: - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) -## Overview \ No newline at end of file +## Overview + +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by Microsoft Defender Antivirus, it's treated as a potential false negative. With machine learning and and is observed more closely. Once confirmed as malicious, on a device is confirmed as malicious, + +Feedback-loop blocking Within a few moments of confirming a file as malicious, , the file, machine learning models operating on the EDR data, which come with richer granular details, determined the file to be malware, raised an alert, and provided feedback to the rapid protection loop engine. This insight led to the immediate blocking of the file on subsequent machines. + +Behavioral detections feed into protection stack as potential FNs, generating new protection based on patient 0 behavioral intelligence. Patient 1+ are now protected and threats prevented higher in the stack From 997f2cff855d7764bf30144c4bc6ad521d978531 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 14:18:45 -0700 Subject: [PATCH 201/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 2c17fb301c..62e9eb491c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,8 +26,7 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by Microsoft Defender Antivirus, it's treated as a potential false negative. With machine learning and and is observed more closely. Once confirmed as malicious, on a device is confirmed as malicious, +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. -Feedback-loop blocking Within a few moments of confirming a file as malicious, , the file, machine learning models operating on the EDR data, which come with richer granular details, determined the file to be malware, raised an alert, and provided feedback to the rapid protection loop engine. This insight led to the immediate blocking of the file on subsequent machines. +## Configuring feedback-loop blocking -Behavioral detections feed into protection stack as potential FNs, generating new protection based on patient 0 behavioral intelligence. Patient 1+ are now protected and threats prevented higher in the stack From 2c1bbd5ac5d53560efb0fc31ed6ec0fd65517bd8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 14:58:16 -0700 Subject: [PATCH 202/393] Update feedback-loop-blocking.md --- .../feedback-loop-blocking.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 62e9eb491c..a216ae3494 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,7 +26,22 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. ## Configuring feedback-loop blocking +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. + +Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +- [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) +- [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) +- [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) +- [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) +- [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) + +## Related articles + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) + +- [Behavioral blocking and containment](behavioral-blocking-containment.md) + From 1477aa97daeabe3768353899ffcfb8c097033a4a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:00:01 -0700 Subject: [PATCH 203/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index a216ae3494..bff8b3513e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -41,7 +41,8 @@ Make sure the following features and capabilities of Microsoft Defender ATP are ## Related articles -- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - - [Behavioral blocking and containment](behavioral-blocking-containment.md) +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) + + From 1fa1441f7dd09b9e91a884c36d45bbce4a489d72 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:17:28 -0700 Subject: [PATCH 204/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index bff8b3513e..4d341f22c2 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,7 +26,12 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. This results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem through rapid blocking and containment. + +With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. + ## Configuring feedback-loop blocking From 71c8066dc23d9893f8e99577021d4356a4baeed3 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:29:25 -0700 Subject: [PATCH 205/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 4d341f22c2..6b33b0e54d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -28,16 +28,18 @@ ms.collection: Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. This results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem through rapid blocking and containment. +:::image type="content" source="images/mdatp-next-gen-EDR-behavblockcontain.png" alt-text="Behavioral blocking and containment"::: + +### How feedback-loop blocking works + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. ## Configuring feedback-loop blocking -If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. - -Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) - [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) - [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) @@ -50,4 +52,4 @@ Make sure the following features and capabilities of Microsoft Defender ATP are - [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - +- [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) From f9526290f6056babec8c0ae551d892a5cea3cf96 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:32:23 -0700 Subject: [PATCH 206/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 6b33b0e54d..aa9f563768 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -40,10 +40,15 @@ With rapid protection in place, an attack can be stopped on a device, other devi ## Configuring feedback-loop blocking If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: + - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) + - [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) + - [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) + - [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) + - [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) ## Related articles From 16b383599773f7057a989f925e8dc4a6465586cc Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 15:35:38 -0700 Subject: [PATCH 207/393] move sections around --- .../whats-new-windows-10-version-2004.md | 141 +++++++++--------- 1 file changed, 72 insertions(+), 69 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 663e350c15..418650a2aa 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -51,69 +51,47 @@ Fast Identity Online 2 (FIDO2) security key support is expanded to Azure Active - Windows Hello PIN sign-in support is [added to Safe mode](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#windows-hello-pin-in-safe-mode-build-18995). - Windows Hello for Business now has Hybrid Azure Active Directory support and Phone number sign-in (MSA). -## Microsoft Edge +## Deployment -Read about plans for the new Microsoft Edge and other innovations announced at [Build 2020](https://blogs.windows.com/msedgedev/2020/05/19/microsoft-edge-news-developers-build-2020/) and [What's new at Microsoft Edge Insider](https://www.microsoftedgeinsider.com/whats-new). +### Windows Setup -Also see [New year, new browser – The new Microsoft Edge is out of preview and now available for download](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). +Improvements in Windows Setup with this release include: +- Reduced offline time during feature updates +- Improved controls for reserved storage +- Improved controls and diagnostics +- New recovery options -## Cortana +For more information, see Windows Setup enhancements in the [Windows IT Pro Blog](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/pilot-new-features-with-the-windows-insider-program-for-business/ba-p/1220464). -Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. +### SetupDiag -The Cortana app also has [several improvements](https://insider.windows.com/articles/cortana-windows-beta/) in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). +In Windows 10, version 2004, SetupDiag is now automatically installed. -## Windows Search +[SetupDiag](https://docs.microsoft.com/windows/deployment/upgrade/setupdiag) is a command-line tool that can help diagnose why a Windows 10 update failed. SetupDiag works by searching Windows Setup log files. When searching log files, SetupDiag uses a set of rules to match known issues. -Windows Search is [improved](https://insider.windows.com/community-news/desktop-search/) in several ways. +During the upgrade process, Windows Setup will extract all its sources files to the **%SystemDrive%\$Windows.~bt\Sources** directory. With Windows 10, version 2004 and later, Windows Setup now also installs SetupDiag.exe to this directory. If there is an issue with the upgrade, SetupDiag is automatically run to determine the cause of the failure. If the upgrade process proceeds normally, this directory is moved under %SystemDrive%\Windows.Old for cleanup. -## Windows Subsystem for Linux (WSL) +### Windows Autopilot -With this release, memory that is no longer in use in a Linux VM will be freed back to Windows. Previously, a WSL VM's memory could grow, but would not shrink when no longer needed. +With this release, you can configure User-driven Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. -WSL2 support is has been added for ARM64 devices if your device supports virtualization. +### Microsoft Endpoint Manager -For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/windows/wsl/release-notes). +An in-place upgrade wizard is available in Configuration Manager. For more information, see [Simplifying Windows 10 deployment with Configuraton Manager](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/simplifying-windows-10-deployment-with-configuration-manager/ba-p/1214364). -## DirectX +Also see [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) -[New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. +### Windows Assessment and Deployment Toolkit (ADK) -## Virtual Desktops +Download the Windows ADK and Windows PE add-on for Windows 10, version 2004 [here](https://docs.microsoft.com/windows-hardware/get-started/adk-install). -You can now [rename your virtual desktops](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#renaming-your-virtual-desktops-build-18975), instead of getting stuck with the system-issued names like Desktop 1. +For information about what's new in the ADK, see [What's new in the Windows ADK for Windows 10, version 2004](https://docs.microsoft.com/windows-hardware/get-started/what-s-new-in-kits-and-tools#whats-new-in-the-windows-adk-for-windows-10-version-2004). -## Bluetooth +### Microsoft Deployment Toolkit (MDT) -Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. Other improvements include faster pairing and device name display. For more information, see [Improving your Bluetooth pairing experience](https://docs.microsoft.com/windows-insider/at-home/Whats-new-wip-at-home-20h1#improving-your-bluetooth-pairing-experience-build-18985). +MDT version 8456 supports Windows 10, version 2004, but there is currently an issue that causes MDT to incorrectly detect that UEFI is present. This issue is currently under investigation. -## Reset this PC - -The 'reset this PC' recovery function now includes a [cloud download](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-reset-this-pc-option-cloud-download-build-18970) option. - -## 2-in-1 PCs - -A [new tablet experience](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-tablet-experience-for-2-in-1-convertible-pcs-build-18970) for two-in-one convertible PCs is available. The screen will be optimized for touch When you detach your two-in-one's keyboard, but you'll still keep the familiar look of your desktop without interruption. - -## Specialized displays - -With this update, devices running Windows 10 Enterprise or Windows 10 Pro for Workstations with multiple displays can be configured to prevent Windows from using a display, making it available for a specialized purpose. - -Examples include: -- Fixed-function arcade & gaming such as cockpit, driving, flight, and military simulators -- Medical imaging devices with custom panels, such as grayscale X-ray displays -- Video walls like those displayed in Microsoft Store -- Dedicated video monitoring -- Monitor panel testing and validation -- Independent Hardware Vendor (IHV) driver testing and validation - -To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. - -## Task Manager - -The following items are added to Task Manager in this release: -- GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. -- Disk type is now listed for each disk on the Performance tab. +For the latest information about MDT, see the [MDT release notes](https://docs.microsoft.com/mem/configmgr/mdt/release-notes). ## Servicing @@ -164,55 +142,80 @@ This update includes 5 fixes to allow the host to run down-level containers on u Windows Media Player is also added back to the Sandbox image in this release. +## Windows Subsystem for Linux (WSL) + +With this release, memory that is no longer in use in a Linux VM will be freed back to Windows. Previously, a WSL VM's memory could grow, but would not shrink when no longer needed. + +WSL2 support is has been added for ARM64 devices if your device supports virtualization. + +For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/windows/wsl/release-notes). + ### Windows Virtual Desktop Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) for the latest and greatest information, as well as the [WVD Virtual Event from March](https://aka.ms/wvdvirtualevent). -## Deployment -### Windows Setup +## Microsoft Edge -Improvements in Windows Setup with this release include: -- Reduced offline time during feature updates -- Improved controls for reserved storage -- Improved controls and diagnostics -- New recovery options +Read about plans for the new Microsoft Edge and other innovations announced at [Build 2020](https://blogs.windows.com/msedgedev/2020/05/19/microsoft-edge-news-developers-build-2020/) and [What's new at Microsoft Edge Insider](https://www.microsoftedgeinsider.com/whats-new). -For more information, see Windows Setup enhancements in the [Windows IT Pro Blog](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/pilot-new-features-with-the-windows-insider-program-for-business/ba-p/1220464). +Also see [New year, new browser – The new Microsoft Edge is out of preview and now available for download](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). -### SetupDiag +## Cortana -In Windows 10, version 2004, SetupDiag is now automatically installed. +Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. -[SetupDiag](https://docs.microsoft.com/windows/deployment/upgrade/setupdiag) is a command-line tool that can help diagnose why a Windows 10 update failed. SetupDiag works by searching Windows Setup log files. When searching log files, SetupDiag uses a set of rules to match known issues. +The Cortana app also has several improvements in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). -During the upgrade process, Windows Setup will extract all its sources files to the **%SystemDrive%\$Windows.~bt\Sources** directory. With Windows 10, version 2004 and later, Windows Setup now also installs SetupDiag.exe to this directory. If there is an issue with the upgrade, SetupDiag is automatically run to determine the cause of the failure. If the upgrade process proceeds normally, this directory is moved under %SystemDrive%\Windows.Old for cleanup. +## Windows Search -### Windows Autopilot +Windows Search is [improved](https://insider.windows.com/community-news/desktop-search/) in several ways. -With this release, you can configure User-driven Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. +## DirectX -### Microsoft Endpoint Manager +[New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. -An in-place upgrade wizard is available in Configuration Manager. For more information, see [Simplifying Windows 10 deployment with Configuraton Manager](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/simplifying-windows-10-deployment-with-configuration-manager/ba-p/1214364). +## Virtual Desktops -Also see [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) +You can now [rename your virtual desktops](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#renaming-your-virtual-desktops-build-18975), instead of getting stuck with the system-issued names like Desktop 1. -### Windows Assessment and Deployment Toolkit (ADK) +## Bluetooth -Download the Windows ADK and Windows PE add-on for Windows 10, version 2004 [here](https://docs.microsoft.com/windows-hardware/get-started/adk-install). +Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. Other improvements include faster pairing and device name display. For more information, see [Improving your Bluetooth pairing experience](https://docs.microsoft.com/windows-insider/at-home/Whats-new-wip-at-home-20h1#improving-your-bluetooth-pairing-experience-build-18985). -For information about what's new in the ADK, see [What's new in the Windows ADK for Windows 10, version 2004](https://docs.microsoft.com/windows-hardware/get-started/what-s-new-in-kits-and-tools#whats-new-in-the-windows-adk-for-windows-10-version-2004). +## Reset this PC -### Microsoft Deployment Toolkit (MDT) +The 'reset this PC' recovery function now includes a [cloud download](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-reset-this-pc-option-cloud-download-build-18970) option. -MDT version 8456 supports Windows 10, version 2004, but there is currently an issue that causes MDT to incorrectly detect that UEFI is present. This issue is currently under investigation. +## 2-in-1 PCs -For the latest information about MDT, see the [MDT release notes](https://docs.microsoft.com/mem/configmgr/mdt/release-notes). +A [new tablet experience](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-tablet-experience-for-2-in-1-convertible-pcs-build-18970) for two-in-one convertible PCs is available. The screen will be optimized for touch When you detach your two-in-one's keyboard, but you'll still keep the familiar look of your desktop without interruption. + +## Specialized displays + +With this update, devices running Windows 10 Enterprise or Windows 10 Pro for Workstations with multiple displays can be configured to prevent Windows from using a display, making it available for a specialized purpose. + +Examples include: +- Fixed-function arcade & gaming such as cockpit, driving, flight, and military simulators +- Medical imaging devices with custom panels, such as grayscale X-ray displays +- Video walls like those displayed in Microsoft Store +- Dedicated video monitoring +- Monitor panel testing and validation +- Independent Hardware Vendor (IHV) driver testing and validation + +To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. + +## Task Manager + +The following items are added to Task Manager in this release: +- GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. +- Disk type is now listed for each disk on the Performance tab. ## Desktop Analytics -[Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is a cloud-connected service, integrated with Configuration Manager, which gives you data-driven insights to the management of your Windows endpoints. It provides insight and intelligence that you can use to make more informed decisions about the update readiness of your Windows endpoints. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. For information about what's new, see [What's new in Desktop Analytics](https://docs.microsoft.com/mem/configmgr/desktop-analytics/whats-new). +[Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is a cloud-connected service, integrated with Configuration Manager that provides data-driven insights to the management of Windows endpoints in your organization. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. + +For information about Desktop Analytics and this release of Windows 10, see [What's new in Desktop Analytics](https://docs.microsoft.com/mem/configmgr/desktop-analytics/whats-new). ## See Also From af2e6fc4c8b9ddac9fb8a3726a35c169e99e3609 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:36:47 -0700 Subject: [PATCH 208/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index aa9f563768..736818f59f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -55,6 +55,6 @@ If your organization is using Microsoft Defender ATP, feedback-loop blocking is - [Behavioral blocking and containment](behavioral-blocking-containment.md) -- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - - [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From f1bea0aa7b079896ee2e5da4ca21fc78839f63b4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 15:49:34 -0700 Subject: [PATCH 209/393] Windows Shell section --- .../whats-new-windows-10-version-2004.md | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 418650a2aa..249a8efd60 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -29,9 +29,7 @@ This article lists new and updated features and content that are of interest to In this release, [Windows Defender System Guard](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows) enables an even *higher* level of [System Management Mode](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows#system-management-mode-smm-protection) (SMM) Firmware Protection that goes beyond checking the OS memory and secrets to additional resources like registers and IO. -With this improvement, the OS can detect a higher level of SMM compliance, enabling devices to be even more hardened against SMM exploits and vulnerabilities. - -This feature is forward-looking and currently requires new Intel Comet Lake (CML) hardware available soon. +With this improvement, the OS can detect a higher level of SMM compliance, enabling devices to be even more hardened against SMM exploits and vulnerabilities. This feature is forward-looking and currently requires new hardware available soon. ### Widows Defender Application Guard @@ -39,7 +37,6 @@ This feature is forward-looking and currently requires new Intel Comet Lake (CML [Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. - ### Passwordless authentication in Azure Active Directory Fast Identity Online 2 (FIDO2) security key support is expanded to Azure Active Directory hybrid environments with this release, enabling enterprises with hybrid environments to take advantage of [passwordless authentication](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). For more information, see [Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894). @@ -159,39 +156,41 @@ Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) Read about plans for the new Microsoft Edge and other innovations announced at [Build 2020](https://blogs.windows.com/msedgedev/2020/05/19/microsoft-edge-news-developers-build-2020/) and [What's new at Microsoft Edge Insider](https://www.microsoftedgeinsider.com/whats-new). -Also see [New year, new browser – The new Microsoft Edge is out of preview and now available for download](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). +Also see information about the exciting new Edge browser [here](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). -## Cortana +## Windows Shell + +### Cortana Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. The Cortana app also has several improvements in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). -## Windows Search +### Windows Search Windows Search is [improved](https://insider.windows.com/community-news/desktop-search/) in several ways. -## DirectX +### DirectX [New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. -## Virtual Desktops +### Virtual Desktops You can now [rename your virtual desktops](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#renaming-your-virtual-desktops-build-18975), instead of getting stuck with the system-issued names like Desktop 1. -## Bluetooth +### Bluetooth pairing Pairing Bluetooth devices with your computer will occur through notifications, so you won't need to go to the Settings app to finish pairing. Other improvements include faster pairing and device name display. For more information, see [Improving your Bluetooth pairing experience](https://docs.microsoft.com/windows-insider/at-home/Whats-new-wip-at-home-20h1#improving-your-bluetooth-pairing-experience-build-18985). -## Reset this PC +### Reset this PC The 'reset this PC' recovery function now includes a [cloud download](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-reset-this-pc-option-cloud-download-build-18970) option. -## 2-in-1 PCs +### 2-in-1 PCs A [new tablet experience](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-tablet-experience-for-2-in-1-convertible-pcs-build-18970) for two-in-one convertible PCs is available. The screen will be optimized for touch When you detach your two-in-one's keyboard, but you'll still keep the familiar look of your desktop without interruption. -## Specialized displays +### Specialized displays With this update, devices running Windows 10 Enterprise or Windows 10 Pro for Workstations with multiple displays can be configured to prevent Windows from using a display, making it available for a specialized purpose. @@ -205,7 +204,7 @@ Examples include: To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. -## Task Manager +### Task Manager The following items are added to Task Manager in this release: - GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. From ce4dd999b99e0a804175c2823efc08134c16be85 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 15:57:53 -0700 Subject: [PATCH 210/393] graphic --- windows/whats-new/images/system-guard2.png | Bin 0 -> 102459 bytes .../whats-new-windows-10-version-2004.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 windows/whats-new/images/system-guard2.png diff --git a/windows/whats-new/images/system-guard2.png b/windows/whats-new/images/system-guard2.png new file mode 100644 index 0000000000000000000000000000000000000000..12921bc305627060d83cc8cdecc4e1ec0d0c0ded GIT binary patch literal 102459 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 z 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
Hq@XA0 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%0A? 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 Jf#$i${{!Uw_H+OM literal 0 HcmV?d00001 diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 249a8efd60..362ab09e82 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -31,6 +31,8 @@ In this release, [Windows Defender System Guard](https://docs.microsoft.com/win With this improvement, the OS can detect a higher level of SMM compliance, enabling devices to be even more hardened against SMM exploits and vulnerabilities. This feature is forward-looking and currently requires new hardware available soon. + ![System Guard](images/system-guard2.png) + ### Widows Defender Application Guard [Windows Defender Application Guard](https://docs.microsoft.com/deployedge/microsoft-edge-security-windows-defender-application-guard) has been available for Chromium-based Edge since early 2020. From a04e4efeb695fff708415d5124d76b1781d16f52 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 16:15:32 -0700 Subject: [PATCH 211/393] edits --- .../whats-new/whats-new-windows-10-version-2004.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 362ab09e82..89ad3d21cb 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -103,7 +103,7 @@ Windows PowerShell cmdlets have been improved: - Enable-DeliveryOptimizationVerboseLogs is a new cmdlet that enables a greater level of logging detail to assist in troubleshooting. Additional improvements: -- Enterprise network throttling is enhanced to optimize foreground vs. background throttling. +- Enterprise network [throttling is enhanced](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-download-throttling-options-for-delivery-optimization-build-18917) to optimize foreground vs. background throttling. - Automatic cloud-based congestion detection is available for PCs with cloud service support. The following [Delivery Optimization](https://docs.microsoft.com/windows/deployment/update/waas-delivery-optimization) policies are removed in this release: @@ -141,11 +141,17 @@ This update includes 5 fixes to allow the host to run down-level containers on u Windows Media Player is also added back to the Sandbox image in this release. -## Windows Subsystem for Linux (WSL) +Windows Sandbox also has improved accessibility in this release, including: +- Microphone support is available. +- Added functionality to configure the audio input device via the Windows Sandbox config file. +- A Shift + Alt + PrintScreen key sequence that activates the ease of access dialog for enabling high contrast mode. +- A ctrl + alt + break key sequence that allows entering/exiting fullscreen mode. + +### Windows Subsystem for Linux (WSL) With this release, memory that is no longer in use in a Linux VM will be freed back to Windows. Previously, a WSL VM's memory could grow, but would not shrink when no longer needed. -WSL2 support is has been added for ARM64 devices if your device supports virtualization. +[WSL2](https://docs.microsoft.com/windows/wsl/wsl2-index) support is has been added for ARM64 devices if your device supports virtualization. For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/windows/wsl/release-notes). From 84dc4d86be7c23f3f1123883076991acfc50c6f7 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 16:22:15 -0700 Subject: [PATCH 212/393] edits --- windows/whats-new/images/system-guard2.png | Bin 102459 -> 96049 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/whats-new/images/system-guard2.png b/windows/whats-new/images/system-guard2.png index 12921bc305627060d83cc8cdecc4e1ec0d0c0ded..5505ffa78cb4bb82e4e189350b6a280b1d1297c9 100644 GIT binary patch literal 96049 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 z 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≪Wbe_4FMiY%zEQ^(Ti$M8Y?XEiYj{Zpdeh?A5FcYx0g@;a|LI=osAp!ys3p%$ zE1@;^C64IH<@YM`o0+s(nK~pLWyMW;#`I=H{N(eGQ0t%d#y`@Sy&0DGoK-dU(Ik_& zs9AyjsTeg}PxC0_r!jl&7W9mfk?bqotUpauEGfu+m0eqfpRQ|wpO)ZGx}Pwu@8x@o za1;NumoW^E8m6Aw`IAV8Q;PEy+BfspdY%_%kL3F8zMR_jotZ_PyL3!0VrP-@EdA`7 zDdVk4re(cyogE7> z-w*|$1nYaTJcyQpyz%_Htx9c)euH($N#u+;;R1)h-|k0QKbO8vj|eOZOPsZ!v3^!H zT(p#q>v3aT=Fqwk_Nd$T$zk=Ou6_0LSMkNn$c37MpOC61nlt!she>qp%#N0QO*cOa zLS9#hg|;kkFP;qw@Meq<&yq|^e)7`}Xl`^QXr=2ot)$UByoduilKQ#$-o-7Ld9~$+ zU-Wj$IEVli(4xWbJd+<;KzAoR-f(HP?aYhs&Gc^Vc=g zmsC`Wk+nZuaqX)JTQ8=uSvB0QLcM&F%z)d^u9_vm_`{#Yhy?}ebx1S0M!Egmf}>y6 zZ9+G)GPa4?zOQ<(hc0XeXZ%QZlgB~rYuggVSI@DVxP@4x_jK*VM?GUY@~?J3Q4wL5 z{Iqr>+kbFOB<)ZdBTSUYvTzVkF#wA)aGGtPZ8rS}@~U~-ucf!Y?s8<>=FXJXn|C9= zlv;FN3?c6O73fm5&!)p+lIg?*L14@mIJJuB-6-~q)VrUxCzN z(Hw&G5ktZ$w^hvYUF@sZ-sn~tRWU1|C}7=1zvv6qTCx=>AGm$3`tc!7)u7|4qOEvo zEuW!5+C4smV@Hf`o>jMGrU4oe`P=$aYAuJreA3b_H(*g+p4_%2*E8z<>VT{e19H41 zSwDEDOy$M8N$&kIheB=1mAni$%8|bT*V;f>Mp{{-VifZJoBoL=^(75Wl9r)cjEHev zqc-*@t7I)3&o~lI#0-AsiRmNq#K>8T=-7TtI^I$10wHQYe6F;&Trl(G=GQKmtd0J? z+3IUW`u(Rz@f$^HGFzAtGFrUMFoV}B zBbuJ~XVGW>%V16K&Cgs#lZ0%!O{6^f!AptAqi_c3p+xWakXD*5qUeObE=(K&-aGoLxqV)sd7c69O&4v-g^hC_z;n?T`D{f+COFED zM3&g~fuAds1hAHY7(}q5`la2Ey${yp>qZN`m1UORGM z{BBLSom-NA^90!Mljiy29UOne_fjo+-3r~Qf>A^rpUXw4?nG|1pU0Sm_*vMx!*X1c zZsFTRO&rD*BCcy#4C0)Of!wyIm?r0%r^sQ(9R0GHeWVEwEj{~)8P{ycN;(q!RCY#n%EiZ+ z&6HNDn6y`Ih_ znaG%>T*6YiHJ>wN|JY99rA13gO|!M{?C4r(?E|n3%ZN^-`N5g!17jYNmDCbMe

k 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 z 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 F{{s+0MEn2% literal 102459 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 z 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%0A? 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 Jf#$i${{!Uw_H+OM From ec5712e2ceee72ade40f2c941c3de22c407b3027 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Thu, 21 May 2020 16:28:21 -0700 Subject: [PATCH 213/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index e1e4ecab16..28cc79e942 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -80,8 +80,7 @@ Shared PC mode exposes a set of customizations to tailor the behavior to your re | Customization: SleepTimeout | Specifies all timeouts for when the PC should sleep. Enter the amount of idle time in seconds. If you don't set sleep timeout, the default of 1 hour applies. | [Policies: Authentication](wcd/wcd-policies.md#authentication) (optional related setting) | Enables a quick first sign-in experience for a user by automatically connecting new non-admin Azure AD accounts to the pre-configured candidate local accounts. - -## Configuring shared PC mode on Windows +## Configuring Shared PC mode for Windows You can configure Windows to be in shared PC mode in a couple different ways: - Mobile device management (MDM): Shared PC mode is enabled by the SharedPC configuration service provider (CSP). To setup a shared device policy for Windows 10 in Intune, complete the following steps: @@ -102,6 +101,8 @@ You can configure Windows to be in shared PC mode in a couple different ways: ![Shared PC settings in ICD](images/Shared_PC_3.png) + 11. From this point on, you can configure any additional settings you’d like to be part of this policy, and then follow the rest of the set-up flow to its completion by selecting **Create** after **Step 6**. + - A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt723294.aspx), exposed in Windows Configuration Designer as **SharedPC**. - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: From 6c74b7f7526e9ebc5479466c105baf87ae9d1fb0 Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Thu, 21 May 2020 17:01:34 -0700 Subject: [PATCH 214/393] Adding 2004 updates --- ...ew-in-windows-mdm-enrollment-management.md | 26 +++++++++++++++ .../mdm/policy-csp-education.md | 14 ++++---- .../mdm/policy-csp-textinput.md | 32 ++++++++++--------- 3 files changed, 51 insertions(+), 21 deletions(-) diff --git a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md index 0ab027fca0..703a4ee3cf 100644 --- a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md +++ b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md @@ -24,6 +24,7 @@ This topic provides information about what's new and breaking changes in Windows For details about Microsoft mobile device management protocols for Windows 10 see [\[MS-MDM\]: Mobile Device Management Protocol](https://go.microsoft.com/fwlink/p/?LinkId=619346) and [\[MS-MDE2\]: Mobile Device Enrollment Protocol Version 2]( https://go.microsoft.com/fwlink/p/?LinkId=619347). - **What’s new in MDM for Windows 10 versions** + - [What’s new in MDM for Windows 10, version 2004](#whats-new-in-mdm-for-windows-10-version-2004) - [What’s new in MDM for Windows 10, version 1909](#whats-new-in-mdm-for-windows-10-version-1909) - [What’s new in MDM for Windows 10, version 1903](#whats-new-in-mdm-for-windows-10-version-1903) - [What’s new in MDM for Windows 10, version 1809](#whats-new-in-mdm-for-windows-10-version-1809) @@ -87,6 +88,31 @@ For details about Microsoft mobile device management protocols for Windows 10 s - [September 2017](#september-2017) - [August 2017](#august-2017) +## What’s new in MDM for Windows 10, version 2004 + ++++ + + + + + + + + + + + +
New or updated topicDescription
Policy CSP

Added the following new policies in Windows 10, version 2004:

+
+ ## What’s new in MDM for Windows 10, version 1909 diff --git a/windows/client-management/mdm/policy-csp-education.md b/windows/client-management/mdm/policy-csp-education.md index 825ac41a15..3f4beef3e9 100644 --- a/windows/client-management/mdm/policy-csp-education.md +++ b/windows/client-management/mdm/policy-csp-education.md @@ -52,23 +52,23 @@ manager: dansimp - + - + - + - + - +
Homecheck markcheck mark8
Procheck markcheck mark8
Businesscheck markcheck mark8
Enterprisecheck markcheck mark8
Educationcheck markcheck mark8
@@ -85,7 +85,7 @@ manager: dansimp -Added in next major release of Windows 10. This policy setting allows you to control whether graphing functionality is available in the Windows Calculator app. If you disable this policy setting, graphing functionality will not be accessible in the Windows Calculator app. If you enable or don't configure this policy setting, you will be able to access graphing functionality. +Added in Windows 10, version 2004. This policy setting allows you to control whether graphing functionality is available in the Windows Calculator app. If you disable this policy setting, graphing functionality will not be accessible in the Windows Calculator app. If you enable or don't configure this policy setting, you will be able to access graphing functionality. ADMX Info: @@ -283,6 +283,8 @@ Footnotes: - 4 - Added in Windows 10, version 1803. - 5 - Added in Windows 10, version 1809. - 6 - Added in Windows 10, version 1903. +- 7 - Added in Windows 10, version 1909. +- 8 - Added in Windows 10, version 2004. diff --git a/windows/client-management/mdm/policy-csp-textinput.md b/windows/client-management/mdm/policy-csp-textinput.md index 7786a5eb5c..a116d3b084 100644 --- a/windows/client-management/mdm/policy-csp-textinput.md +++ b/windows/client-management/mdm/policy-csp-textinput.md @@ -815,19 +815,19 @@ This setting supports a range of values between 0 and 1. Pro - check mark + check mark8 Business - check mark + check mark8 Enterprise - check mark + check mark8 Education - check mark + check mark8 @@ -848,7 +848,7 @@ This setting supports a range of values between 0 and 1. > - The policy is only enforced in Windows 10 for desktop. > - This policy requires reboot to take effect. -Added in next major release of Windows 10. Allows IT admins to configure Microsoft Japanese IME version in the desktop. +Added in Windows 10, version 2004. Allows IT admins to configure Microsoft Japanese IME version in the desktop. @@ -878,19 +878,19 @@ The following list shows the supported values: Pro - check mark + check mark8 Business - check mark + check mark8 Enterprise - check mark + check mark8 Education - check mark + check mark8 @@ -911,7 +911,7 @@ The following list shows the supported values: > - This policy is enforced only in Windows 10 for desktop. > - This policy requires reboot to take effect. -Added in next major release of Windows 10. Allows IT admins to configure Microsoft Simplified Chinese IME version in the desktop. +Added in Windows 10, version 2004. Allows IT admins to configure Microsoft Simplified Chinese IME version in the desktop. @@ -941,19 +941,19 @@ The following list shows the supported values: Pro - check mark + check mark8 Business - check mark + check mark8 Enterprise - check mark + check mark8 Education - check mark + check mark8 @@ -974,7 +974,7 @@ The following list shows the supported values: > - This policy is enforced only in Windows 10 for desktop. > - This policy requires reboot to take effect. -Added in next major release of Windows 10. Allows IT admins to configure Microsoft Traditional Chinese IME version in the desktop. +Added in Windows 10, version 2004. Allows IT admins to configure Microsoft Traditional Chinese IME version in the desktop. @@ -1718,6 +1718,8 @@ Footnotes: - 4 - Added in Windows 10, version 1803. - 5 - Added in Windows 10, version 1809. - 6 - Added in Windows 10, version 1903. +- 7 - Added in Windows 10, version 1909. +- 8 - Added in Windows 10, version 2004. From 4219a82cf009ca17ccb9da657419bab75e492292 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Thu, 21 May 2020 17:07:31 -0700 Subject: [PATCH 215/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 28cc79e942..a1de00f8a6 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -103,7 +103,7 @@ You can configure Windows to be in shared PC mode in a couple different ways: 11. From this point on, you can configure any additional settings you’d like to be part of this policy, and then follow the rest of the set-up flow to its completion by selecting **Create** after **Step 6**. -- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt723294.aspx), exposed in Windows Configuration Designer as **SharedPC**. +- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/en-us/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: From e7e1753ecdb72351498ce6fe12c057b084402f31 Mon Sep 17 00:00:00 2001 From: Steve Burkett Date: Fri, 22 May 2020 12:10:14 +1200 Subject: [PATCH 216/393] Update run-detection-test.md Update folder and script to use the MDATP branding. --- .../microsoft-defender-atp/run-detection-test.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md index 2251ec4e49..624f4aaf34 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md +++ b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md @@ -30,7 +30,7 @@ ms.topic: article Run the following PowerShell script on a newly onboarded machine to verify that it is properly reporting to the Microsoft Defender ATP service. -1. Create a folder: 'C:\test-WDATP-test'. +1. Create a folder: 'C:\test-MDATP-test'. 2. Open an elevated command-line prompt on the machine and run the script: a. Go to **Start** and type **cmd**. @@ -42,7 +42,7 @@ Run the following PowerShell script on a newly onboarded machine to verify that 3. At the prompt, copy and run the following command: ``` - powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-WDATP-test\\invoice.exe');Start-Process 'C:\\test-WDATP-test\\invoice.exe' + powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' ``` The Command Prompt window will close automatically. If successful, the detection test will be marked as completed and a new alert will appear in the portal for the onboarded machine in approximately 10 minutes. From 926813e3b220525d2089a6119672dcdd04a47a62 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Thu, 21 May 2020 17:10:21 -0700 Subject: [PATCH 217/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index a1de00f8a6..0b8aecda02 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -58,7 +58,7 @@ Apps can take advantage of shared PC mode with the following three APIs: ### Customization -Shared PC mode exposes a set of customizations to tailor the behavior to your requirements. These customizations are the options that you'll set either using MDM or a provisioning package as explained in [Configuring shared PC mode on Windows](#configuring-shared-pc-mode-on-windows). The options are listed in the following table. +Shared PC mode exposes a set of customizations to tailor the behavior to your requirements. These customizations are the options that you'll set either using MDM or a provisioning package as explained in [Configuring Shared PC mode for Windows](#configuring-shared-pc-mode-for-windows). The options are listed in the following table. | Setting | Value | |:---|:---| From ed1592224ece7f7ccbd31be7eea59295bd11bbf9 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Thu, 21 May 2020 17:32:25 -0700 Subject: [PATCH 218/393] Removed "/en-us" --- windows/configuration/set-up-shared-or-guest-pc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 0b8aecda02..8304ea6e96 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -103,7 +103,7 @@ You can configure Windows to be in shared PC mode in a couple different ways: 11. From this point on, you can configure any additional settings you’d like to be part of this policy, and then follow the rest of the set-up flow to its completion by selecting **Create** after **Step 6**. -- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/en-us/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. +- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: From d4c1853476fe233c5a620e35e82fda6bb77c7245 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Thu, 21 May 2020 17:47:28 -0700 Subject: [PATCH 219/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 0b8aecda02..88ce5b7e1e 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -81,9 +81,10 @@ Shared PC mode exposes a set of customizations to tailor the behavior to your re [Policies: Authentication](wcd/wcd-policies.md#authentication) (optional related setting) | Enables a quick first sign-in experience for a user by automatically connecting new non-admin Azure AD accounts to the pre-configured candidate local accounts. ## Configuring Shared PC mode for Windows + You can configure Windows to be in shared PC mode in a couple different ways: -- Mobile device management (MDM): Shared PC mode is enabled by the SharedPC configuration service provider (CSP). To setup a shared device policy for Windows 10 in Intune, complete the following steps: +- Mobile device management (MDM): Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/windows/client-management/mdm/sharedpc-csp). To setup a shared device policy for Windows 10 in Intune, complete the following steps: 1. Go to the [Microsoft Endpoint Manager portal](https://endpoint.microsoft.com/#home). 2. Select **Devices** from the navigation. @@ -92,18 +93,20 @@ You can configure Windows to be in shared PC mode in a couple different ways: 5. From the **Platform** menu, select **Windows 10 and later**. 6. From the **Profile** menu, select **Shared multi-user device**. -![custom OMA-URI policy in Intune](images/Shared_PC_1.png) + ![custom OMA-URI policy in Intune](images/Shared_PC_1.png) 7. Select **Create**. 8. Enter a name for the policy (e.g.) My Win10 Shared devices policy. You can optionally add a description should you wish to do so. 9. Select **Next**. 10. On the **Configuration settings** page, set the ‘Shared PC Mode’ value to **Enabled**. -![Shared PC settings in ICD](images/Shared_PC_3.png) + ![Shared PC settings in ICD](images/Shared_PC_3.png) 11. From this point on, you can configure any additional settings you’d like to be part of this policy, and then follow the rest of the set-up flow to its completion by selecting **Create** after **Step 6**. -- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/en-us/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. +- A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. + + ![Shared PC settings in ICD](images\icd-adv-shared-pc.PNG) - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: From d58a06c363ac55216ec5d68e8c26230a4210d685 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 21:28:59 -0700 Subject: [PATCH 220/393] edits --- .../whats-new-windows-10-version-2004.md | 61 ++++++++++--------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 89ad3d21cb..5b7c873cfc 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -25,6 +25,13 @@ This article lists new and updated features and content that are of interest to ## Security +### Windows Hello + +- Windows Hello is now supported as Fast Identity Online 2 (FIDO2) authenticator across all major browsers including Chrome and Firefox. +- You can now enable passwordless sign-in for Microsoft accounts on your Windows 10 device by going to **Settings > Accounts > Sign-in options**, and selecting **On** under **Make your device passwordless**. Enabling passwordless sign in will switch all Microsoft accounts on your Windows 10 device to modern authentication with Windows Hello Face, Fingerprint, or PIN. +- Windows Hello PIN sign-in support is [added to Safe mode](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#windows-hello-pin-in-safe-mode-build-18995). +- Windows Hello for Business now has Hybrid Azure Active Directory support and phone number sign-in (MSA). FIDO2 security key support is expanded to Azure Active Directory hybrid environments, enabling enterprises with hybrid environments to take advantage of [passwordless authentication](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). For more information, see [Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894). + ### Windows Defender System Guard In this release, [Windows Defender System Guard](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows) enables an even *higher* level of [System Management Mode](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows#system-management-mode-smm-protection) (SMM) Firmware Protection that goes beyond checking the OS memory and secrets to additional resources like registers and IO. @@ -37,18 +44,7 @@ With this improvement, the OS can detect a higher level of SMM compliance, enabl [Windows Defender Application Guard](https://docs.microsoft.com/deployedge/microsoft-edge-security-windows-defender-application-guard) has been available for Chromium-based Edge since early 2020. -[Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. - -### Passwordless authentication in Azure Active Directory - -Fast Identity Online 2 (FIDO2) security key support is expanded to Azure Active Directory hybrid environments with this release, enabling enterprises with hybrid environments to take advantage of [passwordless authentication](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). For more information, see [Expanding Azure Active Directory support for FIDO2 preview to hybrid environments](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/expanding-azure-active-directory-support-for-fido2-preview-to/ba-p/981894). - -### Windows Hello - -- Windows Hello is now supported as FIDO2 authenticator across all major browsers including Chrome and Firefox. -- You can now enable passwordless sign-in for Microsoft accounts on your Windows 10 device by going to **Settings > Accounts > Sign-in options**, and selecting **On** under **Make your device passwordless**. Enabling passwordless sign in will switch all Microsoft accounts on your Windows 10 device to modern authentication with Windows Hello Face, Fingerprint, or PIN. -- Windows Hello PIN sign-in support is [added to Safe mode](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#windows-hello-pin-in-safe-mode-build-18995). -- Windows Hello for Business now has Hybrid Azure Active Directory support and Phone number sign-in (MSA). +Note: [Application Guard for Office](https://support.office.com/article/application-guard-for-office-9e0fb9c2-ffad-43bf-8ba3-78f785fdba46) is coming soon. ## Deployment @@ -72,7 +68,7 @@ During the upgrade process, Windows Setup will extract all its sources files to ### Windows Autopilot -With this release, you can configure User-driven Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. +With this release, you can configure [Windows Autopilot user-driven](https://docs.microsoft.com/windows/deployment/windows-autopilot/user-driven) Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. ### Microsoft Endpoint Manager @@ -117,9 +113,9 @@ The following [Delivery Optimization](https://docs.microsoft.com/windows/deploym ### Windows Update for Business -Windows Update for Business Enhancements -- Intune console updates: target version is now available allowing you to specify which Windows 10 OS Version you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy (GP) and Configuration Service Provider (CSP) policy -- Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. But we know this can interfere with validations, to better enable IT Administrators to validate on the latest release, we have created a new policy to enable admins to opt devices out of the built-in safeguard holds. +Windows Update for Business enhancements in this release include: +- Intune console updates: target version is now available allowing you to specify which version of Windows 10 you want devices to move to. Additionally, this capability enables you to keep devices on their current version until they reach end of service. Check it out in Intune, also available as a Group Policy and Configuration Service Provider (CSP) policy. +- Validation improvements: To ensure devices and end users stay productive and protected, Microsoft uses safeguard holds to block devices from updating when there are known issues that would impact that device. Also, to better enable IT administrators to validate on the latest release, we have created a new policy that enables admins to opt devices out of the built-in safeguard holds. ## Virtualization @@ -155,10 +151,9 @@ With this release, memory that is no longer in use in a Linux VM will be freed b For a full list of updates to WSL, see the [WSL release notes](https://docs.microsoft.com/windows/wsl/release-notes). -### Windows Virtual Desktop - -Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) for the latest and greatest information, as well as the [WVD Virtual Event from March](https://aka.ms/wvdvirtualevent). +### Windows Virtual Desktop (WVD) +Windows 10 is an integral part of WVD, and several enhancements are available in the Spring 2020 update. Check out [Windows Virtual Desktop documentation](https://aka.ms/wvdgetstarted) for the latest and greatest information, as well as the [WVD Virtual Event from March](https://aka.ms/wvdvirtualevent). ## Microsoft Edge @@ -166,8 +161,14 @@ Read about plans for the new Microsoft Edge and other innovations announced at [ Also see information about the exciting new Edge browser [here](https://blogs.windows.com/windowsexperience/2020/01/15/new-year-new-browser-the-new-microsoft-edge-is-out-of-preview-and-now-available-for-download/). +## Application settings + +This release enables explicit [control over when Windows automatically restarts apps](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#control-over-restarting-apps-at-sign-in-build-18965) that were open when you restart your PC. + ## Windows Shell +Several enhancements to the Windows 10 user interface are implemented in this release. + ### Cortana Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. @@ -178,10 +179,6 @@ The Cortana app also has several improvements in this release, such as enhanced Windows Search is [improved](https://insider.windows.com/community-news/desktop-search/) in several ways. -### DirectX - -[New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. - ### Virtual Desktops You can now [rename your virtual desktops](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#renaming-your-virtual-desktops-build-18975), instead of getting stuck with the system-issued names like Desktop 1. @@ -194,6 +191,18 @@ Pairing Bluetooth devices with your computer will occur through notifications, s The 'reset this PC' recovery function now includes a [cloud download](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-reset-this-pc-option-cloud-download-build-18970) option. +### Task Manager + +The following items are added to Task Manager in this release: +- GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. +- Disk type is now [listed for each disk on the Performance tab](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#disk-type-visible-in-task-manager-performance-tab-build-18898). + +## Graphics & display + +### DirectX + +[New DirectX 12 features](https://devblogs.microsoft.com/directx/dev-preview-of-new-directx-12-features/) are available in this release. + ### 2-in-1 PCs A [new tablet experience](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-tablet-experience-for-2-in-1-convertible-pcs-build-18970) for two-in-one convertible PCs is available. The screen will be optimized for touch When you detach your two-in-one's keyboard, but you'll still keep the familiar look of your desktop without interruption. @@ -212,12 +221,6 @@ Examples include: To prevent Windows from using a display, choose Settings > Display and click Advanced display settings. Select a display to view or change, and then set the Remove display from desktop setting to On. The display will now be available for a specialized use. -### Task Manager - -The following items are added to Task Manager in this release: -- GPU Temperature is available on the Performance tab for devices with a dedicated GPU card. -- Disk type is now listed for each disk on the Performance tab. - ## Desktop Analytics [Desktop Analytics](https://docs.microsoft.com/configmgr/desktop-analytics/overview) is a cloud-connected service, integrated with Configuration Manager that provides data-driven insights to the management of Windows endpoints in your organization. Desktop Analytics requires a Windows E3 or E5 license, or a Microsoft 365 E3 or E5 license. From b40aaa108effdeb192296e5d9ae780b9763402b5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 21:52:43 -0700 Subject: [PATCH 221/393] edits --- .../whats-new/whats-new-windows-10-version-2004.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 5b7c873cfc..8c05f6c421 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -171,9 +171,16 @@ Several enhancements to the Windows 10 user interface are implemented in this re ### Cortana -Cortana in Windows 10, version 2004 and later is a service covered by the Office 365 Trust Center. See [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later) for more information. +[Cortana](https://www.microsoft.com/cortana) has been updated and enhanced in Windows 10, version 2004: +- Productivity: chat-based UI gives you the ability to [interact with Cortana using typed or spoken natural language queries](https://support.microsoft.com/help/4557165) to easily get information across Microsoft 365 and stay on track. Productivity focused capabilities such as finding people profiles, checking schedules, joining meetings, and adding to lists in Microsoft To Do are currently available to English speakers in the US. + - In the coming months, with regular app updates through the Microsoft Store, we’ll enhance this experience to support wake word invocation and enable listening when you say “Cortana”, offer more productivity capabilities such as surfacing relevant emails and documents to help you prepare for meetings, and expand supported capabilities for international users. +- Security: tightened access to Cortana so that you must be securely logged in with your work or school account or your Microsoft account before using Cortana. Because of this tightened access, some consumer skills including music, connected home, and third-party skills will no longer be available. Additionally, users can [get cloud-based assistance services that meet Office 365’s enterprise-level privacy, security, and compliance promises](https://docs.microsoft.com/microsoft-365/admin/misc/cortana-integration?view=o365-worldwide) as set out in the Online Services Terms +- Move the Cortana window: drag the Cortana window to a more convenient location on your desktop -The Cortana app also has several improvements in this release, such as enhanced security and the ability to drag the Cortana window to a more convenient location on your desktop. For more information, see [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). +Also see: +- [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later). +- [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). +- Cortana in the [Microsoft 365 blog](https://www.microsoft.com/microsoft-365/blog/?s=cortana). ### Windows Search From 746de12f87d63f4d6fe0b5271cbb49c0c22881bf Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 21 May 2020 21:59:50 -0700 Subject: [PATCH 222/393] edits --- windows/whats-new/whats-new-windows-10-version-2004.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 8c05f6c421..5bbf8bd5d2 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -74,7 +74,7 @@ With this release, you can configure [Windows Autopilot user-driven](https://doc An in-place upgrade wizard is available in Configuration Manager. For more information, see [Simplifying Windows 10 deployment with Configuraton Manager](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/simplifying-windows-10-deployment-with-configuration-manager/ba-p/1214364). -Also see [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new) +Also see [What's new in Microsoft Intune](https://docs.microsoft.com/mem/intune/fundamentals/whats-new). ### Windows Assessment and Deployment Toolkit (ADK) @@ -94,9 +94,9 @@ For the latest information about MDT, see the [MDT release notes](https://docs.m Windows PowerShell cmdlets have been improved: -- Get-DeliveryOptimizationStatus has added the **-PeerInfo** option for a real-time peak behind the scenes on peer-to-peer activity (for example the peer IP Address, bytes received / sent) -- Get-DeliveryOptimizationLogAnalysis is a new cmdlet that provides a summary of the activity in your DO log (# of downloads, downloads from peers, overall peer efficiency). Use the -ListConnections option to for in-depth look at peer-to-peer connections. -- Enable-DeliveryOptimizationVerboseLogs is a new cmdlet that enables a greater level of logging detail to assist in troubleshooting. +- **Get-DeliveryOptimizationStatus** has added the **-PeerInfo** option for a real-time peak behind the scenes on peer-to-peer activity (for example the peer IP Address, bytes received / sent). +- **Get-DeliveryOptimizationLogAnalysis** is a new cmdlet that provides a summary of the activity in your DO log (# of downloads, downloads from peers, overall peer efficiency). Use the **-ListConnections** option to for in-depth look at peer-to-peer connections. +- **Enable-DeliveryOptimizationVerboseLogs** is a new cmdlet that enables a greater level of logging detail to assist in troubleshooting. Additional improvements: - Enterprise network [throttling is enhanced](https://docs.microsoft.com/windows-insider/at-work-pro/wip-4-biz-whats-new#new-download-throttling-options-for-delivery-optimization-build-18917) to optimize foreground vs. background throttling. @@ -167,7 +167,7 @@ This release enables explicit [control over when Windows automatically restarts ## Windows Shell -Several enhancements to the Windows 10 user interface are implemented in this release. +Several enhancements to the Windows 10 user interface are implemented in this release: ### Cortana From 7aad155631d266afd2d2740cdc541b98aa908cf9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 22 May 2020 08:33:40 -0700 Subject: [PATCH 223/393] update --- windows/whats-new/whats-new-windows-10-version-2004.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 5bbf8bd5d2..1eaad88327 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -21,7 +21,7 @@ ms.topic: article This article lists new and updated features and content that are of interest to IT Pros for Windows 10, version 2004, also known as the Windows 10 May 2020 Update. This update also contains all features and fixes included in previous cumulative updates to Windows 10, version 1909. > [!NOTE] -> The version number for this release (2004) is an even number to avoid confusion with Windows releases in the year 2003. +> The month indicator for this release is 04 instead of 03 to avoid confusion with Windows releases in the year 2003. ## Security @@ -70,6 +70,8 @@ During the upgrade process, Windows Setup will extract all its sources files to With this release, you can configure [Windows Autopilot user-driven](https://docs.microsoft.com/windows/deployment/windows-autopilot/user-driven) Hybrid Azure Active Directory join with VPN support. This support is also backported to Windows 10, version 1909 and 1903. +If you configure the language settings in the Autopilot profile and the device is connected to Ethernet, all scenarios will now skip the language, locale, and keyboard pages. In previous versions, this was only supported with self-deploying profiles. + ### Microsoft Endpoint Manager An in-place upgrade wizard is available in Configuration Manager. For more information, see [Simplifying Windows 10 deployment with Configuraton Manager](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/simplifying-windows-10-deployment-with-configuration-manager/ba-p/1214364). From 192dd5a33c560e5a71b45beb18111654ee689b4b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 22 May 2020 08:52:58 -0700 Subject: [PATCH 224/393] update --- windows/deployment/planning/windows-10-deprecated-features.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/planning/windows-10-deprecated-features.md b/windows/deployment/planning/windows-10-deprecated-features.md index 242a6e3384..c3a6639bda 100644 --- a/windows/deployment/planning/windows-10-deprecated-features.md +++ b/windows/deployment/planning/windows-10-deprecated-features.md @@ -26,6 +26,7 @@ The features described below are no longer being actively developed, and might b |Feature | Details and mitigation | Announced in version | | ----------- | --------------------- | ---- | +| Microsoft Edge | The current version of Microsoft Edge is no longer being developed, pending replacement by the new [Microsoft Edge](https://www.microsoftedgeinsider.com/whats-new).| 2004 | | Dynamic Disks | The [Dynamic Disks](https://docs.microsoft.com/windows/win32/fileio/basic-and-dynamic-disks#dynamic-disks) feature is no longer being developed. This feature will be fully replaced by [Storage Spaces](https://docs.microsoft.com/windows-server/storage/storage-spaces/overview) in a future release.| 2004 | | Hyper-V vSwitch on LBFO | In a future release, the Hyper-V vSwitch will no longer have the capability to be bound to an LBFO team. Instead, it can be bound via [Switch Embedded Teaming](https://docs.microsoft.com/windows-server/virtualization/hyper-v-virtual-switch/rdma-and-switch-embedded-teaming#bkmk_sswitchembedded) (SET).| 1909 | | Language Community tab in Feedback Hub | The Language Community tab will be removed from the Feedback Hub. The standard feedback process: [Feedback Hub - Feedback](feedback-hub://?newFeedback=true&feedbackType=2) is the recommended way to provide translation feedback. | 1909 | From 519a51ca34c75eb4d6f9c8d758feef943742a7a7 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Fri, 22 May 2020 09:44:42 -0700 Subject: [PATCH 225/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 88ce5b7e1e..2f070e97bf 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -106,7 +106,7 @@ You can configure Windows to be in shared PC mode in a couple different ways: - A provisioning package created with the Windows Configuration Designer: You can apply a provisioning package when you initially set up the PC (also known as the out-of-box-experience or OOBE), or you can apply the provisioning package to a Windows 10 PC that is already in use. The provisioning package is created in Windows Configuration Designer. Shared PC mode is enabled by the [SharedPC configuration service provider (CSP)](https://docs.microsoft.com/windows/client-management/mdm/sharedpc-csp), exposed in Windows Configuration Designer as **SharedPC**. - ![Shared PC settings in ICD](images\icd-adv-shared-pc.PNG) + ![Shared PC settings in ICD](images/icd-adv-shared-pc.PNG) - WMI bridge: Environments that use Group Policy can use the [MDM Bridge WMI Provider](https://msdn.microsoft.com/library/windows/desktop/dn905224.aspx) to configure the [MDM_SharedPC class](https://msdn.microsoft.com/library/windows/desktop/mt779129.aspx). For all device settings, the WMI Bridge client must be executed under local system user; for more information, see [Using PowerShell scripting with the WMI Bridge Provider](https://docs.microsoft.com/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider). For example, open PowerShell as an administrator and enter the following: From bab54b74223d0c8d7f011435b001d5eee0d7da7b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 22 May 2020 09:52:26 -0700 Subject: [PATCH 226/393] update --- windows/deployment/planning/windows-10-removed-features.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/deployment/planning/windows-10-removed-features.md b/windows/deployment/planning/windows-10-removed-features.md index 82e9ff19ad..826247f696 100644 --- a/windows/deployment/planning/windows-10-removed-features.md +++ b/windows/deployment/planning/windows-10-removed-features.md @@ -27,6 +27,8 @@ The following features and functionalities have been removed from the installed |Feature | Details and mitigation | Removed in version | | ----------- | --------------------- | ------ | +| Windows To Go | Windows To Go was announced as deprecated in Windows 10, version 1903 and is removed in this release. | 2004 | +| Mobile Plans and Messaging apps | Both apps are still supported, but are now distributed in a different way. OEMs can now include these apps in Windows images for cellular enabled devices. The apps are removed for non-cellular devices.| 2004 | | Hyper-V vSwitch on LBFO | The Hyper-V vSwitch can not be bound to an LBFO team. Instead, it can be bound via [Switch Embedded Teaming](https://docs.microsoft.com/windows-server/virtualization/hyper-v-virtual-switch/rdma-and-switch-embedded-teaming#bkmk_sswitchembedded) (SET).| 2004 | | PNRP APIs| ​The Peer Name Resolution Protocol (PNRP) cloud service was removed in Windows 10, version 1809. We are planning to complete the removal process by removing the corresponding APIs. | 1909 | | Taskbar settings roaming | Roaming of taskbar settings is removed in this release. This feature was announced as no longer being developed in Windows 10, version 1903. | 1909 | From a92c09262ff4b282acc7f1343fd91ecbcf7410e3 Mon Sep 17 00:00:00 2001 From: "Jeff Reeds (Aquent LLC)" Date: Fri, 22 May 2020 10:03:37 -0700 Subject: [PATCH 227/393] Update set-up-shared-or-guest-pc.md --- windows/configuration/set-up-shared-or-guest-pc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/set-up-shared-or-guest-pc.md b/windows/configuration/set-up-shared-or-guest-pc.md index 2f070e97bf..289a37a0b6 100644 --- a/windows/configuration/set-up-shared-or-guest-pc.md +++ b/windows/configuration/set-up-shared-or-guest-pc.md @@ -96,7 +96,7 @@ You can configure Windows to be in shared PC mode in a couple different ways: ![custom OMA-URI policy in Intune](images/Shared_PC_1.png) 7. Select **Create**. - 8. Enter a name for the policy (e.g.) My Win10 Shared devices policy. You can optionally add a description should you wish to do so. + 8. Enter a name for the policy (e.g. My Win10 Shared devices policy). You can optionally add a description should you wish to do so. 9. Select **Next**. 10. On the **Configuration settings** page, set the ‘Shared PC Mode’ value to **Enabled**. From c681ce5d967dbf49629f6041332da3d548ac324d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 22 May 2020 10:05:39 -0700 Subject: [PATCH 228/393] update --- windows/deployment/deploy-windows-to-go.md | 4 +- ...ctice-recommendations-for-windows-to-go.md | 109 +++++++++--------- ...oyment-considerations-for-windows-to-go.md | 2 +- ...are-your-organization-for-windows-to-go.md | 4 +- ...ection-considerations-for-windows-to-go.md | 4 +- ...indows-to-go-frequently-asked-questions.md | 4 +- .../planning/windows-to-go-overview.md | 2 +- 7 files changed, 65 insertions(+), 64 deletions(-) diff --git a/windows/deployment/deploy-windows-to-go.md b/windows/deployment/deploy-windows-to-go.md index b54532b820..52cc80097b 100644 --- a/windows/deployment/deploy-windows-to-go.md +++ b/windows/deployment/deploy-windows-to-go.md @@ -25,8 +25,8 @@ ms.topic: article This topic helps you to deploy Windows To Go in your organization. Before you begin deployment, make sure that you have reviewed the topics [Windows To Go: feature overview](planning/windows-to-go-overview.md) and [Prepare your organization for Windows To Go](planning/prepare-your-organization-for-windows-to-go.md) to ensure that you have the correct hardware and are prepared to complete the deployment. You can then use the steps in this topic to start your Windows To Go deployment. ->[!IMPORTANT] ->Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> [!IMPORTANT] +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. ## Deployment tips diff --git a/windows/deployment/planning/best-practice-recommendations-for-windows-to-go.md b/windows/deployment/planning/best-practice-recommendations-for-windows-to-go.md index 0652569347..41c34aec02 100644 --- a/windows/deployment/planning/best-practice-recommendations-for-windows-to-go.md +++ b/windows/deployment/planning/best-practice-recommendations-for-windows-to-go.md @@ -1,54 +1,55 @@ ---- -title: Best practice recommendations for Windows To Go (Windows 10) -description: Best practice recommendations for Windows To Go -ms.assetid: 05e6e0ab-94ed-4c0c-a195-0abd006f0a86 -ms.reviewer: -manager: laurawi -ms.author: greglin -keywords: best practices, USB, device, boot -ms.prod: w10 -ms.mktglfcycl: plan -ms.pagetype: mobility -ms.sitesec: library -audience: itpro author: greg-lindsay -ms.topic: article ---- - -# Best practice recommendations for Windows To Go - - -**Applies to** - -- Windows 10 - ->[!IMPORTANT] ->Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. - -The following are the best practice recommendations for using Windows To Go: - -- Always shut down Windows and wait for shutdown to complete before removing the Windows To Go drive. -- Do not insert the Windows To Go drive into a running computer. -- Do not boot the Windows To Go drive from a USB hub. Always insert the Windows To Go drive directly into a port on the computer. -- If available, use a USB 3.0 port with Windows To Go. -- Do not install non-Microsoft core USB drivers on Windows To Go. -- Suspend BitLocker on Windows host computers before changing the BIOS settings to boot from USB and then resume BitLocker protection. - -Additionally, we recommend that when you plan your deployment you should also plan a standard operating procedure for answering questions about which USB drives can be used for Windows To Go and how to enable booting from USB to assist your IT department or help desk in supporting users and work groups that want to use Windows To Go. It may be very helpful for your organization to work with your hardware vendors to create an IT standard for USB drives for use with Windows To Go, so that if groups within your organization want to purchase drives they can quickly determine which ones they should obtain. - -## More information - - -[Windows To Go: feature overview](windows-to-go-overview.md)
-[Prepare your organization for Windows To Go](prepare-your-organization-for-windows-to-go.md)
-[Deployment considerations for Windows To Go](deployment-considerations-for-windows-to-go.md)
-[Security and data protection considerations for Windows To Go](security-and-data-protection-considerations-for-windows-to-go.md)
-[Windows To Go: frequently asked questions](windows-to-go-frequently-asked-questions.md)
- -  - -  - - - - - +--- +title: Best practice recommendations for Windows To Go (Windows 10) +description: Best practice recommendations for Windows To Go +ms.assetid: 05e6e0ab-94ed-4c0c-a195-0abd006f0a86 +ms.reviewer: +manager: laurawi +ms.author: greglin +keywords: best practices, USB, device, boot +ms.prod: w10 +ms.mktglfcycl: plan +ms.pagetype: mobility +ms.sitesec: library +audience: itpro +author: greg-lindsay +ms.topic: article +--- + +# Best practice recommendations for Windows To Go + + +**Applies to** + +- Windows 10 + +> [!IMPORTANT] +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. + +The following are the best practice recommendations for using Windows To Go: + +- Always shut down Windows and wait for shutdown to complete before removing the Windows To Go drive. +- Do not insert the Windows To Go drive into a running computer. +- Do not boot the Windows To Go drive from a USB hub. Always insert the Windows To Go drive directly into a port on the computer. +- If available, use a USB 3.0 port with Windows To Go. +- Do not install non-Microsoft core USB drivers on Windows To Go. +- Suspend BitLocker on Windows host computers before changing the BIOS settings to boot from USB and then resume BitLocker protection. + +Additionally, we recommend that when you plan your deployment you should also plan a standard operating procedure for answering questions about which USB drives can be used for Windows To Go and how to enable booting from USB to assist your IT department or help desk in supporting users and work groups that want to use Windows To Go. It may be very helpful for your organization to work with your hardware vendors to create an IT standard for USB drives for use with Windows To Go, so that if groups within your organization want to purchase drives they can quickly determine which ones they should obtain. + +## More information + + +[Windows To Go: feature overview](windows-to-go-overview.md)
+[Prepare your organization for Windows To Go](prepare-your-organization-for-windows-to-go.md)
+[Deployment considerations for Windows To Go](deployment-considerations-for-windows-to-go.md)
+[Security and data protection considerations for Windows To Go](security-and-data-protection-considerations-for-windows-to-go.md)
+[Windows To Go: frequently asked questions](windows-to-go-frequently-asked-questions.md)
+ +  + +  + + + + + diff --git a/windows/deployment/planning/deployment-considerations-for-windows-to-go.md b/windows/deployment/planning/deployment-considerations-for-windows-to-go.md index d57413d357..8724e8278a 100644 --- a/windows/deployment/planning/deployment-considerations-for-windows-to-go.md +++ b/windows/deployment/planning/deployment-considerations-for-windows-to-go.md @@ -23,7 +23,7 @@ ms.topic: article - Windows 10 > [!IMPORTANT] -> Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. From the start, Windows To Go was designed to minimize differences between the user experience of working on a laptop and Windows To Go booted from a USB drive. Given that Windows To Go was designed as an enterprise solution, extra consideration was given to the deployment workflows that enterprises already have in place. Additionally, there has been a focus on minimizing the number of differences in deployment between Windows To Go workspaces and laptop PCs. diff --git a/windows/deployment/planning/prepare-your-organization-for-windows-to-go.md b/windows/deployment/planning/prepare-your-organization-for-windows-to-go.md index a9f0103eb9..c896c72fde 100644 --- a/windows/deployment/planning/prepare-your-organization-for-windows-to-go.md +++ b/windows/deployment/planning/prepare-your-organization-for-windows-to-go.md @@ -22,8 +22,8 @@ ms.topic: article - Windows 10 ->[!IMPORTANT] ->Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> [!IMPORTANT] +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. The following information is provided to help you plan and design a new deployment of a Windows To Go in your production environment. It provides answers to the “what”, “why”, and “when” questions an IT professional might have when planning to deploy Windows To Go. diff --git a/windows/deployment/planning/security-and-data-protection-considerations-for-windows-to-go.md b/windows/deployment/planning/security-and-data-protection-considerations-for-windows-to-go.md index 905e495858..952f743607 100644 --- a/windows/deployment/planning/security-and-data-protection-considerations-for-windows-to-go.md +++ b/windows/deployment/planning/security-and-data-protection-considerations-for-windows-to-go.md @@ -22,8 +22,8 @@ ms.topic: article - Windows 10 ->[!IMPORTANT] ->Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> [!IMPORTANT] +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. One of the most important requirements to consider when you plan your Windows To Go deployment is to ensure that the data, content, and resources you work with in the Windows To Go workspace is protected and secure. diff --git a/windows/deployment/planning/windows-to-go-frequently-asked-questions.md b/windows/deployment/planning/windows-to-go-frequently-asked-questions.md index d888468cfe..2a8889f1ab 100644 --- a/windows/deployment/planning/windows-to-go-frequently-asked-questions.md +++ b/windows/deployment/planning/windows-to-go-frequently-asked-questions.md @@ -22,8 +22,8 @@ ms.topic: article - Windows 10 ->[!IMPORTANT] ->Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> [!IMPORTANT] +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. The following list identifies some commonly asked questions about Windows To Go. diff --git a/windows/deployment/planning/windows-to-go-overview.md b/windows/deployment/planning/windows-to-go-overview.md index 23fefc02cd..c978295e6e 100644 --- a/windows/deployment/planning/windows-to-go-overview.md +++ b/windows/deployment/planning/windows-to-go-overview.md @@ -23,7 +23,7 @@ ms.topic: article - Windows 10 > [!IMPORTANT] -> Windows To Go is no longer being developed. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. +> Windows To Go is removed in Windows 10, version 2004 and later operating systems. The feature does not support feature updates and therefore does not enable you to stay current. It also requires a specific type of USB that is no longer supported by many OEMs. Windows To Go is a feature in Windows 10 Enterprise and Windows 10 Education that enables the creation of a Windows To Go workspace that can be booted from a USB-connected external drive on PCs. From cec1bfb79d90714ca85f38442cfe98fb974d1f26 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 10:59:15 -0700 Subject: [PATCH 229/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 736818f59f..264351e391 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -28,9 +28,7 @@ ms.collection: Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. -:::image type="content" source="images/mdatp-next-gen-EDR-behavblockcontain.png" alt-text="Behavioral blocking and containment"::: - -### How feedback-loop blocking works +## How feedback-loop blocking works When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. From 187c87bbdfb4a7882b7a500fabee57c6582fca07 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:11:39 -0700 Subject: [PATCH 230/393] new article client behavioral blocking --- windows/security/threat-protection/TOC.md | 1 + .../client-behavioral-blocking.md | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 21f50c35db..75641809bf 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -327,6 +327,7 @@ ### [Behavioral blocking and containment]() #### [Behavioral blocking and containment](microsoft-defender-atp/behavioral-blocking-containment.md) +#### [Client behavioral blocking](microsoft-defender-atp/client-behavioral-blocking.md) #### [Feedback-loop blocking](microsoft-defender-atp/feedback-loop-blocking.md) #### [EDR in block mode](microsoft-defender-atp/edr-in-block-mode.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md new file mode 100644 index 0000000000..264351e391 --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -0,0 +1,58 @@ +--- +title: Feedback-loop blocking +description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +search.product: eADQiWindows 10XVcnh +ms.pagetype: security +author: denisebmsft +ms.author: deniseb +manager: dansimp +ms.reviewer: shwetaj +audience: ITPro +ms.topic: article +ms.prod: w10 +ms.localizationpriority: medium +ms.custom: +- next-gen +- edr +ms.collection: +--- + +# Feedback-loop blocking + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) + +## Overview + +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. + +## How feedback-loop blocking works + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. + +With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. + + +## Configuring feedback-loop blocking + +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: + +- [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) + +- [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) + +- [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) + +- [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) + +- [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) + +## Related articles + +- [Behavioral blocking and containment](behavioral-blocking-containment.md) + +- [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From 77e64919e89cc8fab0c71a69f17eb8b8a60a4ad8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:12:11 -0700 Subject: [PATCH 231/393] Update client-behavioral-blocking.md --- .../client-behavioral-blocking.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 264351e391..cbba035321 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -1,7 +1,7 @@ --- -title: Feedback-loop blocking -description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP -keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +title: Client behavioral blocking +description: Client behavioral blocking is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, client behavior, Microsoft Defender ATP search.product: eADQiWindows 10XVcnh ms.pagetype: security author: denisebmsft @@ -18,7 +18,7 @@ ms.custom: ms.collection: --- -# Feedback-loop blocking +# Client behavioral blocking **Applies to:** @@ -26,16 +26,14 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked and remediated automatically. -## How feedback-loop blocking works - -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. - -With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. +## How client behavioral blocking works -## Configuring feedback-loop blocking + + +## Configuring client behavioral blocking If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: From ffe68ad9bc96c928a98bbb65dfcb18e82153f80f Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 11:34:54 -0700 Subject: [PATCH 232/393] Update onboarding.md --- .../microsoft-defender-atp/onboarding.md | 115 ++++-------------- 1 file changed, 26 insertions(+), 89 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/onboarding.md b/windows/security/threat-protection/microsoft-defender-atp/onboarding.md index d5613256d1..5d98e6652f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/onboarding.md +++ b/windows/security/threat-protection/microsoft-defender-atp/onboarding.md @@ -179,108 +179,45 @@ Follow the steps below to identify the Microsoft Defender ATP Workspace ID and W 3. Copy the **Workspace ID** and **Workspace Key** and save them. They will be used later in the process. -Before the systems can be onboarded into the workspace, the deployment scripts need to be updated to contain the correct information. Failure to do so will result in the systems not being properly onboarded. Depending on the deployment method, this step may have already been completed. +4. Install the Microsoft Monitoring Agent (MMA).
+ MMA is currently (as of January 2019) supported on the following Windows Operating + Systems: -Edit the InstallMMA.cmd with a text editor, such as notepad and update the -following lines and save the file: + - Server SKUs: Windows Server 2008 SP1 or Newer - ![Image of onboarding](images/a22081b675da83e8f62a046ae6922b0d.png) + - Client SKUs: Windows 7 SP1 and later -Edit the ConfiguerOMSAgent.vbs with a text editor, such as notepad, and update the following lines and save the file: + The MMA agent will need to be installed on Windows devices. To install the + agent, some systems will need to download the [Update for customer experience + and diagnostic + telemetry](https://support.microsoft.com/help/3080149/update-for-customer-experience-and-diagnostic-telemetry) + in order to collect the data with MMA. These system versions include but may not + be limited to: - ![Image of onboarding](images/09833d16df7f37eda97ea1d5009b651a.png) + - Windows 8.1 -Microsoft Monitoring Agent (MMA) is currently (as of January 2019) supported on the following Windows Operating -Systems: + - Windows 7 -- Server SKUs: Windows Server 2008 SP1 or Newer + - Windows Server 2016 -- Client SKUs: Windows 7 SP1 and later + - Windows Server 2012 R2 -The MMA agent will need to be installed on Windows devices. To install the -agent, some systems will need to download the [Update for customer experience -and diagnostic -telemetry](https://support.microsoft.com/help/3080149/update-for-customer-experience-and-diagnostic-telemetry) -in order to collect the data with MMA. These system versions include but may not -be limited to: + - Windows Server 2008 R2 -- Windows 8.1 + Specifically, for Windows 7 SP1, the following patches must be installed: -- Windows 7 + - Install + [KB4074598](https://support.microsoft.com/help/4074598/windows-7-update-kb4074598) -- Windows Server 2016 + - Install either [.NET Framework + 4.5](https://www.microsoft.com/en-us/download/details.aspx?id=30653) (or + later) **or** + [KB3154518](https://support.microsoft.com/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework). + Do not install both on the same system. -- Windows Server 2012 R2 +5. If you're using a proxy to connect to the Internet see the Configure proxy settings section. -- Windows Server 2008 R2 - -Specifically, for Windows 7 SP1, the following patches must be installed: - -- Install - [KB4074598](https://support.microsoft.com/help/4074598/windows-7-update-kb4074598) - -- Install either [.NET Framework - 4.5](https://www.microsoft.com/en-us/download/details.aspx?id=30653) (or - later) **or** - [KB3154518](https://support.microsoft.com/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework). - Do not install both on the same system. - -To deploy the MMA with Microsoft Endpoint Configuration Manager, follow the steps -below to utilize the provided batch files to onboard the systems. The CMD file -when executed, will require the system to copy files from a network share by the -System, the System will install MMA, Install the DependencyAgent, and configure -MMA for enrollment into the workspace. - - -1. In Microsoft Endpoint Configuration Manager console, navigate to **Software - Library**. - -2. Expand **Application Management**. - -3. Right-click **Packages** then select **Create Package**. - -4. Provide a Name for the package, then click **Next** - - ![Image of Microsoft Endpoint Configuration Manager console](images/e156a7ef87ea6472d57a3dc594bf08c2.png) - -5. Verify **Standard Program** is selected. - - ![Image of Microsoft Endpoint Configuration Manager console](images/227f249bcb6e7f29c4d43aa1ffaccd20.png) - -6. Click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/2c7f9d05a2ebd19607cc76b6933b945b.png) - -7. Enter a program name. - -8. Browse to the location of the InstallMMA.cmd. - -9. Set Run to **Hidden**. - -10. Set **Program can run** to **Whether or not a user is logged on**. - -11. Click **Next**. - -12. Set the **Maximum allowed run time** to 720. - -13. Click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/262a41839704d6da2bbd72ed6b4a826a.png) - -14. Verify the configuration, then click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/a9d3cd78aa5ca90d3c2fbd2e57618faf.png) - -15. Click **Next**. - -16. Click **Close**. - -17. In the Microsoft Endpoint Configuration Manager console, right-click the Microsoft Defender ATP - Onboarding Package just created and select **Deploy**. - -18. On the right panel select the appropriate collection. - -19. Click **OK**. +Once completed, you should see onboarded endpoints in the portal within an hour. ## Next generation protection Microsoft Defender Antivirus is a built-in antimalware solution that provides next generation protection for desktops, portable computers, and servers. From edb46d9623e88a7fe396b5d48fe59a6bb759ad6a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:39:06 -0700 Subject: [PATCH 233/393] Create pre-execution-and-post-execution-detection-engines.png --- ...on-and-post-execution-detection-engines.png | Bin 0 -> 137100 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png b/windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png new file mode 100644 index 0000000000000000000000000000000000000000..cea5e255f5d3da20e2fe265f722a18dc27c98a42 GIT binary patch literal 137100 zcmeFZcUY5Y*Dv~5Km`FEM3nBRs31jpFFNWdO{7Z+s0aw5haO-=a1;ecq)Snxm(Xh{ zf)IL#0D&MK5<-9wN_ze{kpBTzJQ6g&S zzBt5*7k+rttIO>5Mte+}(TyP%TwmhA5hYEwj#bMtwlVl3Bd$>Pn~Y=jaNrk9W~C1f z;*6Tic8AYg6~8WU!sd?)-N$%O{4Q|rWsur!0ohvp9hfqivP&^GF^G*E*ZHcd=43Ea zk?2F%GI+A9eGnA#$79R!%|9#IX;t?w5Pv$+K2FYwbKkf(t7!b?Ytj zj~~vMsY%rs`s#`7&{*K>2E?@wR{%bb$cf4=W1eG?c-WLv&GyW6UwR_JqdBd_U6n0&1KXvdSV0;z zjez4ySxS!suM@GNx}>Y%+R0agKU*ZN)^9~$@Knv07+$4)Dd;b}G$@E2^)hvxyflkX z@$BLCJRWu0JlR(SLtmbb(7x;MLHzW%F^gqs*Qt^(z~8=bQ?@OlPiL=9zU`CCP2kKW zFwXRJqLu837fl4sVRFPAsc(#dx|9)ttON!iC2e;uUscG@VW#!V-T^?cr7CCDBx&yx zci5YhS(s1bhZ)E`Y|xI$Qur4}SIaxc##8cA*}9Y!jW68=>f}yNAB=fwkIlKGXzY?6 zs$fxh_+6(yxWVcO|NaJ_0HdIV0I&LEEevxBvYYk@!c=y(0_C;jyP39Vwp}J5=CJt_ znI#>9gPGVV?%NAF9bVpRQ~vHR@&q}_HxhV>B(iRFXZxGzn;R_*fiAx`Gl-X24tP(KSnGhs$4Cq)H;X!GoG@0W44+QF#KmGCy+^gQ4I+ooW z#|l_V9ChuH0<9MF29&VBV)Ikztb3t;0AhCTodLIJId73@bd7*Fkv^`nG5(GtTc#Xk zQU%v>?Ubz{)oAlR0c_*2crOyWG=6oR8F+ntFt&I@#9YDaRzZ%WFJkx!Q1^IExtThc z)Qb8Q)Pp$a*MXUzitbFYM%_J^hdoF1x$;(dg&jkdenK6tl@l4>B$zJQ*T-!nkUPC| z2?deDM@&xvaT6ud7FEB!DMRlZ1X6w(#~B*T+iSxNu`Mr*gIlH>-IAcM^y@RVFEf()#qn z9IK*llr*pKFanya-xs?MfRTnnQSu${3*HOzVRVESmzgY~Z? z@_pR^_YaBVe=5d(;2DD>PA^@>d$nZ&>2?5!xbarwt!c@t6VnIl96b4%Zp$ zWs@(1<78qE0hXgjU9(XENkVv;tbZBx7tcI>i`xzl2$Fj%lKTsj5O<~P7y+$UxU-R1 zLER}4r&>U*4+2qq+n~K$+~u7Z3S?k65byMG&orNndKjSL`jG8Xu7cWxtAW0s^)*2_ z5_>W}iq@WVoPT_C@aBI!)hdZYJ5t8f0v z__X0ZjJh4LsqWg!pEOw`nuBw!Mu-~$b>%0ff0>@$-|eXD0ZSRkb{Ch-GSOi}QvK`5 z7w=Se@+oIfP6Gm-c+VO|8!pw#?bR=*83LbtCB1I7kH~Q!-tZEy6)t%?#p;bmA~c}LuajtSJn#S*Y=d5;caa;x6~d`s&O1RnuO3o6Td7}o{Q;Gm zjbBA+ljz_btylB#3t}PM16`V#Ar(W1Ougie2z^^(KX^RKQf5qJV=`3qu2>`5vn%ln z>;TXp(0sAEBijp?@h?}oJ6dtyo3}tTI=Eay^KJHt4G{n1C_ap(V3dyzW}r)3UI}
@k(BtBPl`*<{Ca;@Exs&q^wlpbq?K?LV_k(F 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⁣PD_U$YtxX*ho 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

x%}9*7g2ceo^W@&Ri0a`k~zJZ$iy@0&2y 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%0D)lQMo!Ck( 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 a|Lp&#?6|!v<0NS0i^0>?&t;ucLK6VSZh~0= literal 0 HcmV?d00001 From e559b0318009a5683ba366651b06d53f56e5647e Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:48:32 -0700 Subject: [PATCH 234/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index cbba035321..bb4a71e8a4 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -26,11 +26,13 @@ ms.collection: ## Overview -Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked and remediated automatically. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked, checked, and remediated automatically. + +:::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: ## How client behavioral blocking works - +Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors or artifacts are detected, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. ## Configuring client behavioral blocking From 47ba574b1450e3187b891fe00880c2471ca902d9 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:52:11 -0700 Subject: [PATCH 235/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index bb4a71e8a4..4674512f33 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -30,14 +30,16 @@ Client behavioral blocking is a component of [behavioral blocking and containmen :::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: +Antivirus protection works best when paired with cloud protection. + ## How client behavioral blocking works -Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors or artifacts are detected, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +[Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. ## Configuring client behavioral blocking -If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [Behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) From 6d04c7ac70b1e9dc28c584442efd99f160dfec7e Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:18:20 -0700 Subject: [PATCH 236/393] client behavioral blocking --- .../behavioral-blocking-containment.md | 16 ++++++++++ .../client-behavioral-blocking.md | 30 +++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index 81a9c4734d..4674bfe5e4 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -60,6 +60,22 @@ Expect more to come in the area of behavioral blocking and containment, as Micro ## Examples of behavioral blocking and containment in action +Behavioral blocking and containment capabilities have blocked attacker techniques such as the following: + +- Credential dumping from LSASS +- Cross-process injection +- Process hollowing +- User Account Control bypass +- Tampering with antivirus (such as disabling it or adding the malware as exclusion) +- Contacting Command and Control (C&C) to download payloads +- Coin mining +- Boot record modification +- Pass-the-hash attacks +- Installation of root certificate +- Exploitation attempt for various vulnerabilities + +Below are two real-life examples of behavioral blocking and containment in action. + ### Example 1: Credential theft attack against 100 organizations As described in [In hot pursuit of elusive threats: AI-driven behavior-based blocking stops attacks in their tracks](https://www.microsoft.com/security/blog/2019/10/08/in-hot-pursuit-of-elusive-threats-ai-driven-behavior-based-blocking-stops-attacks-in-their-tracks), a credential theft attack against 100 organizations around the world was stopped by behavioral blocking and containment capabilities. Spear-phishing email messages that contained a lure document were sent to the targeted organizations. If a recipient opened the attachment, a related remote document was able to execute code on the user’s device and load Lokibot malware, which stole credentials, exfiltrated stolen data, and waited for further instructions from a command-and-control server. diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 4674512f33..a029c37713 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -26,7 +26,7 @@ ms.collection: ## Overview -Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked, checked, and remediated automatically. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in Microsoft Defender ATP. As suspicious behaviors are detected on devices (also referred to as clients or endpoints), artifacts (such as files or applications) are blocked, checked, and remediated automatically. :::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: @@ -34,8 +34,32 @@ Antivirus protection works best when paired with cloud protection. ## How client behavioral blocking works -[Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +[Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can detect suspicious behavior, malicious code, fileless and in-memory attacks, and more on a device. When suspicious behaviors are detected, Microsoft Defender Antivirus monitors and sends those suspicious behaviors and their process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +Whenever a suspicious behavior is detected, an alert is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). + +Client behavioral blocking is effective because it not only helps prevent an attack from starting, it can help stop an attack that has begun executing. And, with [feedback-loop blocking](feedback-loop-blocking.md) (another capability of behavioral blocking and containment), attacks are prevented on other devices in your organization. + +## Behavior-based detections + +Behavior-based detections are named according to the [MITRE ATT&CK Matrix for Enterprise](https://attack.mitre.org/matrices/enterprise). The naming convention helps identify the attack stage where the malicious behavior was observed: + + +|Tactic | Detection threat name | +|----|----| +|Initial Access | Behavior:Win32/InitialAccess.*!ml | +|Execution |Behavior:Win32/Execution.*!ml | +|Persistence |Behavior:Win32/Persistence.*!ml | +|Privilege Escalation |Behavior:Win32/|PrivilegeEscalation.*!ml | +|Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | +|Credential Access |Behavior:Win32/CredentialAccess.*!ml | +|Discovery |Behavior:Win32/Discovery.*!ml | +|Lateral Movement | Behavior:Win32/LateralMovement.*!ml | +|Collection | Behavior:Win32/Collection.*!ml | +|Command and Control | Behavior:Win32/CommandAndControl.*!ml | +|Exfiltration | Behavior:Win32/Exfiltration.*!ml | +|Impact | Behavior:Win32/Impact.*!ml | +|Uncategorized | Behavior:Win32/Generic.*!ml | ## Configuring client behavioral blocking @@ -55,6 +79,8 @@ If your organization is using Microsoft Defender ATP, client behavioral blocking - [Behavioral blocking and containment](behavioral-blocking-containment.md) +- [Feedback-loop blocking](feedback-loop-blocking.md) + - [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) - [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From 99e44a4ec88207025086fba7616ec541c7e549ce Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:23:12 -0700 Subject: [PATCH 237/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index a029c37713..4b13395686 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -63,7 +63,7 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En ## Configuring client behavioral blocking -If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [Behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) From 567473865499f4f5ded6fc85da41b12ba45dd08f Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:24:30 -0700 Subject: [PATCH 238/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 4b13395686..224547269b 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -61,6 +61,10 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Impact | Behavior:Win32/Impact.*!ml | |Uncategorized | Behavior:Win32/Generic.*!ml | +> [!TIP] +> To learn more about specific threats, see **[recent global threat activity](https://www.microsoft.com/wdsi/threats)**. + + ## Configuring client behavioral blocking If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: From dd0344989d3578ab6a48ac1de91798a018b61468 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:38:34 -0700 Subject: [PATCH 239/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 224547269b..516fc24bd9 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -50,7 +50,7 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Initial Access | Behavior:Win32/InitialAccess.*!ml | |Execution |Behavior:Win32/Execution.*!ml | |Persistence |Behavior:Win32/Persistence.*!ml | -|Privilege Escalation |Behavior:Win32/|PrivilegeEscalation.*!ml | +|Privilege Escalation |Behavior:Win32/PrivilegeEscalation.*!ml | |Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | |Credential Access |Behavior:Win32/CredentialAccess.*!ml | |Discovery |Behavior:Win32/Discovery.*!ml | From ad52b5ba04630a5c3f378cbc324fadc6d0d369e0 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:43:37 -0700 Subject: [PATCH 240/393] Update behavioral-blocking-containment.md --- .../microsoft-defender-atp/behavioral-blocking-containment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index 4674bfe5e4..b958bd17db 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -50,9 +50,9 @@ The following image shows an example of an alert that was triggered by behaviora - **On-client, policy-driven [attack surface reduction rules](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction)** Predefined common attack behaviors are prevented from executing, according to your attack surface reduction rules. When such behaviors attempt to execute, they can be seen in the Microsoft Defender Security Center [https://securitycenter.windows.com](https://securitycenter.windows.com) as informational alerts. (Attack surface reduction rules are not enabled by default; you configure your policies in the Microsoft Defender Security Center.) -- **Client behavioral blocking** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) +- **[Client behavioral blocking](client-behavioral-blocking.md)** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) -- **Feedback-loop blocking** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) +- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) - **[Endpoint detection and response (EDR) in block mode](edr-in-block-mode.md)** Malicious artifacts or behaviors that are observed through post-breach protection are blocked and contained. EDR in block mode works even if Windows Defender Antivirus is not the primary antivirus solution. (EDR in block mode, currently in preview, is not enabled by default; you turn it on in the Microsoft Defender Security Center.) From 911d85031e2b7a9ac4fd3436b972793b8515d2d8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:51:23 -0700 Subject: [PATCH 241/393] Update behavioral-blocking-containment.md --- .../microsoft-defender-atp/behavioral-blocking-containment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index b958bd17db..9ab72ae669 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -52,7 +52,7 @@ The following image shows an example of an alert that was triggered by behaviora - **[Client behavioral blocking](client-behavioral-blocking.md)** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) -- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) +- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) - **[Endpoint detection and response (EDR) in block mode](edr-in-block-mode.md)** Malicious artifacts or behaviors that are observed through post-breach protection are blocked and contained. EDR in block mode works even if Windows Defender Antivirus is not the primary antivirus solution. (EDR in block mode, currently in preview, is not enabled by default; you turn it on in the Microsoft Defender Security Center.) From d8408eb6d5bbd6bea5fbca2e9759abecaa90db92 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:35:37 -0700 Subject: [PATCH 242/393] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 516fc24bd9..a1ea0e814d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -36,7 +36,7 @@ Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can detect suspicious behavior, malicious code, fileless and in-memory attacks, and more on a device. When suspicious behaviors are detected, Microsoft Defender Antivirus monitors and sends those suspicious behaviors and their process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. -Whenever a suspicious behavior is detected, an alert is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). +Whenever a suspicious behavior is detected, an [alert](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/alerts-queue) is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). Client behavioral blocking is effective because it not only helps prevent an attack from starting, it can help stop an attack that has begun executing. And, with [feedback-loop blocking](feedback-loop-blocking.md) (another capability of behavioral blocking and containment), attacks are prevented on other devices in your organization. From 171c4139ad3036ec7c0accc75b1d2f0671779618 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:38:52 -0700 Subject: [PATCH 243/393] Update client-behavioral-blocking.md --- .../client-behavioral-blocking.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index a1ea0e814d..317b858f36 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -48,12 +48,12 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Tactic | Detection threat name | |----|----| |Initial Access | Behavior:Win32/InitialAccess.*!ml | -|Execution |Behavior:Win32/Execution.*!ml | -|Persistence |Behavior:Win32/Persistence.*!ml | -|Privilege Escalation |Behavior:Win32/PrivilegeEscalation.*!ml | -|Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | -|Credential Access |Behavior:Win32/CredentialAccess.*!ml | -|Discovery |Behavior:Win32/Discovery.*!ml | +|Execution | Behavior:Win32/Execution.*!ml | +|Persistence | Behavior:Win32/Persistence.*!ml | +|Privilege Escalation | Behavior:Win32/PrivilegeEscalation.*!ml | +|Defense Evasion | Behavior:Win32/DefenseEvasion.*!ml | +|Credential Access | Behavior:Win32/CredentialAccess.*!ml | +|Discovery | Behavior:Win32/Discovery.*!ml | |Lateral Movement | Behavior:Win32/LateralMovement.*!ml | |Collection | Behavior:Win32/Collection.*!ml | |Command and Control | Behavior:Win32/CommandAndControl.*!ml | From 3f294f04fac84ce0093cf2e094310ac6790ec376 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:41:16 -0700 Subject: [PATCH 244/393] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 264351e391..d4be39d220 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -30,7 +30,7 @@ Feedback-loop blocking, also referred to as rapid protection, is a component of ## How feedback-loop blocking works -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. Checking and classifying artifacts happens quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. From 41e8463d7402ad2bf686a9bf44223a306ca0f930 Mon Sep 17 00:00:00 2001 From: Joyce Y <47188252+mypil@users.noreply.github.com> Date: Fri, 22 May 2020 17:56:26 -0300 Subject: [PATCH 245/393] Fixed typo in line 85 symlinkevalution = symlinkevaluation Resolves #6786 --- .../security-policy-settings/create-symbolic-links.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/security-policy-settings/create-symbolic-links.md b/windows/security/threat-protection/security-policy-settings/create-symbolic-links.md index e361acf1d9..c07cb74837 100644 --- a/windows/security/threat-protection/security-policy-settings/create-symbolic-links.md +++ b/windows/security/threat-protection/security-policy-settings/create-symbolic-links.md @@ -82,7 +82,7 @@ When a local setting is greyed out, it indicates that a GPO currently controls t ### Command-line tools -This setting can be used in conjunction with a symbolic link file system setting that can be manipulated with the command-line tool to control the kinds of symlinks that are allowed on the device. For more info, type **fsutil behavior set symlinkevalution /?** at the command prompt. +This setting can be used in conjunction with a symbolic link file system setting that can be manipulated with the command-line tool to control the kinds of symlinks that are allowed on the device. For more info, type **fsutil behavior set symlinkevaluation /?** at the command prompt. ## Security considerations From 4e10d4aee243de726ddaeae08819d5b7bdfd3f1d Mon Sep 17 00:00:00 2001 From: jaimeo Date: Fri, 22 May 2020 14:11:33 -0700 Subject: [PATCH 246/393] added almost all of Aria's material --- .../update/waas-manage-updates-wufb.md | 95 ++++++++++++---- .../update/waas-wufb-group-policy.md | 105 +++++++++++++++--- 2 files changed, 162 insertions(+), 38 deletions(-) diff --git a/windows/deployment/update/waas-manage-updates-wufb.md b/windows/deployment/update/waas-manage-updates-wufb.md index 00a9090853..3b51b43808 100644 --- a/windows/deployment/update/waas-manage-updates-wufb.md +++ b/windows/deployment/update/waas-manage-updates-wufb.md @@ -24,14 +24,16 @@ Windows Update for Business is a free service that is available for all premium > **Looking for consumer information?** See [Windows Update: FAQ](https://support.microsoft.com/help/12373/windows-update-faq) - Windows Update for Business enables IT administrators to keep the Windows 10 devices in their organization always up to date with the latest security defenses and Windows features by directly connecting these systems to Windows Update service. You can use Group Policy or Mobile Device Management (MDM) solutions such as Microsoft Intune to configure the Windows Update for Business settings that control how and when Windows 10 devices are updated. Specifically, Windows Update for Business allows for control over update offerings and experiences to allow for reliability and performance testing on a subset of devices before deploying updates across the organization as well as a positive update experience for those in your organization. -## What can I do with Windows Update for Business +## What can I do with Windows Update for Business? + +Windows Update for Business enables commercial customers to manage which Windows Updates are received when as well as the experience a device has when it receives them. + +You can control Windows Update for Business policies by using either Mobile Device Management (MDM) tools such as Microsoft Intune or Group Policy management tools such as local group policy or the Group Policy Management Console (GPMC), as well as a variety of other non-Microsoft management tools. MDMs use Configuration Service Provider (CSP) policies instead of Group Policy. Intune additionally uses Cloud Policies. Not all policies are available in all formats (CSP, Group Policy, or Cloud policy). -Windows Update for Business enables commercial customers {not sure this is well defined... Do you mean *enterprise* customers?} to manage which Windows Updates are received when as well as the experience a device has when it receives them. ### Manage deployment of Windows Updates By using Windows Update for Business, you can control which types of Windows Updates are offered to devices in your ecosystem, when updates are applied, and deployment to devices in your organization in waves. @@ -49,6 +51,75 @@ Windows Update for Business provides management policies for several types of up - **Microsoft product updates**: These are updates for other Microsoft products, such as Office. Product updates are off by default. You can turn them on by using Windows Update for Business policies. +## Offering +You can control when updates are applied, for example by deferring when an update is installed on a device or by pausing updates for a certain period. + +### Manage when updates are offered +You can defer or pause the installation of updates for a set period of time. + +#### Enroll in pre-release updates + +The branch readiness level enables administrators to specify which channel of feature updates they want to receive. Today there are branch readiness level options for both pre-release and released updates: + +- Windows Insider Program for Business (for pre-release updates) + - Windows Insider Fast + - Windows Insider Slow + - Windows Insider Release Preview +- Semi-annual Channel (for released updates) + +Prior to Windows 10, version 1903, there are two channels for released updates: Semi-annual Channel and Semi-annual Channel (Targeted). Deferral days are calculated against the release date of the chosen channel. Starting with Windows 10, version 1903 there is only the one release channel: Semi-annual Channel. All deferral days are calculated against a release’s Semi-annual Channel release date. For exact release dates, see [Windows Release Information](https://docs.microsoft.com/windows/release-information/). You can set the branch readiness level by using the **Select when Preview Builds and Feature Updates are Received** policy. To use this policy to manage pre-release builds, first enable preview builds by using the **Manage preview Builds** policy. + +#### Defer an update + +A Windows Update for Business administrator can defer the installation of both feature and quality updates from deploying to devices within a bounded range of time from when those updates are first made available on the Windows Update service. You can use this deferral to allow time to validate deployments as they are pushed to devices. Deferrals work by allowing you to specify the number of days after an update is released before it is offered to a device. That is, if you set a feature update deferral period of 365 days, the device will not install a feature update that has been released for less than 365 days. To defer feature updates use the **Select when Preview Builds and Feature Updates are Received** policy. + + +|Category |Maximum deferral period | +|---------|---------| +|Feature updates | 365 days | +|Quality updates | 30 days | +|Non-deferrable | none | + + + +#### Pause an update + +If you discover a problem while deploying a feature or quality update, the IT administrator can pause the update for 35 days from a specified start date to prevent other devices from installing it until the issue is mitigated. +If you pause a feature update, quality updates are still offered to devices to ensure they stay secure. The pause period for both feature and quality updates is calculated from a start date that you set. + +To pause feature updates use the **Select when Preview Builds and Feature Updates are Received** policy and to pause quality updates use the **Select when Quality Updates are Received** policy. For more information, see [Pause feature updates](waas-configure-wufb.md#pause-feature-updates) and [Pause quality updates](waas-configure-wufb.md#pause-quality-updates). + +Built in benefits: +When updating from Windows Update you get the added benefits of built in compatibility checks to prevent against a poor update experience for your device as well as a check to prevent repeated rollbacks. + +### Recommendations + +For the best experience with Windows Update, follow these guidelines: + +- Use devices for at least 6 hours per month, including at least 2 hours of continuous use. +- Keep devices regularly charged. Plugging in devices overnight enables them to automatically update outside of active hours. +- Make sure that devices have at least 10 GB of free space. +- Give devices unobstructed access to the Windows Update service. + +### Manage the end-user experience when receiving Windows Updates + +Windows Update for Business provides controls to help meet your organization’s security standards as well as provide a great end-user experience. We do this by enabling you to set automatic updates at times that work well for those in your organization and set deadlines for quality and feature updates. Because Windows Update includes built-in intelligence, it's usually better to use fewer controls to manage the end-user experience. + +#### Recommended experience settings + +Features like the smart busy check (which ensure updates don't happen when a user is signed in) and active hours help provide the best experience for end users while keeping devices more secure and up to date. Follow these steps: + +1. Automatically download, install and restart (default if no restart policies are set up or enabled) +2. Use the default notifications +3. Set update deadlines + +##### Setting deadlines + +A compliance deadline policy (released in June 2019) enables you to set separate deadlines and grace periods for feature and quality updates. + +This policy enables you to specify the number of days from an update's publication date that it must be installed on the device. The policy also includes a configurable grace period that specifies the number of days from when the update is installed on the device until the device is forced to restart. This is extremely beneficial in a vacation scenario as it allows, for example, users who have been away to have a bit of time before being forced to restart their devices when they return from vacation. + @@ -144,22 +215,6 @@ For more information about Update Compliance, see [Monitor Windows Updates using | ![done](images/checklistdone.png) | [Optimize update delivery for Windows 10 updates](waas-optimize-windows-10-updates.md) | | ![done](images/checklistdone.png) | Deploy updates using Windows Update for Business (this topic)
or [Deploy Windows 10 updates using Windows Server Update Services](waas-manage-updates-wsus.md)
or [Deploy Windows 10 updates using Microsoft Endpoint Configuration Manager](waas-manage-updates-configuration-manager.md) | -## Related topics -- [Update Windows 10 in the enterprise](index.md) -- [Overview of Windows as a service](waas-overview.md) -- [Prepare servicing strategy for Windows 10 updates](waas-servicing-strategy-windows-10-updates.md) -- [Build deployment rings for Windows 10 updates](waas-deployment-rings-windows-10-updates.md) -- [Assign devices to servicing channels for Windows 10 updates](waas-servicing-channels-windows-10-updates.md) -- [Optimize update delivery for Windows 10 updates](waas-optimize-windows-10-updates.md) -- [Configure Delivery Optimization for Windows 10 updates](waas-delivery-optimization.md) -- [Configure BranchCache for Windows 10 updates](waas-branchcache.md) -- [Deploy updates for Windows 10 Mobile Enterprise and Windows 10 IoT Mobile](waas-mobile-updates.md) -- [Configure Windows Update for Business](waas-configure-wufb.md) -- [Integrate Windows Update for Business with management solutions](waas-integrate-wufb.md) -- [Walkthrough: use Group Policy to configure Windows Update for Business](waas-wufb-group-policy.md) -- [Walkthrough: use Intune to configure Windows Update for Business](https://docs.microsoft.com/intune/windows-update-for-business-configure) -- [Deploy Windows 10 updates using Windows Server Update Services](waas-manage-updates-wsus.md) -- [Deploy Windows 10 updates using Microsoft Endpoint Configuration Manager](waas-manage-updates-configuration-manager.md) -- [Manage device restarts after updates](waas-restart.md) + diff --git a/windows/deployment/update/waas-wufb-group-policy.md b/windows/deployment/update/waas-wufb-group-policy.md index e571a94f62..c6bb44d753 100644 --- a/windows/deployment/update/waas-wufb-group-policy.md +++ b/windows/deployment/update/waas-wufb-group-policy.md @@ -1,5 +1,5 @@ --- -title: Configure Windows Update for Business via Group Policy (Windows 10) +title: Configure Windows Update for Business with Group Policy description: Walkthrough demonstrating how to configure Windows Update for Business settings, using Group Policy. ms.prod: w10 ms.mktglfcycl: manage @@ -27,7 +27,7 @@ You can use Group Policy through the Group Policy Management Console (GPMC) to c An IT administrator can set policies for Windows Update for Business by using Group Policy, or they can be set locally (per device). All of the relevant policies are under the path **Computer configuration > Administrative Templates > Windows Components > Windows Update**. -To manage updates with Windows Update for Business as described in this topic, you should prepare with these steps, if you haven't already: +To manage updates with Windows Update for Business as described in this article, you should prepare with these steps, if you haven't already: - Create Active Directory security groups that align with the deployment rings you use to phase deployment of updates. See [Build deployment rings for Windows 10 updates](waas-deployment-rings-windows-10-updates.md) to learn more about deployment rings in Windows 10. - Allow access to the Windows Update service. @@ -49,27 +49,34 @@ Follow these steps on a device running the Remote Server Administration Tools or 6. In the Group Policy Management Editor, go to **Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Update**. You are now ready to start assigning policies to this ring (group) of devices. -## Offering +## Manage Windows Update offerings You can control when updates are applied, for example by deferring when an update is installed on a device or by pausing updates for a certain period of time. -### Manage which updates are offered +### Determine which updates you want offered to your devices -Windows Update for Business offers you the ability to turn on or off both driver and Microsoft product updates. +Both Windows 10 feature and quality updates are automatically offered to devices that are connected to Windows Update using Windows Update for Business policies. However, you can choose whether you want the devices to additionally receive other Microsoft Updates or drivers that are applicable to that device. -- Drivers (on/off): **Computer configuration > Administrative Templates > Windows Components > Windows Update > Do not include drivers with Windows Updates** -- Microsoft product updates (on/off): **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Configure Automatic Updates > Install updates for other Microsoft products** +To enable Microsoft Updates use the Group Policy Management Console go to **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Configure Automatic Updates** and select **Install updates for other Microsoft products**. -We recommend that you allow the driver policy to allow drivers to updated on devices (the default), but you can turn this setting off if you prefer to manage drivers manually. We also recommend that you leave the "Microsoft product updates" setting on. +Drivers are automatically enabled because they are beneficial to device systems. We recommend that you allow the driver policy to allow drivers to updated on devices (the default), but you can turn this setting off if you prefer to manage drivers manually. If you want to disable driver updates for some reason, use the Group Policy Management Console to go to **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Do not include drivers with Windows Updates** and enable the policy. -### Manage when updates are offered -You can defer or pause the installation of updates for a set period of time. + We also recommend that you allow Microsoft product updates as discussed previously. -#### Defer or pause an update +### Set when devices receive feature and quality updates -A Windows Update for Business administrator can defer or pause updates and preview builds. You can defer features updates for up to 365 days. You can pause feature or quality updates for up to 35 days from a given start date that you specify. +#### I want to receive pre-release versions of the next feature update -- Defer or pause a feature update: **Computer configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Select when Preview Builds and Feature Updates are Received** +1. Ensure that you are enrolled in the Windows Insider Program for Business. This is a completely free program available to commercial customers to aid them in their validation of feature updates before they are released. Joining the program enables you to receive updates prior to their release as well as receive emails and content related to what is coming in the next updates. +2. Use Group Policy Management Console to go to: C**omputer Configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Manage preview builds** and set the policy to **Enable preview builds** for any of test devices you want to install pre-release builds. +3. Use Group Policy Management Console to go to **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Select when Preview Builds and Feature Updates are received**. In the **Options** pane, use the pulldown menu to select one of the preview builds. We recomment **Windows Insider Program Slow** for commercial customers using pre-release builds for validation. +4. Select **OK**. + +#### I want to manage which released feature update my devices receive + +A Windows Update for Business administrator can defer or pause updates. You can defer feature updates for up to 365 days and defer quality updates for up to 30 days. Deferring simply means that you will not receive the update until it has been released for at least the number of deferral days you specified (offer date = release date + deferral date). You can pause feature or quality updates for up to 35 days from a given start date that you specify. + +- To defer or pause a feature update: **Computer configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Select when Preview Builds and Feature Updates are Received** - Defer or pause a quality update: **Computer configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Select when Quality Updates are Received** #### Example @@ -106,18 +113,80 @@ Now all devices are paused from updating for 35 days. When the pause is removed, -#### Set branch readiness level for feature updates -This policy only applies to feature updates. To enable preview builds for devices in your organization, set the "Enable preview builds" policy and then use the "Select when preview builds and feature updates are received" policy. +#### I want to stay on a specific version -We recommend that you set up a ring to receive preview builds by joining the Windows Insider Program for Business. By having a ring of devices receiving "pre-release slow" builds and learning about commercial pre-release features, you can ensure that any issues you have with the release are fixed before it is ever released and far before you broadly deploy. +If you need a device to stay on a version beyond the point when deferrals on the next version would elapse or if you need to skip a version (for example, update fall release to fall release) use the **Select the target Feature Update version** setting instead of using the **Specify when Preview Builds and Feature Updates are received** setting for feature update deferrals. When you use this policy, specify the version that you want your device(s) to use. If you don't update this before the device reaches end of service, the device will automatically be updated once it is 60 days past end of service for its edition. -- Enable preview builds: **Computer configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Manage Preview Builds** +### Manage how users experience updates +#### I want to manage when devices download, install, and restart after updates +We recommended that you allow to update automatically--this is the default behavior. If you don't set an automatic update policy, the device will attempt to download, install, and restart at the best times for the user by using built-in intelligence such as intelligent active hours and smart busy check. -- Set branch readiness level: **Computer configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business > Select when Preview Builds and Feature Updates are Received** +For more granular control, you can set the maximum period of active hours the user can set with **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Specify active hours range for auto restart**. +It's best to refrain from setting the active hours policy because it's enabled by default when automatic updates are not disabled and provides a better experience when users can set their own active hours. If you do want to set active hours, use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Turn off auto-restart for updates during active hours**. + +To update outside of the active hours, you don't need to set any additional settings: simply don't disable automatic restarts. For even more granular control, consider using automatic updates to schedule the install time, day, or week. To do this, use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Configure Automatic Updates** and select **Auto download and schedule the install**. You can customize this setting to accommodate the time that you want the update to be installed for your devices. + +When you set these policies, installation happens automatically at the specified time and the device will restart 15 minutes after installation is complete (unless it's interrupted by the user). + +#### I want to keep devices secure and compliant with update deadlines + +We recommend that you use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Specify deadline for automatic updates and restarts** for feature and quality updates to ensure that devices stay secure on Windows 10, version 1709 and later. This works by enabling you to specify the number of days that can elapse after an update is offered to a device before it must be installed. Also you can set the number of days that can elapse after a pending restart before the user is forced to restart. + +This policies also offers an option to opt out of automatic restarts until a deadline is reached by presenting an "engaged restart experience" until the deadline has actually expired. At that point the device will automatically schedule a restart regardles of active hours. + +These notifications are what the user sees depending on the settings you choose: + +When **Specify deadlines for automatic updates and restarts** is set (For Windows 10, version 1709 and later): + + - **While restart is pending, before the deadline occurs:** + + - For the first few days, the user receives a toast notification + + - After this period, the user receives this dialog: + + ![The notification users get for an impending restart prior to deadline](images/wufb-update-deadline-warning.png) + + - If the user scheduled a restart, or if an auto restart is scheduled, 15 minutes before the scheduled time the user is receives this notification that the restart is about to occur: + + ![The notification users get for an impending restart 15 minutes prior to restart](images/wufb-restart-imminent-warning.png) + + - **If the restart is still pending after the deadline passes:** + + - Within 12 hours before the deadline passes, the user receives this notification that the deadline is approaching: + + ![The notification users get for an approaching restart deadline](images/wufb-pastdeadline-restart-warning.png) + + - Once the deadline has passed, the user is forced to restart to keep their devices in compliance and receives this notification: + + ![The notification users get for an imminent restart after the deadline](images/wufb-pastdeadline-restartnow.png) + +#### I want to manage the notifications a user sees + +There are additional settings that affect the notifications. + +We recommend that you use the default notifications as they aim to provide the best user experience while adjusting for the compliance policies that you have set. If you do have further needs that are not met by the default notification settings, you can use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Display options for update notifications** with these values: + +**0** (default) – Use the default Windows Update notifications +**1** – Turn off all notifications, excluding restart warnings +**2** – Turn off all notifications, including restart warnings + +> [!NOTE] +> Option **2** creates a poor experience for personal devices; it's only recommended for kiosk devices where automatic restarts have been disabled. + +Still more options are available in **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Configure auto-restart restart warning notifications schedule for updates**. This setting allows you to specify the period for auto-restart warning reminder notifications (from 2-24 hours; 4 hours is the default) before the update and to specify the period for auto-restart imminent warning notifications (15-60 minutes is the default). We recommend using the default notifications. + +#### I want to manage the update settings a user can access + +Every Windows device provides users with a variety of controls they can use to manage Windows Updates. They can access these controls by Search to find Windows Updates or by going selecting **Updates and Security** in **Settings**. We provide the ability to disable a variety of these controls that are accessible to users. + +Users with access to update pause settings can prevent both feature and quality updates for 7 days. You can prevent users from pausing updates through the Windows Update settings page by using **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Remove access to “Pause updates**. +When you disable this setting, users will see **Some settings are managed by your organization** and the update pause settings are greyed out. + +If you use Windows Server Update Server (WSUS), you can prevent users from scanning Windows Update. To do this, use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Remove access to use all Windows Update features**. From a52c8cb592cf4db75013ed1b4a1e74d1ad9bd2b8 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 22 May 2020 14:41:46 -0700 Subject: [PATCH 247/393] update --- .../whats-new/whats-new-windows-10-version-2004.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/windows/whats-new/whats-new-windows-10-version-2004.md b/windows/whats-new/whats-new-windows-10-version-2004.md index 1eaad88327..1dd333ae06 100644 --- a/windows/whats-new/whats-new-windows-10-version-2004.md +++ b/windows/whats-new/whats-new-windows-10-version-2004.md @@ -175,14 +175,11 @@ Several enhancements to the Windows 10 user interface are implemented in this re [Cortana](https://www.microsoft.com/cortana) has been updated and enhanced in Windows 10, version 2004: - Productivity: chat-based UI gives you the ability to [interact with Cortana using typed or spoken natural language queries](https://support.microsoft.com/help/4557165) to easily get information across Microsoft 365 and stay on track. Productivity focused capabilities such as finding people profiles, checking schedules, joining meetings, and adding to lists in Microsoft To Do are currently available to English speakers in the US. - - In the coming months, with regular app updates through the Microsoft Store, we’ll enhance this experience to support wake word invocation and enable listening when you say “Cortana”, offer more productivity capabilities such as surfacing relevant emails and documents to help you prepare for meetings, and expand supported capabilities for international users. -- Security: tightened access to Cortana so that you must be securely logged in with your work or school account or your Microsoft account before using Cortana. Because of this tightened access, some consumer skills including music, connected home, and third-party skills will no longer be available. Additionally, users can [get cloud-based assistance services that meet Office 365’s enterprise-level privacy, security, and compliance promises](https://docs.microsoft.com/microsoft-365/admin/misc/cortana-integration?view=o365-worldwide) as set out in the Online Services Terms -- Move the Cortana window: drag the Cortana window to a more convenient location on your desktop + - In the coming months, with regular app updates through the Microsoft Store, we’ll enhance this experience to support wake word invocation and enable listening when you say “Cortana,” offer more productivity capabilities such as surfacing relevant emails and documents to help you prepare for meetings, and expand supported capabilities for international users. +- Security: tightened access to Cortana so that you must be securely logged in with your work or school account or your Microsoft account before using Cortana. Because of this tightened access, some consumer skills including music, connected home, and third-party skills will no longer be available. Additionally, users [get cloud-based assistance services that meet Office 365’s enterprise-level privacy, security, and compliance promises](https://docs.microsoft.com/microsoft-365/admin/misc/cortana-integration?view=o365-worldwide) as set out in the Online Services Terms. +- Move the Cortana window: drag the Cortana window to a more convenient location on your desktop. -Also see: -- [Cortana in Windows 10, version 2004 and later](https://docs.microsoft.com/windows/configuration/cortana-at-work/cortana-at-work-overview#cortana-in-windows-10-version-2004-and-later). -- [Cortana in the upcoming Windows 10 release](https://blogs.windows.com/windowsexperience/2020/02/28/cortana-in-the-upcoming-windows-10-release-focused-on-your-productivity-with-enhanced-security-and-privacy/). -- Cortana in the [Microsoft 365 blog](https://www.microsoft.com/microsoft-365/blog/?s=cortana). +For updated information, see the [Microsoft 365 blog](https://aka.ms/CortanaUpdatesMay2020). ### Windows Search From 8d084ea88888e2187590b5226ca37a5623fe8cf8 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Fri, 22 May 2020 14:52:18 -0700 Subject: [PATCH 248/393] Corrected list, indentation, and code block --- .../microsoft-defender-atp/run-detection-test.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md index 624f4aaf34..b3955f8794 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md +++ b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md @@ -33,17 +33,17 @@ Run the following PowerShell script on a newly onboarded machine to verify that 1. Create a folder: 'C:\test-MDATP-test'. 2. Open an elevated command-line prompt on the machine and run the script: - a. Go to **Start** and type **cmd**. + 1. Go to **Start** and type **cmd**. - b. Right-click **Command Prompt** and select **Run as administrator**. + 1. Right-click **Command Prompt** and select **Run as administrator**. - ![Window Start menu pointing to Run as administrator](images/run-as-admin.png) + ![Window Start menu pointing to Run as administrator](images/run-as-admin.png) 3. At the prompt, copy and run the following command: - ``` - powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' - ``` + ```powershell + powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' + ``` The Command Prompt window will close automatically. If successful, the detection test will be marked as completed and a new alert will appear in the portal for the onboarded machine in approximately 10 minutes. From 28a81362bffc836452b8ef5d355d78cd7a038fbd Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 15:05:55 -0700 Subject: [PATCH 249/393] remove from toc fix redirect --- .openpublishing.redirection.json | 2 +- windows/security/threat-protection/TOC.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 863e6b22b7..bf51ddcd42 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1353,7 +1353,7 @@ }, { "source_path": "windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md", -"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-siem", "redirect_document_id": false }, { diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 75641809bf..50032d076f 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -573,7 +573,6 @@ ##### [Understand threat intelligence concepts](microsoft-defender-atp/threat-indicator-concepts.md) ##### [Learn about different ways to pull detections](microsoft-defender-atp/configure-siem.md) ##### [Enable SIEM integration](microsoft-defender-atp/enable-siem-integration.md) -##### [Configure Splunk to pull detections](microsoft-defender-atp/configure-splunk.md) ##### [Configure Micro Focus ArcSight to pull detections](microsoft-defender-atp/configure-arcsight.md) ##### [Microsoft Defender ATP detection fields](microsoft-defender-atp/api-portal-mapping.md) ##### [Pull detections using SIEM REST API](microsoft-defender-atp/pull-alerts-using-rest-api.md) From 73ff781a3c6e503aeddc7ace4453ffc1306430a2 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 15:09:46 -0700 Subject: [PATCH 250/393] fix bullet --- .../microsoft-defender-atp/configure-siem.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md index 0d95a0d4e0..d5f2d69d6c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md @@ -27,10 +27,10 @@ ms.topic: article ## Pull detections using security information and events management (SIEM) tools ->[!Note] +>[!NOTE] >- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. ->-The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). +>- The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). Microsoft Defender ATP supports security information and event management (SIEM) tools to pull detections. Microsoft Defender ATP exposes alerts through an HTTPS endpoint hosted in Azure. The endpoint can be configured to pull detections from your enterprise tenant in Azure Active Directory (AAD) using the OAuth 2.0 authentication protocol for an AAD application that represents the specific SIEM connector installed in your environment. From 983eb6ac27ae58148451f2556e6eccb9bae9cd9a Mon Sep 17 00:00:00 2001 From: jaimeo Date: Fri, 22 May 2020 15:21:16 -0700 Subject: [PATCH 251/393] commented out older stuff --- windows/deployment/update/waas-manage-updates-wufb.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/waas-manage-updates-wufb.md b/windows/deployment/update/waas-manage-updates-wufb.md index 3b51b43808..341590ebf0 100644 --- a/windows/deployment/update/waas-manage-updates-wufb.md +++ b/windows/deployment/update/waas-manage-updates-wufb.md @@ -123,7 +123,7 @@ This policy enables you to specify the number of days from an update's publicati -{ORIGINAL CONTENT BELOW THIS LINE; PRESERVING FOR REFERENCE------------------------------------------------------------------------------} +7#KC{6lV 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

985MZ% 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%0A}n3o7;al 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 diff --git a/windows/client-management/mdm/images/provisioning-csp-supl-dmandcp.png b/windows/client-management/mdm/images/provisioning-csp-supl-dmandcp.png index 498ce66f47b80f30efb9850dcc72d27a7ea75fed..f123d980739d6c1b63b8f1449b23182827a47723 100644 GIT binary patch literal 92190 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

    Added the following new policies in Windows 10, version 2004:

    FtXa zs&$=tz2+|nDizpb=OngRn$_H!{3Z+cY)2uds*wL~-FGe@VJ|Sj2^gng>U2s0%>e3j zQt~VLNOVbFr-h9>4pTA`56HBYVOTP+4jVx2n*H#_njxp_)GDAJ3HBF;-$3T;cCnR$ixK#QA^`*FFCD$ z0viCs!qUdwx?F{wXom&%Xqk9|4IHf1ajh3X+3Q}J;G%Vd{-4ar3(z%sb*Ujkv0e_Q zb!w-9{kCJK4xj{1AG{donqF5|>kxVQQ2Q@Bc)RsJ?RHImwVoMR>NgYWFNUeeeKCDr z&jk%9T2qW1rmCt9+gKNJ>F-Hy={nn z=b(=3lO5Ool&GYb5;mEvt{wu>w>bZw{_5xzBhP)<967Hj8y%hQL^oRymUGJaT{Dc_ z7m6+LWM(675##!X`(zCqEPE}92PJz%)ADmzBrN|&#!1W#e8u&W%hY7~19 zDRLAdw3=tWw3NG!=WR1gTgPw2FOBviJQdW8z&VN7tthWiDv`wP1M=?!(pEF!-=&AMY45d10&IPjkk zt~bX@J!xCk>eSpxDMq4hOThRAUk9d?^!eaH;HtZ3Y7*j!^#T(O)aU+nQC`vgQ6K_e;?k zwwlsOx9}szUFJ6?4bB?xY};Ir`M3Pq#rb~FF2W3?qVy{bP&+O<98U{QGNe&8hJ}Nj z&KC(Z%Q8<&)PXBjirR$}7Y`z|0KUQidbg`o&f+L)d_(XDAkHEIQ=3%mps11~Z${UU zilprNPQi*h-pHqvMl{Ur*R|u^-}44!`KEp}c%WavrOa+Ule##;z}|Op+j{79ap9bO zA$#S{N6+|LiQEDt%2&zX#qG@Hr#dwaP}l3jdHcWnSgpTXPoR;?%g4`|x|jLWvCSn= z(m06tUO`~B1)SnGmX2#f-bH`%Jwbon)W|d7j#)8i&p|azUtmJntrVv6m4f=T?wb#6 zE$8|>n#j#HTW62l+l**aRRQra{GN=qyrUyqP3N8Ba|t)q9dS>OS{ zvY-ptwMjK>8H0oz)kqojaWBEyzGfMNG~fv?#UD=?i)-EvodyaWtNU<7>=g&@q6uVa z;Y>N2Z9~FO3ObSP$5JKkKj(&1wEl+4emA}^Hr2McI4`iY(JhOR4Cc!U(tm*6a*fz1 zLqJt(j{o=^T3EDCGd!1NQ|{|po%l3yxX=_BY6A($5%rWfj)gY6rEm7I(x&6fM=f|e zLZD`v$yMhZ$$1090EPP~d3J6Mmm0FuITc7(=k#6OZ#@$*v#t9BKWH<8E9cc}!5~8Y zOp~+OPW-O^NP4{5X|;N;x%*gjvkG+jyS3x#92B3>h8bradH*K5@VL{p4D0U-#2jH? z%S#Y&Ts06(j1Ih}{1tq?sA|SNSh4M1?1tORHVH_c_}O^PXaFG8t93RAV3g?V&d(RJ zzW~kRwWn@BHNAFzOEj(`a#+XtHujuFwG z0RiT;+nBWmnz;Fpr}Y3ib&Jzk3jAf9r;4=Q#DGmlXJfgXFW^Qy;S4l_^uy{T__h|i#oX9@- zi$~z(U9-}Dj~dpE#}4{(smuY@c?OGl2#$jWPCQLDK#h-{1_vb*>c(BPB}OVxW-`wL z_+}2xZ5}6>NA)S+$*rvngB93_RpKK|P^9gQW+D{MI%Kyef?d2)KPbnvM;3chv-=w2 zd%spEV5T$&34@Iq@ba#sw+2G>aZK8GI&+;j{q-EAg|_aj4BD0iO2d?9{vZfmNno?4 zNf-6{;GUs}|61RANepwRCg6fx;j92LO+3MsM2&6!HF^CJrT^lC&z>s==9sry>BQ^) z)OU@f#d~+{AbRQ;2#g*Zt~dFtZnqQ`l05pwV^~ZM>_<{&NHJs7IKR0nHbxw$=@e|= ztWnAdw|!t}WNlr$y`auxI}oi{waV{P0GXgJczRVilXB(Yb8YM)Mb*!&pWZ0PjWmub zTFyiiG3&AZCz|JUyuIzcodTt<7?Gelsj!&tdIPK~7U}yXBxQgm5{+06s2s^9^xBys zw{QOF`F6ZAyzfBAv4G1_?Z}K*AjA72|8?p)=okvjVxy=B-5yy4 z8XB_@bt!25$Us3<)XDuQ^8yUrQ#mHrC3^qr7)YHESB<|5A8d>~m`czAH5tw7h39Bh zR!B&gDqj9sQCQ9U_MbpDHmfz##eT?b(yH?kSuU$IXprhfmDnFAc*7 z!f_|4&1YL}wMMhYvS2^ykc_t;!fyNC7+Sr-k!CmA-YV6_ygBJgNE7s5L{WUt4kjR5 zBQCbZm`7g`q~T+?Un*N!*2#@qw}FD&TkOyL~eK&s?8-4t*RhyFnsxECaV{ocnNUgr`5*SlzP9hP4p%2YvJ3AWliIbMuN`CC zE^}}0V)vDjXEoK`cb?kcA1by;{3v7lpU9utis_3E1F*lOx)*4)2jw$8idz;BGJ=Cq zaL|wL>o)po!qm4E(=$(8#}Yx^9TvN^v?JjHbV2@^;_Ir|=Bw8_t|03eLo;2-z_F)d z9)muXXh?Q#(R-}i`HF@pbQaCavrxmGp_T>|Hr>>>L{=@VWZkI(2%I01b^aUvqZYA@ z|CHMAEX|)XQ0Fpw_oDuYEntr^HS|^Yd&nE$Cv^OZ!nzis78KCb1=K{20JwjQNIo7O zFN@zaxe$WGcTKN5*yeepNM;jD$Vk`4lKe-T(19NFPjOV;aaP|!58d)j*QTLvF1#PE z4L65Wy;I3;CH>OB*BV89^Wkz7)v!6AXbb#b;_JiWtJd z0;LEuUNbvOZ~-~A?nb@@;q<4l?SwjR>1ndMyfFPykri}U>FM)VZkJEhbt=PkXGR`= zM+p8c=jHe8k?|Y7ddJn}aPmlI<*k$yu3I)B&Sn)eq*Mgw%^p?K1P3|T_4E0caQk_5j;u{GM0RF|FfXO z7obd75-J*>2?XF+`K*3Or!y_XPhKo&4@<}aflZYo5VLgIZ$6x{0Pg|j;wE`pQ7$cV zktfu>@Vg>0i;TU6k9z-=RP|72w3DA1^YGRFgj{#6L8QW7g=SI&@y$cWLt1~dpy@i*!vUe8qzh^{otz~7U=eM6@$cSX}hmk)|BYs$^!(bMd4EYChqCJdW$BpwUc9-Y}) zL7RSenO5Or`RgDC^4a=>0|2GEUuo7=_78xd+mPLJUAGcxaAFa({1B)Bzh9x3|9xjf zKc-JkyTZG{Bd7I|TOjeMGIQpJ_w&C%mgS(ARJqh6Zb5T?L|vENuQLmC>Lv^J? z{$DrLn*l-jJwGGh_db2DB14qP*SjQ!RU45Ugr0sA$f*W2%4uXIG&+}>+n}N;oscqN z1?^FJLR^2=djas|Z2J)eVf0A$8%{#*!*eD8E&4J-{<#i^DoWkniV zl90LP+>mVc2i=k(madU;t=VV20zD)Q_kze_Y^MYnh6#lQIC6Ii#+vBs>WF&DxaJ;O zcs~UB`#Nhdy?v1lBGdymXwqePi7W|?Rz%IhSStHFUg(hg7qX*aDH0flQ!&J4w<6Uu zQ9o|SuUo=9En6gzQhY$Wj;%X7oIYaD<1y0Py7vex4>Hr#$Sr6Q2M5<@32yc}Jr8+? z>BW#4G8=~s*I7oIulfQJ{W!haDBz2vs4iX*2Jx1vSS?`sJc#!A1_PkhQ9OiZTS7br zZT;Hv(OS+%_ZOLM zs01;(#dhig$k2HFwQC+K13+ySvG;fN_4DQpm^U$FE|1WM1oI}mIW8SImU;5l0*0~! zpK{(^G)o?^frfB;TRPb?k+fF7+Rcau)#VU|A3e~__X6jOQcV&H&Uvc%C)u33;>J0F<(+1)JQkG0str_GBdyL2JTODX9CT4 z`{b-vlg@CUyRCE)gb;=XPGkt^O ztht7i1P?Zv51XIZqzijhUnQ+F4=Ic7`F!C`$m2fRfN4&bMUwfo@~)dIgc)*eRA!Us zIgm8Fa*tf}Z4bYyN^TbYm{}u%eswOpqfc2a@->Kucr^n*~bp5tzqJz zfik}u`p#Z${cPxjnbST& z+5$^YU`LA{QmfvQK#CH$S_JnLJ>2m3uAQ+YU|AmE5hS{vDpLE?Ds+p}daOrRA*i+^ z*CI$BQzR4h%ZAVY{{9UInWC}7+IXao$3b>g#1OoX9g(YaY2B6MAH*t@)?M0H37K>2 zZsO~rChL~+sygZaR>pHO7u07(G-~P5}0A;hn<=Dj(eSqcQwL$vRmA2b!zgY4^|9*tsFFbw@>IAfW z^3@acu*+1=OGE0q-dv4#{@LAYXM?F#_>CL`qOub;YmW8zK&Jr%_{?fr%pof0BbT85c}EvcS14u$;;-k$wMn4v;Q1D5x&66 z{ff|)S8Z?AOUKNg@1E9$iL>=c?Yn2_f?3<~o-dgqm8-SraAK~jaO|~*pX$8yDmcBw zG#No5iwIP+5!5qRRtcVVLuQ^N$VP-_i>%$75b{dIixusBLO^`ca1a&I%8RIuYV?9z zONl?1&&lJCncSWi49q2DO&gS&9r}=3GNBTwRryIH(FL07enm6-V|piAzknsnmbQBp zGjc&ed)uHZB1;-stZY*h$=_A@U?)@T9c0TPSh}#BXH-o`9yKit^Sf>jM0CWk9NRib z7x?cNP&mT`ZjV>oN=C%uXfD3#rZ75&GW!$FI34qYj1ruMFYGJWChUrTz=h0{F79qm zd6740!(+`_mXkbQ9)d@s5=vVK5<0rh99kjORzgQaBW-rW355dK<-YdDoFxShDyqKp zY>+Z4bK4yM>ND1SN`&qsdtsVW$4qI?u*i?-9!A9_ENBbiWNSn~>HGy5m2kP&%B9K4NxU{cMSE~8BaHh_b!R;ti+MgY?tCL>o zWBV}o*XiLx1j}>4dbnFZN{Zk)CTI31%G653s@t4=aB-$tHRdC%WpYCn zXS?_>dsGvqafb|y8-tXDvQoz?VkrF$RK2ht%_a`Jp}K+-W^prsTYTRl z4Q!iZA!ZKA1tOARXWLXso}Mj1Dct=YJX)bxxw^i$&qp_!Z;awWDi2xD5T|wB5xk>w z-Q+ITgvv_jd~wZeR)X8&fI~<$8eV+liT6lia|+VvMv_A54JQxpU=MEvRgJDNN463? zSOsRE8G;{C==m-xl0B1VeR3}i-w9WIax3!|Z$yhh3d)TEHQt1WrMAnYjHlRN5dNBK zI3GEgw_tonFZB9?rgpb)3{|^c)D=?gj$n%HP)sVBTSTV#`AbW+1*8pY=DZ8gm(fz? zmWA-g=HKT|2aN@f^RwqVnem!1f8pa%TLtuIexA9jROwQX5$Lw$qUJ?GX1At!je|dP~@|cPK&i9wy=&Xl=do_M5T|R*QQ4ovdnM`MFml*?Nx`AK?hJz_%xG*u>d%vbO)yE6Z??+YxBq8N%aOR|9kv}| z9@Cx1GuYg*uXc_R68Q_-H7+48m_?u`_o`!Xu#Voib^CAIu#-PsvMLKWNaB47wz15x zKe^tL7C)4NLCC9i#m-NGQemgl zKmuNb4E*>gX41q+{0P}f{?t^MQNGZf`!8?tlk&p^9`DDmtJ1*5r1x2>(<4>CGWTfy zbRWF{?Pr@GB0P$a>6a?>lrHYID^;O@J%sH?q>nw$h3tRohpkm{g{1fP^6!Y8;I*|m zSLTaYShrSz<<1W2-G0pS4zAqT;}3R`TOEBNSc;P3*?9a!cxvnpzxJfTlh#xq10C{5 zY;(v)#{%aUn1!a&PgzgJgb)>G1r62RCEe;Sa?S`rhf>ex@!YlFj45;n@^&%(@N9SW z31@FT)K_U09LsKQC3n2ENb@QKoQD8pr*93j&p9>@q?MO zxT_%Q!Y2-;WnVFxzxUF_#3;DRkZhvs{cKpf;2RKX-FTj0Y~=i%e%*KAj`NA*+8Zrj zV4`B$cH$51_xHgy>OnmZ8fXe)A0zK?D5?kr&K(^>rV;rZ^w`PQ*2oK6L45G#qHg&z z3dd+;9A;-f3# zI#z4g-3OXSi)f^T=KBW};{UA&UkQ>Hb0BDL8;T1NbL_1WRMB^Bg{?f#^6y0d?(hyB zAnigw9$av4a~F0(O8<6bE;ho5%LQd#Mvj&jr^~tACv!vg2?7^1yE0Rme9^ zVNoR(ZOq&0lzW?1B{KjwDz(mJH|<;=#4+j25L$NFJxp`|bS^8GGf z3Y0$(1H0(i7rZyO*=DM9ti~|})#2mny8?Euz;7qnM~)PF0N+BgwP>oQX%?SuoO3ip z$GzbfntkH9Z~5_pU>}bF-~8gDPK!s#S1nX|>pz~U|2Fj|VpMqmHZmXZ&^n#BubNb< zWia-fZ|!IGru1IZ^j9+XwS^QuuggENTc6^sW0F?N?ESj^gM0NNi0_=;W$x^x1o!pS zaFhBkY@i_BiC|^~(7@;Htv}S&GS48+gyZeKivLs@998a8x-s0^I1z&~bFnq;Y~#4P zg^*Zpy(m z66kk)hP=qSjtVzzl}ImGAs)h$r2*eet*nS;9Pj5CO7=K#D{g?dVwjs^rr8u-;aYaXSKLrX?DQ6ixz6I(r};WMrN=7!4bN%UJX3e%E1ea zgt~a2(ts~lk^Pm=ibwuh#tX=0>p7d&jqK$je^ z$=LbWI*&LKqp5}N^y;IYYYHkXALhr^pMy@MYJ0TtE^$+K!bWX;7*jioKTKqL`BR*d zVuJg|fen?1h=@MzV$FMs?EYQP5t+Zi!hx7wVNQRogEbi+q-`+M#qTuaSB^%^>0Qea zrnb84{7j<-jlCEqTa(Z;+e%SY)+_gmHFWXqsl5O_2?FQC;)(Qsjz7MT{as2v~?tYmkhj^!E=K@6~y5&TJ(RqMsH3b+U@W^3&22az%v$m3z`9D>B=?2x`5+o zW&c@rI4H1hFw0$C0cHUK@Su8@B)KPAHKgPX04)iwM!|kkA9(i{$xN_L+c5Oj4!q2I z%+i(!Jcx_YX#Ah+Se<3J1IVm#!C{<%n}REGQ&dK)(o{7HQy|GHsx_hNCrrjR>+$kqHvsTvsl?8@!=D@L72xy(s7kUT$hval{e@C>Q%Ivj z0Sf@~u)_j#onNh2l3cN0HfRRaIbV#TMRL@eLD7@Q#vRfSYqYS~-%X*kC;z!_LW(LN ziatcxK$62ox5-%G0T`}`2qW9S+pF6cAc#81js-pX4}S{sA>8)Yxl$XZx@4UX{inYI zVpY}7-X*>bfX*2AcX%BVAR#M2y_5aX(!SIh_d?=R21vB{kXQq#{?>LNh-HsWlC^|6 zP{RkysxMN#Q?DwH-r<4Z|1G<+A9Z-tsh+Ynx1hh(OIe~*&q2kL`toHn46bgnAFOnN z+Mn&UqtFO-YnrSYwJR6TH~};k{2$O~e=6&*>b!9oK4)W>xgpD!_@Uy~(nS3pjM;;idod ztGI$4h5MnRL7=DZY&@WvS~`^m{u@gZyl06k1-*F96pjZqj&~=5Jo&F?b!{9*?jw~l zkn@?rM5wbQF@}xq0%b3M6EP29rJfc(imzt z>}OXTu%tx*a`PvK4brUCo&JIcPQAGUs85}1*mwGe|!Uf<0NCgkT z(_@iOY?jUY-AcHc4w-USAkSkb)5&wL7|ufG9KO4yo+>W5er@lNXqd zddM%8Xx@_@n&BXmHe9>!#vz>P`nD*3t@eJ8I_3&&EzSb!*8CSJ^8Ygyv;JEg29MVU zu?t{wTuDRg{V`tT$#e3j@7^t4sk~<+$UIyfOu$`wc{y%svW6+u0fY~`3V?7qDVAZ{%M z)8&JR?G+t}dYME5OiZFhE)2C;9z>MuYHJs^b~C}CXbWn8^Ai7iHLz`S9l?BRj6Fim=UP1Nw0p^*Z1T-+n|0a1McJOXFu0+ZC(!`bc&8mlz6aAo8`eQDnr zt___*K8Sx`1;N|Q%uGdnmZ(oYO*!?>dAMlU3z0?|zpO00pXu9pyK0?fR-NHvWp=== zB#bfxp%H~}bZ*}ZZG9UZZ9O$cgD>^6*SQZ2Ei;MG+dUx=l?y`+6}@^fkP=Pg&1WK5 ziAh(z&OKajlP$@+jTCyQ&QJCy^*%Lxy%-Xo`!l6JlQMEHb9UqHf3I)ISpX>H=M@tP zzVQC+0-&%*^uO7Rj zcUaWB7zG!cqO1$lF3Ge7hefdC=rK6f_xrsgYOffXeQ!Rd6!b<|+q!UIl#f*0PkEy! zC5PREP3o4^!Py=?KzlJWX)*wco6H^$B{g()&TAWEWT0Ne{0$vMhfg;*n z3a_;TOUtzhnUrSATkl$CF)M;1+_WvHBm94FvuTadO2?>*_F;7vYO<^2;xgpC&V{a@ z8i0sOHMguMG?A&cvjrs9g!Z4p42&q;E&=B#kz$h{OiDEP2Prnsv-)khn(DeGpdilw znGPEd)|R1IkRk}%;b4}L!PMrQbl84={eqS#Y{}SF>bO14CA6OH))JCo-J+kMcA%z> ze+?^VOT^o+X|D=w_6G7T86p?+)IHI*Tkt5~RR7>hshR{B%|P$J>aGz{+mrtrg^5Lx z=f5l!c)6!au0$tL0l+oTo0)a)&IjEVMvE;^d5$m?_obMLCn$qvM&;l(p^e%m$cT-> zCT4U=YpMUB6Jglqaq=JFOW*F|_Ml@wU%aeqwxyu@Q$tHga?U`3z(tU&+1yoTlqH?C z!%LS{zH0-eM%PUkOjwZXLuR?=rn#j(8ExJ=jSWlNukF{<3(^9hEHy=X+K z6YEV{MuSbMN54EbW~XP%aS?=SJ3aEpPak}I-`VWJf7fTrWT~M8%jr%$l*xjGsgHV4 zu1;#PvT)AU#HxhNt)m!KtZlzcQwY-1XJJrtl#x#|N%G}$b+r(bL@0FI?9q&wPcrqw z7V9_%l|=99VAJQMABxW@)DcVi)~jQ7V#FUXR{2onFbv{xRQ zr}fUGXYQh_B0jl(DHMpMxf7eLEUi3J19{vHuo9scI}3L=>eXwIE)#uym|(_%LkZ|S(5v}2P-^f+?&`jB{Wl=T zmWVX9K$KzSE?jYYi%?teJsJ+@b^U&rIlAHXQZ*ir|5%MDk#x44)EA}wr6UjMBk7fS zOB`Qz#Y*cr#I29=3~gRuq{y%Zgm}s~|5H-+RM+fSxT>6@-QfRo@wKZ1x>IPqQh{9G zmbSRtB~mw-NEX-`k z0IQ{vL^Vku@p^mSfwdHZJqG|2+u-8r4pMIj zbYr5Y0$?&zCKjABPb25JQ=aza(r?fwpxwnWf7Xm}T;ysq2AHp3hZx@8vZ(14JCEe~qC?@+P0Pr*NJ|$>Y;*2y;7xrxwIJwdbQ2a+(G2EGg)P!FFx=C|j&; zl63>|50`4lwMU<k>c0DQ)hOAcV%JYB3izLVC-8XUrqa+Fn84zi-GY$&hN z9-dw|b&KvE<;^#c1%pT+GiFroGYU>NWz9juWS$=kEgT6;Q1sC37|`+18c-WtJqg~v z+iW>NX|-@j_i=q00J6p5pdjMjy+Pv>TpHSKNCz#LVjhIENWme41q}9Zp&3FWd05{J zdU^Xga{FnFyaOIA%4<~LhGH#}4$5Z~ile}iR>-`BmT zhuic1@HcBYQ%?b2+342goaLm==`1SO0@_y-b<+t(Sm^jcA?Jk#dU}LuPEN9!ojMCB z$br@iM1!cYob~hQ?65ZH&2BRbuLufoJ1fBVNeIZHKbhhI<6zx@Zx-`r$RvN^6hlhS z!w)mQG0|h}@s93qdLr!-WSiDnV)usVKqd}TnZ-2wfd_Q!+B!z_X9g&JY+5bw92l`4^#LEZc7r-eu)|;E>&rY{{0ztUD zkW<~B6_(Gek>BoGn`<`QWG_Xr{bb%=c})&4#7nQd@e3J&yj8J)A8KqP1Lf7nAVdJj z+%A{NmFVDYmS;;0&4I~|hCZ15mfXLFaV-A@O2Ggux#*^m&rJ^E6{*vWijz?x=v=)GLnH zz-~#v(L#>xA6T%UWFpXy(Xrxs@q`U6+U2oF6$i9Re$Ye$gWy*eD z-5W#wS9ho_ZoZ#k^Csju&AyD{PQ5?s*fJVPg)r-7Nb+gg>;*^FP8{TQ z*R2YJy*BTbKLhL*p=>Ar#!7?SK2X1FCF!c=Z6GDQbO3@G#QYZce0yyN@Oz7h)(MLw~@>q`O`3Y z6fqVI2hb>cFKB#d%-^?56&weX0AhTn)9XF*pihVV?=>dO=P`ml@B@zFB9Ej44zV7c zU!F;=K>F%onLQ+*Bm>AkfxdtgGFh1_Pq*s;PwJ_tm$s=IH@PQ$qAY6|UQ^4j0a)r9 zJUFD73FSU%wkU0Gm}xd=T~%xVx{U!E^MwjP{le-620X|9_37U$?k1?RHYt`pVYEdK zP*jM2Jv_12nO8eI5MzW!susw@V*+^9CBw;~4m#c-~O+yP=lEV2v(3m{K>uK z*bPcD^714glGpp$H%t00OaC`$Fg*c0Hn)0J;A5+X(k2uBs#MnICFtxE39c8bJ3n5@ zS{U`~TYHEFU?B@=84A}=9@PM~U9F_o^wn1+L$=}%11EY1mQh>`@JC%R)M}?8#%X)7 ziHX;?^lF!Emne*o#w)gXe!BX$?ANh7G|>Q51X}0ds$VPLnAjr;V_1p2pE2qzjNDzQ zKy@dmry_J!4dj=nrq*@EUW#s?(Etv)sKu3_f-dQ>aLukhVZMPR8YU6nyxF-bjdH97 z2#zs)$1Dh+20MVz$C8x8Y!eQI4CovS0zwkX$Oj6#tl3D`Z(CM$arU_EO2_yD?@+dN zshY41=y!Q-m(%7o&a#1E@}!IMekYB7=s>8n&FowoX}|P}n$58mpc|15DqO`c3#jSM z&rZ&ps58}YyOqe0N2izNdAH*0OpFTfK&vH%sP;D$(%K3rCx=43v^iS~*JNmb+>=B) z;_ao(<7|-ImtzB@)AA%56W!oMuP%8ZYis-YvXmY8WJ9Pc(D9ZCWGEUy<*n05G z7$8Y*E1tHE-g0hP#%+&_q*e;Xx2{;H;8IMi*HFt#psJVY`DyLid|+!k*CW`SJm6#Q%eXF`2q2*isD z!C#G`#lpWm-5G~Ts=2{ebdlBWn3j|c%WzT}$h2J;dU*xc``P0q@i@seUMvYVSjlzS zA)2^EmH>(=$>|u$2iXFF=k?!2B^sfAp?CJkTQwLbs|VWm;Q*ro^b^QDYya0kTYeZ+ z1@ntG3QKc>K(##G%CKP-4GnVCTwibd6EF?qBC5ZnDA>~-&61*EC(e=;G;I~xKm)4y zR!;?(k1{JVQlR_5s~#b{7rJ(MnV%YLSHnTrm_Lsj`qnmdzMt)Uf6>OJM5-S2{;U z*AZA3Fkq?QEtSRzf`FTmD6DbtV6NeO+dwx}OujRC0SZi$om?j%a+M;R7A0)+wt6}o zT+5A(u`Noy-rMEdbv3v%YHKVjPq`Dw1gCbr^3s1=g)>qbczb(8w9e!?t4{zQvsqk! zMC`Uj{G0TrpHx0?SH^V&Aes+38^P<8e!OVKhrWFUpBzRQK|}ls2SxX?<|_^~PvvT+ zjKR2)ZUORiH8nN8p8;Sk^8ae?yW^T%wzcE-Y}pKTq7)U87C=Ej5^2(F6r>n1NR!@#fYbn?g|u%Xf}C^i`F-bn_kQ2r~tqN76ER$32}0r?Mywl0|a#Si8`o_tVFjL4h4GGXUP)jAnxs5kmjAJjyv4wc)B z(({%`V_$$y0Om3(;0xr?jJt2*5KoCQWO5m~QVdb+zd(5Sz}ZXt|AmW8L83MoepPNY zHV+IjV6^*>iiYXC7=-bY-#PrW%>Sff*h_w^{+P&R4h!CuHM+c2CC&xjLCIV9ipAHv zFt8Jf;8)yOF05s>T$qj;ryb27EQA~nKv(`ZNXE2??n#1cbbeqta_GbU;f)+ht;cZe z5w3z&x=>E{>>8xg01Xci#Sa2cPSgMVLEveo_lk&wbH4~!&0_drP;5cz>NT=9O~rMg za*~Ux65ti|UWz*KG3yMC9JeFu5G6M$G1})#Dd&_9f%LA~y9hX-CgTCLh--`Q-Ql0o z2VJ|bOlAZX6hRbL69gbYm*0jo^vuP0~`^h6c-d>+pvJH^4q;)cVBYN z)QpYY7Ecq`KI`u%GR}WKYXfUQ;&MH zB)2k075<1VlG8JR->EE7!SkIZNxZhPJl$QV*iBwbjUS^TsDve!7A+e&E$FfXcn7jSbao4IkuQO%(>} z@D-#}AO;W&sZQq7QS0TEPdn*N{a^~%!WOA6iP)iW+ z$(&kYuYtQokm(=gasCBdb`?4bScAXUtr>7#P4fWj9b}K>8kn`jKxxv~fz~chw z(*vU534qd#P9bPW-zi;RO)LK+V0I@33tDG`0w%%S1Ji2;>M(gv zZau(8^>W;squ{{3a@Kwkq~iCrSG~e+iVJR9OvEEVI3n4OpKrms#Yk;)9DMTWW}Bb* z?q8wsYPgyzSURjJv8E*v|1{YoAcph$lr?qJCGO20i-W)QK9U8MYe6AiMLshe;kio8 z(dK>jgVu)w2H!c#zRf>rKg`RVcV<0E?RSoXf0Z>E;-7sA zvVPCSkNE~>@Md?>038>P`A=B044B)Rcd(+&Se?6B+hu-%+}8pGZ&w?7UtvEX^2$p; zg-JM4=led-$K1UH{b?nl*6d5yCB&2s>s!DzySB+CPH8%y+1qqe+~TBb7S^wz6lApo zM8E-yGl$*sd)=vulRqYT5(L}OD~tIvS1QtmAo$)-z1X9pTms?bt*MTldQcTko9{3F zT!u$DZn%`vC%^w{mw@i!jBt0FW++E0pLk!f-KRxqXw<5WE#AOc%51BGk~( zkYj+Fn++^C+y9u@$qU5J1#nmYYm>2D3t#nyQg)ngtaE^_mD;(gWkAYIv-v(SRbgB% z!CCsmpi^gJNp9V6R7k>+OnwI#C`#w}y8$VXTL37sI?%SURc(W){Po{XMcI4r8HWZ{ z17JS)P0xNzb#^j`qwC+vM`@@?!-Adm*ex5nxg{iJHJuAGdBk}ZY@9kAF@_{S6b`CY zp*Z``Etgg~k0BsC6(pz7eq;_UC%kjq-#mIn9yx$A#7KVQ5 z0A&boa_ZR$T?DBxhW;DqJlATUK~$asp0d=h&vNtfJOJl>Sa^7?{6Bn%7p@8D`U2xf6o{d^PQcOI^_y0gFwRPZvfxCKf#j!tpt=LgtZ3P7cct!y( zSrjAJ@GM>*g<87+HuTP|Wk|u-B0pM?ChvbYC7SVeWA+Ny>-|4IwF*8}8*Pi7!Q4^) zu?#?@;fHGf=YQj5qk#Iopq6Z$qMP2kf=c=!Q!}$*Hz5e*fEZ9-kbxp6Cr6!K)=JaT zuQ)MR4@%DZvKBCY^VLD2oetn}a0TB+NDZ;lOr8x43|w~j1p)!YB#)m1gNr~QYz-Ns z;)yg?BYP-Oovy-_z>>0?c49Ho_!xx(1W^5C$SvOg%;!yzJ7>X!+iMzdiodI{zswpo z2I|fxgd*%J-Z99HtO0UMZKI7+x3j`f91jHYS^`Li=QObxIq~I|8)KZk+({Vk+^0CA zO|sEo*QWLPxwyN_RrSmt%)MvC7N6cvC6B|o{yHv#> zc(4nA!FpCI=fPTQ`m6|ZxX@RD5GvtbL2Y2lBq*njKp>h{K)dZl3`spbJ)nzYN~wR+ zNODVr6LZ{J=9?gzQk;(ooI!X^h1x(fiAD;Tl}QTLhbr%QY76Af3a1Tp3Kl^LW42Mb zd=v^oJ6mYoLm2njA-*At-@(YZ!N@>K4l`3zFWUTU!Y60DMIY8TaRPIt?kM<~4gC!Q zY2|DSfJ%iVK$)W&{x2Nme7!~o0)z8aP@MYP#eV+6e(o$%SA4KQc$N*EG4Kd>IJHuD zE=Gg)wJt!YoeweNyqFxJRU#b{q0!SC`1LR?QpNGwIMGn+VbDa0Ih#Hi%@uCh$!gy_ zO~a4!VSQ1@Dz<}3G6#lGdqKj{-F+5_ZqfNF-;y8(*K1$!`VdWjG*LNPMr-b9VL-i~ zN^IWf<{-9sJ!*N`>X{?E=vBKNs((<(LGGEhQ=_HQvnf+ zzBR3MZ0u4a&#w^3Bu6of65&ps9>(f90rMY4;=(e!RNd1ONE3dY&swsiT@vAM6ZNca zQj|{`P@jRq2|(t1IbXuUO-xLzHJDC~sYoFQyxkk0u*`9l%}?OyiGkTr=Kb+_IA5$YbAFzvG;0c8VC7(Vv{RRVELU4E zTIMlax#GQ~g+r7_;tMTeXEa#2adB~v*lrLAWDgwl1iCP5sqfO+l8z(>)7y6j87>^7 zH_WPLIaiPb0Q0(>hWldWdtJxTCvb)HL@-IpV3J7Mltu>Ix}+I#s8#q=<9Qi1o0iRQ z-i|#yppqI9eYJ!yW1P_hO6v;k4+Wj(&Hm;4*RJvfPK{>o>dm#XN*=2dQ~Ar20LSjM zi_`7ymBULd?4u1J3sIEZvw#%_cU1Df#_d?`;p9t)TyLl0>tJN@sY*e!1zIqde)qQ$ z(`ln~=twPMaVcl*C8DdMo@|C_`d@%%7lM428XMLmpHD&Ngq$~5j7AJHB2(tEq{C=f zgf3bGb(j?9VL7$@o^iCXROQh#1PbvjP{W%Nfco0K9W;tI;GN6}4%TPa%J3~XTeaVq zyY^JK-!y{a8o~5HC!tCvE;3Hfh90fOxJjNxMZ(`k99&Ypfp*i9{vh*CStSwkgm%`_ z`n5$1Z49q(NkFSr2m!$jij&{6hRZ*(8=H-@?ZVR0V5wag<)fpQfM4j86!4 zv0J>sG0q`a_vf4z|B&F4e4Cv;gKv>xHR+>E9V5D zij|o(Y8E>=)^5>*V=xIy3;MwR&$@6P0I8OdCE$T9J;JvOM{~8Pz-SHRE22||fJqGn zd+mJSIt<+^Ji%;?0qZA{$#De=ko zfR89Vk%`B6(YUe_(F^5#eK~Tx5Xd3GiI@2Z&;#_v`&W-2KYMNXu|Tx zaL&TLPs1m&TpGil#wS*+ob`%e%(Ze4Zj@Vgd*eTZx+z)BDf11XQRMC~5A0Z}r9Lv4EJy%>29;OYnU zBRJ%x$BSMG+BMt(yfz$G)J$9-J%DP6R^|J<( zDa^@c>&8SO|D}E*W_QBWNyDhII$7FXBek2U<@&n9*E~U`_6d*4fLxl_(TET0a$wRO zH9!VuBsGi0vQUe2O5NQOX*Z{KL;0qSJWFz^Zg`e)3grDS|v7h9JKJS9pHtm!7XPF|JRLU*8i!zB(&3 zTy3pjbBz2!WqzAUFy~}tO+|@ux=;t^aIMVZ{Wwq)^$X>*tjW#4eLx+0SmO{*%_<55 zSQFiY_#L%M_;QueGn0&uqWecLC@g>~?;A9g3D-f-4IQ5lS0#;dr(rkiYj_P`0%|;dI{|p-`7wQB!=rz< zD*i{7;>Jde-HG1pDsF-@lChjV8UhX;)=dNW$jrVgZf@=khUK9lu-oqjR;>px znV>`t$Bz8(`3-cu7(LWw;n;t?Cc3u~FzP&DYy1Y$H0Bs4V=TOnJ`i6U#vUawIz{&U zuQ!~N?*&zTM@i=GIyzR~<8`xBSqMib^w-J204~K$L!HEYF)K~f%rKc7c!!WlC(5*U&b8pA8)2GID%H|>iCZay@v?98O1WHM1c23}O z&kx(do=qF_CZ;>ErZEZ6;5(xG=1xRPRULjT2s_JdeJyc#3poFL?YnlbNV8RIa^1NC_9 zTyP!VAA?!;Ny2HpP?r7hxh=lLqal)9kPG^en}@X{MFr{%aacX!#fi92#%uwrz>rD7 zuS-t|f$P0Df*yS8y`eYTKdNqM%3hR_Vi4=#*s7|7W})PJS9tPjSde&)=yN`HAdbK2&?gJTW!P)>WgU?@l3fe&P_ zWU>D;vy-q~Ei;Ze1%ViVMrfBTIreOLb-Vz#|IYcR0q1{bIkN+X27zq59$okUK`4uI+$96PW{a8v=8j;yrS=SzJVFP{{i?ziecUm73vsbrtGzmSWF11&*(*dQRw zb#bB9MG+PN>$bG&59$>bnRf8>y##*)Ct*Ve`G$w8(98yn$0E`{RgZLW>(SBPDyEMG z`K5J`hO1&zg5x2NBjx7@aON`<*Cer(x`f6k?QMN7BB{PfB^M;AA0!>GWj?%aM#d`c zzlc7dVfj<5u@O5=NabQntjN28(3z4zXB_eCM-TX5J2 z$DuP!&BG6WDmud8ya`Dcb-Rgvz}hwvAvAq*uarrw-f)SNSl{VL#JF<^OY?qc)?nJX zwZ)!7gi2`Rv27#0o+7ScN90zPpE@P_1YH|s-X`FV-a!w2RzH*yw_$Hn0f1|1#8 z4t9tgqb)x?l}Y(RzGLsnR}H;4tB;54VMAj?E`U}0PGVL6#qB-Ff(pVWq)&>L!V}`r zCsWQ8PTWjDH>;Ab6I6^KOx~0?yQU|IFT4+3qP`%%b}{q%cA3~}H$9#V!%R!DlHUtd z;1fdMvX1DNs^5jP<5qGif}q$NPGOUuE$!5hZM4>3i9MFPw!-rIKiO0!K~-DN_qyY- zrev(b{va6N{wn+P`)wT7XM;_{^ae?e7P9BH2=t6ZOJ&SryuJ-B7vA-&UvJa=^pI)( z{t2nvCEc?^mtumM$!Y>ZC0656ZqC|4E0QH#p<8SgGf(v%2Y0mvzt}Bm2aVsW`c0I4 z&PzK>IvrDLXqd0lIQ3N9R4GU_cVFhjyyWP!&OI#6-Dy{l`pjNyr=R_pZNv!TuqSEB z>>TttW4%#!9{Rq)~WXu;=tH{y(&F*yAyxg!8EdYH77ASC!ge0n(btF8&00px zE;e!PDX&{!rGMw9{L34OV-E13Y+lOZZ{?0lo+58lnw1(nxfT*0@%fiEz1}fZFloh4 z)?R8zrcO@%-uwK7Y}eVaHd$_I+d)ARTCf)|_#+&WFZfl8_W$bpaoyf~PtIP9u^d;7 zncQCUWzg6)D|4bhwYBWlEBELr-Vu7>;LE7U6SJ=RJ}~#9X}fS=%Dy~47wsK=-Fsb* z-;8MQ_&Bd#E3?{!qcK!JHuT_ZcN}6r{i5&P^)}Msdc@mgLC2Y*h{ry6)jF)j-!xCa zwDtvcPQU0xjJ*t3+-IEBySp5(-ZK_H)nsfl> z;#kqWK!j3-#U6H<Z@O3Q#7U4tzJggaAm0~E?YU2xilL_mdR>UPa zU47#oJ;B=r)YIom@|D9~E={GCHjbl?&b(D^ZQ}i%>IT+2^E>gM2BX6CTV?AxV$=KN zlsD@|iVMvt41b1_QP^ni_F6$}Z$^DB4{BPR=HEKh+JD+9!KB*=Vi$VGv<9YFwv$dt zy_EQCkhLk1$J1gtQ`5KjQkK1fqAPb4W#buW0k0Jlv= za~!t;2NwaP!kCL9FvRbq0R)4-!sh-3@)$UpI@nj>Z6F6Qt9TFuxgLDSTb%y^G0mlb z7eF3x5J5U8?sf3L`7tmi)}RQ6)!wat?(Fl?ToFG4OW-e%1G@mI0{BKR=Ma5m3WlLr z5dJv$_Bf@Vkj4IW6XXK$hQmkwBdPgr81j(5`i|{pd;Z&?B)~e@$ZouG9yz_(e`#iU zxtb~2$J)Ik)1N)v1NEC)Hzef^l8*UOyWfRROnA}d9FVy(yjQLl_F8VUc0nNhMLd1| zisCw@B6d2K9xV;HT}fZ~)RQ7r=U}xB*~gWWN8BpnBg04UU36Xe)Az9-9y>CM(U=>| zoc1ISi=YRB*c$3o_R9^6{A@|}`}w=$(#Z`}V<@am(g%gu@1i01Y1b60o4&AEVHqmW z>6+A=@boq<=4G9G*Na_0&6(|9OA8J#A{-fuMpX21mRg2CL8GCvICgdK!pG#=xNT+k7y_T^!iJ z6l#9Q!*WkXejlufXi9o%78IoL2Srjm#Cxnl)IZWN)ivGvE59Q=3qGDW^^M0E3VCPo zg0np`=inQwQEnwN!Zx#ZC9utbc^N5a@55((lTX%6|K6`to^qC*yS3-v8{WL{CexVR z_i_(=utL>?J{<2_!qlG6T)rr4EPpxSqf4$u&b}<`zl!QF>e_`GTRjPJc~d)+P$^{pYKJ2<&N46kFU5|Sv$*<&dBN&ExtbD zT~HO;NUICK)lpoiwnC#|p3VMN749%nr7X5K5m_)Za;wnUoUS(_I0F{cJZ$&PuAr6K zqqd>FlL(~`ADU4R;T~gArxwn5#)=bm(v2o)@V))mi`2`}D3`5mmN3da z-*cL#qlKc+1o|2b5FdhTi6J^S)ijt%FS|M{wQn56NjkC`MpH{N<;E#<&)fv#b2|Cd zLi(8@fUw=RaOQb#O^iCb>X64`dh_0?9YGVk#w2gG!SZnAZ7pNRf+6vP+t34A>aoRq z6Zh8rIBP%#^^!=N(qJ}G&=cZOBno4!pG9}`lQU0KQ_JP9F3J7Ydq3An@qFn5=2W9o zO95Z}nR_X29!29*w(|S4oE0a6^d2=$e=aV!XFa;WpB47z-9&#P^7ZR+Lm}zbddnq> zTCnGXAe`fio?^t|wi?fw+eOLk@)~VZP}q`KTUL#n$@S?o;Y*liOJtbu^5EDsb>96v z3A4=a)!lIWWMZRN(JWM?xGA-def%`4V1n75ICEQxqp>BNjV&{Xy@EL%8F7L@6SsNz z+)2No=d}Cfiy>}_T^ScCzX!zo##djpSGiz{7Wwj#KT<1x7FMgTw6EBDRA2gKy{{wA z-aE2SNZDQJa>i8Q5*bq}W$cz{-;TVFt2$85y5=#|6C@nZ;2)7xb~UuPx0Ikxx@xya zlJ& zkG*L(yN>#()a|)@*3Z|mryg_NY1vk>qw)I zO3n_Jh~_~R+8&hzJJf$rif5%P-%<(<7L3D_(!5DZO|)>54zMQx>*pJ%zHNoYKtEsLeMHSB-~OXbY4BlX4g8aaplTnyIVL<2fpm?(n85s; z%niMjshsf{I&^kaL)OU4t-PDe*RGpZ5sdpNDVp2MlKGwaE__OLZV|DLA$a?~5i0UkadftNPu-NoH>CRX0t$^d}UnSqXR^+)e}4=ykTsu!~@Oks-h zA3DtQtZEkpnwgSmX6M?grpL)X6srZA#-vJ`qGgcAG!BNkQjPGkqn=GTgFI0|qU3Ek zhbzXhRf_^rp&o9J7mH@=0;+Vev`HhGiNoiCy>34-YrNA;8MdIbu(g(sRUfUQYUorB znpQ_w*N|MJlzKYCQIW@u@*A)IQsvB78trMy(Rd=qPLxkdieD<+*7-&xR^Bl`cB-fS zc3s=DZZK`l`&N+t(yaX;>DWk#)DI98v?HjCl{CLD6 z;^4&e;MWOBE=rHSYz2u=CQ?h)ats398>0Ax3qWegTVR>HM9@^(e z^@L8#P|I_XDF|bhde#V*j?xaqo&;T&Y3@5?6qYOHSmbnmrBrQn@Gz!qLTKFjFxu|P z@oqaS9i_W-K`+(tgQONW4T*Jk6J|6w zw>tg((!|CX;!f?iS^ek*Kq$VSgW6e4`p-aJGYo1&UxcZ%hDEnO30wz{>F|Fsvia|X z-u^a_s)}&!S5s9-yA#IU%FK~$pW;I*pYa!$%N8j>d}*&h^+V>Y zdugzZ&j=45`>8~Eex;-r{?c+-6Q)Rq_c_enM#+1%r{s1$4?>3>6*7T-RL|OJCNI+O zS{g%(&dj7#x%TSI>A(T1U086TXL_s;wmeiatwrnXQoX8gDh~UtB0P78v?GdN3YW;% zJooS%YudIy)v8%Uf#mrY0U{ZX{YxV3p~pn@*ch%Ge1FfOS>x zI~!@(essdog57xCl&p$Tx0FAAOkG_^+KlsuS7dIViDIvg@$oh(Xz7%{_h{D(;+QTR zf$9!qi|+%W+#jL(-8gJE>)4l^L5o9Cdg< z6@8>_z!bA{TI98IO3qeQtfw1#B|zT@TAP^^Pb2XfJK(X}{?=)Jn$>q7vd=FNb$I#Z zLFjM#xC!~*NAJq5s^HllM;VxzsM5>iS0A&OgZ*emErvzbM~j)`tfbqN%X0ICtv-L@ zZiR2cm^QaJ{^??pp}i<^;>a&wr555(l~>=+8OVxSid#72m~KC_|)ZuMPZcS^Y9H`9cI#t7a5_-4%Oe?`AU2fScl7E}9O?6#PrBW`i zk?msYS&M$V(VC(y=#%lmxY{wR3rayVgsK5d=-{EO)14>31xT+SZM0JuougN}pC0%D zNd>g?1pyRJHlF=f^E$!wt^Sj23zS%Y|A`x7VfIP`AR;)f3Bqd=`+Ajf{ohoYdc1i5 zm#{=ncJpC8wiExGXn3Jlui|33ynJXxuzr5s@~FK0+;Z8uT@B6ihn;SJ=nK|0f?iRt zlQ{;QGeqPL*zC7c`WYw3&7|XP*efIT{fxF7>7MBxuF5w~9I<&Aa*R+vznjgGS5HQv zeNtdB+!tx(FPldETB`b7=!kVrxJ~lr`&%cM&G%2`b+nTD@RUlP4>^BsG{wMi*hqQ zKG^Y&L61Fy5`B5lX`z^N3G-%=W}FV4XmEo`~3SrG4&T}-RnB$(8EP`rMt{LUIezI z4I&YyjPP=QhUP4-futXIsy=%_vPMhT`U>VXXlK+Pv?F^Zd?M~WTZkKneGkhsSaKb+~$!lrb;iB(6cim{eCc zC9zHM@NyYx<<4%0S7GUmx3m4PM9MkGKK*Glo$%Of$aK~_m96!y4%@9MW%%8TrQ_bp zZNH$s5FZ%oQ?9*%sInAm9)W;+Ttt)2UjkaIPcaRYOd?sADte``=ly>PI8*p&u`l9Q zvd=BAO8XVD3voU>QXTR;ZM~i?rX=%ss7p;gtpMXD+ZuhhU8{8s(P!%#%q$7=Pg zT=f@$d+~PTf4#{#6mAUtl#lgN7hjLxaiRyJdDhVoXo%c(gb+ zt&mHOz)zHxY=6C_(}kj}i1V=aIZ~Tt(i#v+T^PJs`blQjJ_~A=!bDKXfg^8yizt2F z2KJLyX)vhEtn5PHS4}FvshIi{yl`3zdSmZ%>uO`izK1tuYToF1WfIf-kim_3V!FuZ zN}j{x*|O7JyG@{mZiE}_RxXQ{Q(K>VJ>T!k!f73_6hU^yX~ALpcLA(Eq= zCy+;jwmxgwaBBDL3R%@~MEKRUU&yWN9?%GCZv<_On0bK>PJ12w&QZH);ikHs;`#E9 z4UhbnpU?s<{edEho_OHbPL6qsB6;y@DATu0gv1kZT_SW3wJ<{r`T5{SQ#j;VlR=35yVpE}>x^WpZug5wgNowxl`X<(Zd_AJ=Q-!4N;>5&qO1KHC^lM5`X@QQJOTCX+ zmz?t?*_P1Vm!bCtdb)eA$hXMGje?3#*3b%rL17E`bkfvQK9#IY)Rldl0O8}c1b_%# z<#P=$2D~ms^2bI=(&wy<^@`ID3wo3W7i#E#l@#BpSQ^*unTVgD_f}Qt7CnB8buzRu zdJSKsSPz6ktMJdCY|z8bSCZEjOK*$n%Vi$mb(jvyBq`!H&)V0dFiuRWvOX8%= zLTyi3w+R=n+4q&66?49M?_$BqxFNN<3f+6_U}bxJ66L|RN6~tb{L0Bk+yhSHFbRDcr8@hU#Qh1S)@%gc-!L6Mub69b=^4?8U*akDa} zE?@YVH7^z6`DZ9ue^iN{XVyb)vLD|6D<-4hq)I#0?E3Mbc+oJyYsaMq#~)stCTW)D zbiVc2;rHIjY~6klsE&zRF4})GMiTub%yAbjKeYOvWwwuIz-v@uU;iG{WA=ls7DObAW~}$k9=Cm*bWODukHuHz-YdO%>ydypIV4SedYA_l`_}1^ z?7*pv=Wkl(1G zF*hAO2VpYtmgLsR%Z3LV{1Lc_oZcE-P}5+^(s9CuEO^V{ zeEpNhH(tN5v)^q5UY){HszC=BQ$p(x+nQkxZS39Nqt}S7D8HR%CS+A~PQTi{dxYn~ z6#8p=)U^ix(ZLF)o^77}YquHi9^-JXX~AokiFx#A7+!HX3v!-l)M##h_0;)4B}XM% z45kgIFJqmSCt7(L^(ve2&(}d0XPL&};IXbr$96t9hQ_N-wkyWrpR6R8L=C@`2qxCp z5-KXDnSAug0u#qhr_`cJguXt)2fg8O2OF!(`lH+Rz{(e+xVk1!iEy&z?i^Z;Mn&oQ zYiOgU{7XwZDb@xc>cBN2;1vXnhx|GsP61RM<8(9YuBE3wTV0IYx3(|IOq&})v;O$G z6iF%k7xg?CRDU{Hqg$Eu#3p*HuTD+l7IMW5|6 z-v8Dt2q+D4vP!=D@B+XH1=j9(yvf<>y#$dpe^`KRuxWN+T^si zdr|!GhxgsEDq4H*`{8m)U1pQYB?}B_cDU}M0%DJK?=-5Mn&^uJdq2J_YUQsx2rE?E z8U;!h;&p8q2IW8ECr!&%Xj3O!#Bz^S?AuYp2?JS1bB?Ml$cO6Pm{IJ-)y;kRv}GX* zV-%=|k?lW5@_od>FXMG=6W_avR$t2UhC0qDw~^vwMN1wXIwa`PPZw@+YH1arX6=T; zpHlmgu^40-QKB&oVWZzmnqPSmY^$Hx_^Zel2j=IokcS~y(><0T$aCA4gG?#v%%Im! z7az-%)8TnWz6-&Gr!B>2#HD{ZowUohmv_GF@xiKVV*94B@9{>)7Yd*Lrn01+IGcPj z29sZx6H%ra*`mSD2_33RkW19kc=P0}Xt=BQ=JoIvbC}H{g!eO#dyN8<1J}Y*`5j68i?=8xr z1>MWs-8_jGNQc)Trh|;9elLkT(#y##g_8T%Nb}wULZAl?|By1o$t{y8vAb{ew4q^xkvle@0-Aus{2?auMVYe$71h2 ze5GdTpQx83rn*DP5{Y;~gVi@ATvsxo8tfUreNEe1ErpoA|8=dE{A8wDcfG&q)ONgC zSD=|>i;xp~2DYJ1!c}Bx$(VF~m5lkrMG3bFQ;k-Ct$cm&w2Pz9Lq)llje8??PRfY$ z2s;JlxWU@ChMso};%sG;C35>+C?!!)Fv#MFHzPAM1}E<#vJ$MxJ8veG8HRn%u##S~ z%}~xY+GY`NiaG++Mso*F@J_5F`9YoG8vFs#`Ga$7TT6&M$oEuT!#J9{k)j9n*D%&) z!~gQH<%_VHqt!T`tHt_+!t}KS5a2Xtt^r*HKh`{)m^|d&qnDg)7KoQDM^7OTnfqX` u0)Y%vgJW3mQ?>_~JFo#2_&Phw-n@LTAa(iRfkT{6E}qjnn|b=`pZ^C4h0`nm diff --git a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md index 703a4ee3cf..8a720f94a0 100644 --- a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md +++ b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md @@ -59,6 +59,7 @@ For details about Microsoft mobile device management protocols for Windows 10 s - [What is dmwappushsvc?](#what-is-dmwappushsvc) - **Change history in MDM documentation** + - [May 2020](#may-2020) - [February 2020](#february-2020) - [January 2020](#january-2020) - [November 2019](#november-2019) @@ -105,11 +106,25 @@ For details about Microsoft mobile device management protocols for Windows 10 s Policy CSP

Z6C>Jl!#os%v?(s;##q|)JXb3ie5PC0qNj_imTx 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�JGUYL-n`A5`rDiBKIo`8u{+YZ0+}Jc3$`z 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 Date: Thu, 21 May 2020 11:05:00 +0500 Subject: [PATCH 183/393] Add files via upload --- .../945c9c5d66797037c3caeaa5c19f135c.png | Bin 0 -> 307390 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png b/windows/security/threat-protection/microsoft-defender-atp/images/945c9c5d66797037c3caeaa5c19f135c.png new file mode 100644 index 0000000000000000000000000000000000000000..50aaff61865d46e308664efe97e274c75aace315 GIT binary patch literal 307390 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�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