From 87178eb9fa89e5a41718659b4343a04ca68f4de6 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 8 Feb 2018 11:24:32 -0800 Subject: [PATCH 001/212] added tabs --- .../windows-defender-application-control.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename windows/security/threat-protection/{ => windows-defender-application-control}/windows-defender-application-control.md (100%) diff --git a/windows/security/threat-protection/windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md similarity index 100% rename from windows/security/threat-protection/windows-defender-application-control.md rename to windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md From 7fff1ed97c94ebd1a3835e1ad334b6d5593c2340 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 8 Feb 2018 11:28:08 -0800 Subject: [PATCH 002/212] added tabs --- ...s-defender-application-control-policies.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md new file mode 100644 index 0000000000..bf81ccab45 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md @@ -0,0 +1,40 @@ +--- +title: Deploy Windows Defender Application Control (WDAC) Policies (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/08/2018 +--- + +# Deploy Windows Defender Application Control Policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + +## Deployment options + +# [Group Policy](#tab/rs1) + +If you use Group Policy, follow these steps. + +# [SCCM](#tab/rs3) + +If you use SCCM, follow these steps. + +# [Intune](#tab/rs4) + +If you use Microsoft Intune, follow these steps. + +--- + +## Another Heading + +placeholder text + + From f77d3347b7fe81b05e62e3cff746902f96c579bd Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 8 Feb 2018 13:08:27 -0800 Subject: [PATCH 003/212] fixed links to wdac --- windows/security/threat-protection/TOC.md | 3 ++- .../threat-protection/change-history-for-threat-protection.md | 2 +- windows/security/threat-protection/index.md | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 6e06c0988e..9a81923ab4 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -269,7 +269,8 @@ #### [Customize Controlled folder access](windows-defender-exploit-guard\customize-controlled-folders-exploit-guard.md) -## [Windows Defender Application Control](windows-defender-application-control.md) +## [Windows Defender Application Control](windows-defender-application-control\windows-defender-application-control.md) +### [Deploy Windows Defender Application Control](windows-defender-application-control\deploy-windows-defender-application-control.md) ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) diff --git a/windows/security/threat-protection/change-history-for-threat-protection.md b/windows/security/threat-protection/change-history-for-threat-protection.md index 9c6c3d0c31..5049a43204 100644 --- a/windows/security/threat-protection/change-history-for-threat-protection.md +++ b/windows/security/threat-protection/change-history-for-threat-protection.md @@ -15,7 +15,7 @@ This topic lists new and updated topics in the [Threat protection](index.md) doc ## January 2018 |New or changed topic |Description | |---------------------|------------| -|[Windows Defender Application Control](windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | +|[Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | ## November 2017 |New or changed topic |Description | diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index eb51bd3da1..5f49f4f7ef 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -19,8 +19,8 @@ Learn more about how to help protect against threats in Windows 10 and Windows |[Windows Defender Advanced Threat Protection](windows-defender-atp/windows-defender-advanced-threat-protection.md)|Provides info about Windows Defender Advanced Threat Protection (Windows Defender ATP), an out-of-the-box Windows enterprise security service that enables enterprise cybersecurity teams to detect and respond to advanced threats on their networks.| |[Windows Defender Antivirus in Windows 10](windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md)|Provides info about Windows Defender Antivirus, a built-in antimalware solution that helps provide security and antimalware management for desktops, portable computers, and servers. Includes a list of system requirements and new features.| |[Windows Defender Application Guard](windows-defender-application-guard/wd-app-guard-overview.md)|Provides info about Windows Defender Application Guard, the hardware-based virtualization solution that helps to isolate a device and operating system from an untrusted browser session.| -|[Windows Defender Application Control](enable-virtualization-based-protection-of-code-integrity.md)|Explains how Windows Defender Application Control restricts the applications that users are allowed to run and the code that runs in the System Core (kernel).| -|[Enable HVCI](windows-defender-application-control.md)|Explains how to enable HVCI to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code.| +|[Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md)|Explains how Windows Defender Application Control restricts the applications that users are allowed to run and the code that runs in the System Core (kernel).| +|[Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md)|Explains how to enable HVCI to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code.| |[Windows Defender Smart​Screen](windows-defender-smartscreen/windows-defender-smartscreen-overview.md) |Learn more about Windows Defender SmartScreen.| |[Mitigate threats by using Windows 10 security features](overview-of-threat-mitigations-in-windows-10.md) |Learn more about mitigating threats in Windows 10.| |[Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) |Use Group Policy to override individual **Process Mitigation Options** settings and help to enforce specific app-related security policies.| From 36619d5c542d7de954d0b61bc954b4e26ee240fa Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 8 Feb 2018 13:28:33 -0800 Subject: [PATCH 004/212] fixed links to wdac --- windows/security/threat-protection/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 9a81923ab4..b24a36c08b 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -270,7 +270,7 @@ ## [Windows Defender Application Control](windows-defender-application-control\windows-defender-application-control.md) -### [Deploy Windows Defender Application Control](windows-defender-application-control\deploy-windows-defender-application-control.md) +### [Deploy WDAC policies](windows-defender-application-control\deploy-windows-defender-application-control-policies.md) ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) From 902bd70c6a5ec9b6a564a76573deb641c99cd7cf Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 8 Feb 2018 13:59:22 -0800 Subject: [PATCH 005/212] added intro --- ...oy-windows-defender-application-control-policies.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md index bf81ccab45..1f3710586e 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md @@ -17,17 +17,21 @@ ms.date: 02/08/2018 - Windows 10 - Windows Server 2016 +## Introduction + +You can deploy WDAC policies using Group Policy, System Center Configuration Manager (SCCM), or Microsoft Intune. + ## Deployment options -# [Group Policy](#tab/rs1) +# [Group Policy](#tab/GP) If you use Group Policy, follow these steps. -# [SCCM](#tab/rs3) +# [SCCM](#tab/SCCM) If you use SCCM, follow these steps. -# [Intune](#tab/rs4) +# [Intune](#tab/Intune) If you use Microsoft Intune, follow these steps. From 9257ad3c5c64b6f1d1a8d135c874d73ad436edf5 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Feb 2018 06:33:20 -0800 Subject: [PATCH 006/212] adding toc to each folder in threat protection --- .../threat-protection/applocker/TOC.md | 91 +++ .../windows-defender-antivirus/TOC.md | 68 ++ .../TOC.md | 3 + .../windows-defender-atp/TOC.md | 173 +++++ .../windows-defender-exploit-guard/TOC.md | 591 ++++++++++++++++++ .../windows-defender-security-center/TOC.md | 11 + 6 files changed, 937 insertions(+) create mode 100644 windows/security/threat-protection/applocker/TOC.md create mode 100644 windows/security/threat-protection/windows-defender-antivirus/TOC.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/TOC.md create mode 100644 windows/security/threat-protection/windows-defender-atp/TOC.md create mode 100644 windows/security/threat-protection/windows-defender-exploit-guard/TOC.md create mode 100644 windows/security/threat-protection/windows-defender-security-center/TOC.md diff --git a/windows/security/threat-protection/applocker/TOC.md b/windows/security/threat-protection/applocker/TOC.md new file mode 100644 index 0000000000..134ea401c4 --- /dev/null +++ b/windows/security/threat-protection/applocker/TOC.md @@ -0,0 +1,91 @@ + +# [AppLocker](applocker-overview.md) + +## [Administer AppLocker](administer-applocker.md) +### [Maintain AppLocker policies](maintain-applocker-policies.md) +### [Edit an AppLocker policy](edit-an-applocker-policy.md) +### [Test and update an AppLocker policy](test-and-update-an-applocker-policy.md) +### [Deploy AppLocker policies by using the enforce rules setting](deploy-applocker-policies-by-using-the-enforce-rules-setting.md) +### [Use the AppLocker Windows PowerShell cmdlets](use-the-applocker-windows-powershell-cmdlets.md) +### [Use AppLocker and Software Restriction Policies in the same domain](use-applocker-and-software-restriction-policies-in-the-same-domain.md) +### [Optimize AppLocker performance](optimize-applocker-performance.md) +### [Monitor app usage with AppLocker](monitor-application-usage-with-applocker.md) +### [Manage packaged apps with AppLocker](manage-packaged-apps-with-applocker.md) +### [Working with AppLocker rules](working-with-applocker-rules.md) +#### [Create a rule that uses a file hash condition](create-a-rule-that-uses-a-file-hash-condition.md) +#### [Create a rule that uses a path condition](create-a-rule-that-uses-a-path-condition.md) +#### [Create a rule that uses a publisher condition](create-a-rule-that-uses-a-publisher-condition.md) +#### [Create AppLocker default rules](create-applocker-default-rules.md) +#### [Add exceptions for an AppLocker rule](configure-exceptions-for-an-applocker-rule.md) +#### [Create a rule for packaged apps](create-a-rule-for-packaged-apps.md) +#### [Delete an AppLocker rule](delete-an-applocker-rule.md) +#### [Edit AppLocker rules](edit-applocker-rules.md) +#### [Enable the DLL rule collection](enable-the-dll-rule-collection.md) +#### [Enforce AppLocker rules](enforce-applocker-rules.md) +#### [Run the Automatically Generate Rules wizard](run-the-automatically-generate-rules-wizard.md) +### [Working with AppLocker policies](working-with-applocker-policies.md) +#### [Configure the Application Identity service](configure-the-application-identity-service.md) +#### [Configure an AppLocker policy for audit only](configure-an-applocker-policy-for-audit-only.md) +#### [Configure an AppLocker policy for enforce rules](configure-an-applocker-policy-for-enforce-rules.md) +#### [Display a custom URL message when users try to run a blocked app](display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) +#### [Export an AppLocker policy from a GPO](export-an-applocker-policy-from-a-gpo.md) +#### [Export an AppLocker policy to an XML file](export-an-applocker-policy-to-an-xml-file.md) +#### [Import an AppLocker policy from another computer](import-an-applocker-policy-from-another-computer.md) +#### [Import an AppLocker policy into a GPO](import-an-applocker-policy-into-a-gpo.md) +#### [Add rules for packaged apps to existing AppLocker rule-set](add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) +#### [Merge AppLocker policies by using Set-ApplockerPolicy](merge-applocker-policies-by-using-set-applockerpolicy.md) +#### [Merge AppLocker policies manually](merge-applocker-policies-manually.md) +#### [Refresh an AppLocker policy](refresh-an-applocker-policy.md) +#### [Test an AppLocker policy by using Test-AppLockerPolicy](test-an-applocker-policy-by-using-test-applockerpolicy.md) +## [AppLocker design guide](applocker-policies-design-guide.md) +### [Understand AppLocker policy design decisions](understand-applocker-policy-design-decisions.md) +### [Determine your application control objectives](determine-your-application-control-objectives.md) +### [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) +#### [Document your app list](document-your-application-list.md) +### [Select the types of rules to create](select-types-of-rules-to-create.md) +#### [Document your AppLocker rules](document-your-applocker-rules.md) +### [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) +#### [Understand AppLocker enforcement settings](understand-applocker-enforcement-settings.md) +#### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) +#### [Document the Group Policy structure and AppLocker rule enforcement](document-group-policy-structure-and-applocker-rule-enforcement.md) +### [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) +#### [Document your application control management processes](document-your-application-control-management-processes.md) +### [Create your AppLocker planning document](create-your-applocker-planning-document.md) +## [AppLocker deployment guide](applocker-policies-deployment-guide.md) +### [Understand the AppLocker policy deployment process](understand-the-applocker-policy-deployment-process.md) +### [Requirements for Deploying AppLocker Policies](requirements-for-deploying-applocker-policies.md) +### [Use Software Restriction Policies and AppLocker policies](using-software-restriction-policies-and-applocker-policies.md) +### [Create Your AppLocker policies](create-your-applocker-policies.md) +#### [Create Your AppLocker rules](create-your-applocker-rules.md) +### [Deploy the AppLocker policy into production](deploy-the-applocker-policy-into-production.md) +#### [Use a reference device to create and maintain AppLocker policies](use-a-reference-computer-to-create-and-maintain-applocker-policies.md) +#### [Determine which apps are digitally signed on a reference device](determine-which-applications-are-digitally-signed-on-a-reference-computer.md) +### [Configure the AppLocker reference device](configure-the-appLocker-reference-device.md) +## [AppLocker technical reference](applocker-technical-reference.md) +### [What Is AppLocker?](what-is-applocker.md) +### [Requirements to use AppLocker](requirements-to-use-applocker.md) +### [AppLocker policy use scenarios](applocker-policy-use-scenarios.md) +### [How AppLocker works](how-applocker-works-techref.md) +#### [Understanding AppLocker rule behavior](understanding-applocker-rule-behavior.md) +#### [Understanding AppLocker rule exceptions](understanding-applocker-rule-exceptions.md) +#### [Understanding AppLocker rule collections](understanding-applocker-rule-collections.md) +#### [Understanding AppLocker allow and deny actions on rules](understanding-applocker-allow-and-deny-actions-on-rules.md) +#### [Understanding AppLocker rule condition types](understanding-applocker-rule-condition-types.md) +##### [Understanding the publisher rule condition in AppLocker](understanding-the-publisher-rule-condition-in-applocker.md) +##### [Understanding the path rule condition in AppLocker](understanding-the-path-rule-condition-in-applocker.md) +##### [Understanding the file hash rule condition in AppLocker](understanding-the-file-hash-rule-condition-in-applocker.md) +#### [Understanding AppLocker default rules](understanding-applocker-default-rules.md) +##### [Executable rules in AppLocker](executable-rules-in-applocker.md) +##### [Windows Installer rules in AppLocker](windows-installer-rules-in-applocker.md) +##### [Script rules in AppLocker](script-rules-in-applocker.md) +##### [DLL rules in AppLocker](dll-rules-in-applocker.md) +##### [Packaged apps and packaged app installer rules in AppLocker](packaged-apps-and-packaged-app-installer-rules-in-applocker.md) +### [AppLocker architecture and components](applocker-architecture-and-components.md) +### [AppLocker processes and interactions](applocker-processes-and-interactions.md) +### [AppLocker functions](applocker-functions.md) +### [Security considerations for AppLocker](security-considerations-for-applocker.md) +### [Tools to Use with AppLocker](tools-to-use-with-applocker.md) +#### [Using Event Viewer with AppLocker](using-event-viewer-with-applocker.md) +### [AppLocker Settings](applocker-settings.md) + + diff --git a/windows/security/threat-protection/windows-defender-antivirus/TOC.md b/windows/security/threat-protection/windows-defender-antivirus/TOC.md new file mode 100644 index 0000000000..d86f08369c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-antivirus/TOC.md @@ -0,0 +1,68 @@ + +# [Windows Defender Antivirus in Windows 10](windows-defender-antivirus-in-windows-10.md) + +## [Windows Defender AV in the Windows Defender Security Center app](windows-defender-security-center-antivirus.md) + +## [Windows Defender AV on Windows Server 2016](windows-defender-antivirus-on-windows-server-2016.md) + +## [Windows Defender Antivirus compatibility](windows-defender-antivirus-compatibility.md) +### [Use limited periodic scanning in Windows Defender AV](limited-periodic-scanning-windows-defender-antivirus.md) + + +## [Evaluate Windows Defender Antivirus protection](evaluate-windows-defender-antivirus.md) + + +## [Deploy, manage updates, and report on Windows Defender Antivirus](deploy-manage-report-windows-defender-antivirus.md) +### [Deploy and enable Windows Defender Antivirus](deploy-windows-defender-antivirus.md) +#### [Deployment guide for VDI environments](deployment-vdi-windows-defender-antivirus.md) +### [Report on Windows Defender Antivirus protection](report-monitor-windows-defender-antivirus.md) +#### [Troubleshoot Windows Defender Antivirus reporting in Update Compliance](troubleshoot-reporting.md) +### [Manage updates and apply baselines](manage-updates-baselines-windows-defender-antivirus.md) +#### [Manage protection and definition updates](manage-protection-updates-windows-defender-antivirus.md) +#### [Manage when protection updates should be downloaded and applied](manage-protection-update-schedule-windows-defender-antivirus.md) +#### [Manage updates for endpoints that are out of date](manage-outdated-endpoints-windows-defender-antivirus.md) +#### [Manage event-based forced updates](manage-event-based-updates-windows-defender-antivirus.md) +#### [Manage updates for mobile devices and VMs](manage-updates-mobile-devices-vms-windows-defender-antivirus.md) + + +## [Configure Windows Defender Antivirus features](configure-windows-defender-antivirus-features.md) +### [Utilize Microsoft cloud-delivered protection](utilize-microsoft-cloud-protection-windows-defender-antivirus.md) +#### [Enable cloud-delivered protection](enable-cloud-protection-windows-defender-antivirus.md) +#### [Specify the cloud-delivered protection level](specify-cloud-protection-level-windows-defender-antivirus.md) +#### [Configure and validate network connections](configure-network-connections-windows-defender-antivirus.md) +#### [Enable the Block at First Sight feature](configure-block-at-first-sight-windows-defender-antivirus.md) +#### [Configure the cloud block timeout period](configure-cloud-block-timeout-period-windows-defender-antivirus.md) +### [Configure behavioral, heuristic, and real-time protection](configure-protection-features-windows-defender-antivirus.md) +#### [Detect and block Potentially Unwanted Applications](detect-block-potentially-unwanted-apps-windows-defender-antivirus.md) +#### [Enable and configure always-on protection and monitoring](configure-real-time-protection-windows-defender-antivirus.md) +### [Configure end-user interaction with Windows Defender AV](configure-end-user-interaction-windows-defender-antivirus.md) +#### [Configure the notifications that appear on endpoints](configure-notifications-windows-defender-antivirus.md) +#### [Prevent users from seeing or interacting with the user interface](prevent-end-user-interaction-windows-defender-antivirus.md) +#### [Prevent or allow users to locally modify policy settings](configure-local-policy-overrides-windows-defender-antivirus.md) + + +## [Customize, initiate, and review the results of scans and remediation](customize-run-review-remediate-scans-windows-defender-antivirus.md) +### [Configure and validate exclusions in Windows Defender AV scans](configure-exclusions-windows-defender-antivirus.md) +#### [Configure and validate exclusions based on file name, extension, and folder location](configure-extension-file-exclusions-windows-defender-antivirus.md) +#### [Configure and validate exclusions for files opened by processes](configure-process-opened-file-exclusions-windows-defender-antivirus.md) +#### [Configure exclusions in Windows Defender AV on Windows Server 2016](configure-server-exclusions-windows-defender-antivirus.md) +### [Configure scanning options in Windows Defender AV](configure-advanced-scan-types-windows-defender-antivirus.md) +### [Configure remediation for scans](configure-remediation-windows-defender-antivirus.md) +### [Configure scheduled scans](scheduled-catch-up-scans-windows-defender-antivirus.md) +### [Configure and run scans](run-scan-windows-defender-antivirus.md) +### [Review scan results](review-scan-results-windows-defender-antivirus.md) +### [Run and review the results of a Windows Defender Offline scan](windows-defender-offline.md) + + +## [Review event logs and error codes to troubleshoot issues](troubleshoot-windows-defender-antivirus.md) + + + +## [Reference topics for management and configuration tools](configuration-management-reference-windows-defender-antivirus.md) +### [Use Group Policy settings to configure and manage Windows Defender AV](use-group-policy-windows-defender-antivirus.md) +### [Use System Center Configuration Manager and Microsoft Intune to configure and manage Windows Defender AV](use-intune-config-manager-windows-defender-antivirus.md) +### [Use PowerShell cmdlets to configure and manage Windows Defender AV](use-powershell-cmdlets-windows-defender-antivirus.md) +### [Use Windows Management Instrumentation (WMI) to configure and manage Windows Defender AV](use-wmi-windows-defender-antivirus.md) +### [Use the mpcmdrun.exe commandline tool to configure and manage Windows Defender AV](command-line-arguments-windows-defender-antivirus.md) + + diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md new file mode 100644 index 0000000000..9517bb0667 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -0,0 +1,3 @@ +# [Windows Defender Application Control](windows-defender-application-control.md) + +## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md new file mode 100644 index 0000000000..d14024b3df --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -0,0 +1,173 @@ +# [Windows Defender Advanced Threat Protection](windows-defender-advanced-threat-protection.md) + +##Get started +## [Minimum requirements](minimum-requirements-windows-defender-advanced-threat-protection.md) +## [Validate licensing and complete setup](licensing-windows-defender-advanced-threat-protection.md) +## [Troubleshoot subscription and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) +## [Preview features](preview-windows-defender-advanced-threat-protection.md) +## [Data storage and privacy](data-storage-privacy-windows-defender-advanced-threat-protection.md) +## [Assign user access to the portal](assign-portal-access-windows-defender-advanced-threat-protection.md) +## [Onboard endpoints and set up access](onboard-configure-windows-defender-advanced-threat-protection.md) +## [Configure client endpoints](configure-endpoints-windows-defender-advanced-threat-protection.md) +### [Configure endpoints using Group Policy](configure-endpoints-gp-windows-defender-advanced-threat-protection.md) +### [Configure endpoints using System Center Configuration Manager](configure-endpoints-sccm-windows-defender-advanced-threat-protection.md) +### [Configure endpoints using Mobile Device Management tools](configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) +#### [Configure endpoints using Microsoft Intune](configure-endpoints-mdm-windows-defender-advanced-threat-protection.md#configure-endpoints-using-microsoft-intune) +### [Configure endpoints using a local script](configure-endpoints-script-windows-defender-advanced-threat-protection.md) +### [Configure non-persistent virtual desktop infrastructure (VDI) machines](configure-endpoints-vdi-windows-defender-advanced-threat-protection.md) +## [Configure server endpoints](configure-server-endpoints-windows-defender-advanced-threat-protection.md) +## [Configure non-Windows endpoints](configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md) +## [Run a detection test on a newly onboarded endpoint](run-detection-test-windows-defender-advanced-threat-protection.md) +## [Configure proxy and Internet connectivity settings](configure-proxy-internet-windows-defender-advanced-threat-protection.md) +## [Troubleshoot onboarding issues](troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) +## [Understand the Windows Defender ATP portal](use-windows-defender-advanced-threat-protection.md) +## [Portal overview](portal-overview-windows-defender-advanced-threat-protection.md) +## [View the Security operations dashboard](dashboard-windows-defender-advanced-threat-protection.md) +## [View the Security analytics dashboard](security-analytics-dashboard-windows-defender-advanced-threat-protection.md) + +##Investigate and remediate threats +##Alerts queue +### [View and organize the Alerts queue](alerts-queue-windows-defender-advanced-threat-protection.md) +### [Manage alerts](manage-alerts-windows-defender-advanced-threat-protection.md) +### [Investigate alerts](investigate-alerts-windows-defender-advanced-threat-protection.md) +### [Investigate files](investigate-files-windows-defender-advanced-threat-protection.md) +### [Investigate machines](investigate-machines-windows-defender-advanced-threat-protection.md) +### [Investigate an IP address](investigate-ip-windows-defender-advanced-threat-protection.md) +### [Investigate a domain](investigate-domain-windows-defender-advanced-threat-protection.md) +### [Investigate a user account](investigate-user-windows-defender-advanced-threat-protection.md) + +##Machines list +### [View and organize the Machines list](machines-view-overview-windows-defender-advanced-threat-protection.md) +### [Manage machine group and tags](investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) +### [Alerts related to this machine](investigate-machines-windows-defender-advanced-threat-protection.md#alerts-related-to-this-machine) +### [Machine timeline](investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) +#### [Search for specific events](investigate-machines-windows-defender-advanced-threat-protection.md#search-for-specific-events) +#### [Filter events from a specific date](investigate-machines-windows-defender-advanced-threat-protection.md#filter-events-from-a-specific-date) +#### [Export machine timeline events](investigate-machines-windows-defender-advanced-threat-protection.md#export-machine-timeline-events) +#### [Navigate between pages](investigate-machines-windows-defender-advanced-threat-protection.md#navigate-between-pages) + + +## [Take response actions](response-actions-windows-defender-advanced-threat-protection.md) +### [Take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) +#### [Collect investigation package](respond-machine-alerts-windows-defender-advanced-threat-protection.md#collect-investigation-package-from-machines) +### [Run antivirus scan](respond-machine-alerts-windows-defender-advanced-threat-protection.md#run-windows-defender-antivirus-scan-on-machines) +### [Restrict app execution](respond-machine-alerts-windows-defender-advanced-threat-protection.md#restrict-app-execution) +### [Remove app restriction](respond-machine-alerts-windows-defender-advanced-threat-protection.md#remove-app-restriction) +### [Isolate machines from the network](respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) +### [Release machine from isolation](respond-machine-alerts-windows-defender-advanced-threat-protection.md#release-machine-from-isolation) +### [Check activity details in Action center](respond-machine-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) +### [Take response actions on a file](respond-file-alerts-windows-defender-advanced-threat-protection.md) +### [Stop and quarantine files in your network](respond-file-alerts-windows-defender-advanced-threat-protection.md#stop-and-quarantine-files-in-your-network) +### [Remove file from quarantine](respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-quarantine) +### [Block files in your network](respond-file-alerts-windows-defender-advanced-threat-protection.md#block-files-in-your-network) +### [Remove file from blocked list](respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-blocked-list) +### [Check activity details in Action center](respond-file-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) +### [Deep analysis](respond-file-alerts-windows-defender-advanced-threat-protection.md#deep-analysis) +#### [Submit files for analysis](respond-file-alerts-windows-defender-advanced-threat-protection.md#submit-files-for-analysis) +#### [View deep analysis reports](respond-file-alerts-windows-defender-advanced-threat-protection.md#view-deep-analysis-reports) +#### [Troubleshoot deep analysis](respond-file-alerts-windows-defender-advanced-threat-protection.md#troubleshoot-deep-analysis) + +##API and SIEM support +## [Pull alerts to your SIEM tools](configure-siem-windows-defender-advanced-threat-protection.md) +### [Enable SIEM integration](enable-siem-integration-windows-defender-advanced-threat-protection.md) +### [Configure Splunk to pull alerts](configure-splunk-windows-defender-advanced-threat-protection.md) +### [Configure HP ArcSight to pull alerts](configure-arcsight-windows-defender-advanced-threat-protection.md) +### [Windows Defender ATP alert API fields](api-portal-mapping-windows-defender-advanced-threat-protection.md) +### [Pull alerts using REST API](pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md) +### [Troubleshoot SIEM tool integration issues](troubleshoot-siem-windows-defender-advanced-threat-protection.md) + +## [Use the threat intelligence API to create custom alerts](use-custom-ti-windows-defender-advanced-threat-protection.md) +### [Understand threat intelligence concepts](threat-indicator-concepts-windows-defender-advanced-threat-protection.md) +### [Enable the custom threat intelligence application](enable-custom-ti-windows-defender-advanced-threat-protection.md) +### [Create custom threat intelligence alerts](custom-ti-api-windows-defender-advanced-threat-protection.md) +### [PowerShell code examples](powershell-example-code-windows-defender-advanced-threat-protection.md) +### [Python code examples](python-example-code-windows-defender-advanced-threat-protection.md) +### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) +### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) +## [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) +### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) +###Actor +#### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) +#### [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +###Alerts +#### [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) +#### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +#### [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +#### [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +#### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +#### [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +#### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +###Domain +#### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +#### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) +#### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) +#### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) + +###File +#### [Block file API](block-file-windows-defender-advanced-threat-protection.md) +#### [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) +#### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) +#### [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) +#### [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) +#### [Get FileActions collection API](get-fileactions-collection-windows-defender-advanced-threat-protection.md) +#### [Unblock file API](unblock-file-windows-defender-advanced-threat-protection.md) + +###IP +#### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +#### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) +#### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) +#### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) +###Machines +#### [Collect investigation package API](collect-investigation-package-windows-defender-advanced-threat-protection.md) +#### [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +#### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +#### [Get FileMachineAction object API](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +#### [Get FileMachineActions collection API](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +#### [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) +#### [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +#### [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +#### [Get MachineAction object API](get-machineaction-object-windows-defender-advanced-threat-protection.md) +#### [Get MachineActions collection API](get-machineactions-collection-windows-defender-advanced-threat-protection.md) +#### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +#### [Get package SAS URI API](get-package-sas-uri-windows-defender-advanced-threat-protection.md) +#### [Isolate machine API](isolate-machine-windows-defender-advanced-threat-protection.md) +#### [Release machine from isolation API](unisolate-machine-windows-defender-advanced-threat-protection.md) +#### [Remove app restriction API](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +#### [Request sample API](request-sample-windows-defender-advanced-threat-protection.md) +#### [Restrict app execution API](restrict-code-execution-windows-defender-advanced-threat-protection.md) +#### [Run antivirus scan API](run-av-scan-windows-defender-advanced-threat-protection.md) +#### [Stop and quarantine file API](stop-quarantine-file-windows-defender-advanced-threat-protection.md) + + + +###User +#### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +#### [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) +#### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) +#### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) + +##Reporting +## [Create and build Power BI reports using Windows Defender ATP data](powerbi-reports-windows-defender-advanced-threat-protection.md) + +##Check service health and sensor state +## [Check sensor state](check-sensor-status-windows-defender-advanced-threat-protection.md) +### [Fix unhealthy sensors](fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md) +### [Inactive machines](fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#inactive-machines) +### [Misconfigured machines](fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#misconfigured-machines) +## [Check service health](service-status-windows-defender-advanced-threat-protection.md) +## [Configure Windows Defender ATP preferences settings](preferences-setup-windows-defender-advanced-threat-protection.md) +## [Update general settings](general-settings-windows-defender-advanced-threat-protection.md) +## [Enable advanced features](advanced-features-windows-defender-advanced-threat-protection.md) +## [Enable preview experience](preview-settings-windows-defender-advanced-threat-protection.md) +## [Configure email notifications](configure-email-notifications-windows-defender-advanced-threat-protection.md) +## [Enable SIEM integration](enable-siem-integration-windows-defender-advanced-threat-protection.md) +## [Enable Threat intel API](enable-custom-ti-windows-defender-advanced-threat-protection.md) +## [Enable and create Power BI reports using Windows Defender ATP data](powerbi-reports-windows-defender-advanced-threat-protection.md) +## [Enable Security Analytics security controls](enable-security-analytics-windows-defender-advanced-threat-protection.md) + +## [Configure Windows Defender ATP time zone settings](settings-windows-defender-advanced-threat-protection.md) +## [Access the Windows Defender ATP Community Center](community-windows-defender-advanced-threat-protection.md) +## [Troubleshoot Windows Defender ATP](troubleshoot-windows-defender-advanced-threat-protection.md) +## [Review events and errors on endpoints with Event Viewer](event-error-codes-windows-defender-advanced-threat-protection.md) +## [Windows Defender Antivirus compatibility with Windows Defender ATP](defender-compatibility-windows-defender-advanced-threat-protection.md) + diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md new file mode 100644 index 0000000000..e1304d5a55 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -0,0 +1,591 @@ +# [Windows Defender Exploit Guard](windows-defender-exploit-guard.md) + +## [Evaluate Windows Defender Exploit Guard](evaluate-windows-defender-exploit-guard.md) +### [Use auditing mode to evaluate Windows Defender Exploit Guard](audit-windows-defender-exploit-guard.md) +### [View Exploit Guard events](event-views-exploit-guard.md) + +## [Exploit protection](exploit-protection-exploit-guard.md) +### [Comparison with Enhanced Mitigation Experience Toolkit](emet-exploit-protection-exploit-guard.md) +### [Evaluate Exploit protection](evaluate-exploit-protection.md) +### [Enable Exploit protection](enable-exploit-protection.md) +### [Customize Exploit protection](customize-exploit-protection.md) +#### [Import, export, and deploy Exploit protection configurations](import-export-exploit-protection-emet-xml.md) +## [Attack surface reduction](attack-surface-reduction-exploit-guard.md) +### [Evaluate Attack surface reduction](evaluate-attack-surface-reduction.md) +### [Enable Attack surface reduction](enable-attack-surface-reduction.md) +### [Customize Attack surface reduction](customize-attack-surface-reduction.md) +### [Troubleshoot Attack surface reduction rules](troubleshoot-asr.md) +## [Network Protection](network-protection-exploit-guard.md) +### [Evaluate Network Protection](evaluate-network-protection.md) +### [Enable Network Protection](enable-network-protection.md) +### [Troubleshoot Network protection](troubleshoot-np.md) +## [Controlled folder access](controlled-folders-exploit-guard.md) +### [Evaluate Controlled folder access](evaluate-controlled-folder-access.md) +### [Enable Controlled folder access](enable-controlled-folders-exploit-guard.md) +### [Customize Controlled folder access](customize-controlled-folders-exploit-guard.md) + + +## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) + +## [Device Guard deployment guide](device-guard/device-guard-deployment-guide.md) +### [Introduction to Device Guard: virtualization-based security and WDAC](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) +### [Requirements and deployment planning guidelines for Device Guard](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) +### [Planning and getting started on the Device Guard deployment process](device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md) +### [Deploy WDAC](device-guard/deploy-windows-defender-application-control.md) +#### [Optional: Create a code signing certificate for WDAC](device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) +#### [Deploy WDAC: policy rules and file rules](device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md) +#### [Steps to deploy WDAC](device-guard/steps-to-deploy-windows-defender-application-control.md) +#### [Deploy catalog files to support WDAC](device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md) +#### [Deploy Managed Installer for Device Guard](device-guard/deploy-managed-installer-for-device-guard.md) +### [Deploy Device Guard: enable virtualization-based security](device-guard/deploy-device-guard-enable-virtualization-based-security.md) + + +## [Windows Defender SmartScreen](windows-defender-smartscreen\windows-defender-smartscreen-overview.md) +### [Available Windows Defender SmartScreen Group Policy and mobile device management (MDM) settings](windows-defender-smartscreen\windows-defender-smartscreen-available-settings.md) +### [Set up and use Windows Defender SmartScreen on individual devices](windows-defender-smartscreen\windows-defender-smartscreen-set-individual-device.md) + +##[Windows Defender Application Guard](windows-defender-application-guard\wd-app-guard-overview.md) +###[System requirements for Windows Defender Application Guard](windows-defender-application-guard\reqs-wd-app-guard.md) +###[Prepare and install Windows Defender Application Guard](windows-defender-application-guard\install-wd-app-guard.md) +###[Configure the Group Policy settings for Windows Defender Application Guard](windows-defender-application-guard\configure-wd-app-guard.md) +###[Testing scenarios using Windows Defender Application Guard in your business or organization](windows-defender-application-guard\test-scenarios-wd-app-guard.md) +###[Frequently Asked Questions - Windows Defender Application Guard](windows-defender-application-guard\faq-wd-app-guard.md) + +## [Mitigate threats by using Windows 10 security features](overview-of-threat-mitigations-in-windows-10.md) + +## [Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) + +## [Use Windows Event Forwarding to help with intrusion detection](use-windows-event-forwarding-to-assist-in-intrusion-detection.md) + +## [Block untrusted fonts in an enterprise](block-untrusted-fonts-in-enterprise.md) + +## [Security auditing](auditing\security-auditing-overview.md) +### [Basic security audit policies](auditing\basic-security-audit-policies.md) +#### [Create a basic audit policy for an event category](auditing\create-a-basic-audit-policy-settings-for-an-event-category.md) +#### [Apply a basic audit policy on a file or folder](auditing\apply-a-basic-audit-policy-on-a-file-or-folder.md) +#### [View the security event log](auditing\view-the-security-event-log.md) +#### [Basic security audit policy settings](auditing\basic-security-audit-policy-settings.md) +##### [Audit account logon events](auditing\basic-audit-account-logon-events.md) +##### [Audit account management](auditing\basic-audit-account-management.md) +##### [Audit directory service access](auditing\basic-audit-directory-service-access.md) +##### [Audit logon events](auditing\basic-audit-logon-events.md) +##### [Audit object access](auditing\basic-audit-object-access.md) +##### [Audit policy change](auditing\basic-audit-policy-change.md) +##### [Audit privilege use](auditing\basic-audit-privilege-use.md) +##### [Audit process tracking](auditing\basic-audit-process-tracking.md) +##### [Audit system events](auditing\basic-audit-system-events.md) +### [Advanced security audit policies](auditing\advanced-security-auditing.md) +#### [Planning and deploying advanced security audit policies](auditing\planning-and-deploying-advanced-security-audit-policies.md) +#### [Advanced security auditing FAQ](auditing\advanced-security-auditing-faq.md) +##### [Which editions of Windows support advanced audit policy configuration](auditing\which-editions-of-windows-support-advanced-audit-policy-configuration.md) +#### [Using advanced security auditing options to monitor dynamic access control objects](auditing\using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) +##### [Monitor the central access policies that apply on a file server](auditing\monitor-the-central-access-policies-that-apply-on-a-file-server.md) +##### [Monitor the use of removable storage devices](auditing\monitor-the-use-of-removable-storage-devices.md) +##### [Monitor resource attribute definitions](auditing\monitor-resource-attribute-definitions.md) +##### [Monitor central access policy and rule definitions](auditing\monitor-central-access-policy-and-rule-definitions.md) +##### [Monitor user and device claims during sign-in](auditing\monitor-user-and-device-claims-during-sign-in.md) +##### [Monitor the resource attributes on files and folders](auditing\monitor-the-resource-attributes-on-files-and-folders.md) +##### [Monitor the central access policies associated with files and folders](auditing\monitor-the-central-access-policies-associated-with-files-and-folders.md) +##### [Monitor claim types](auditing\monitor-claim-types.md) +#### [Advanced security audit policy settings](auditing\advanced-security-audit-policy-settings.md) +##### [Audit Credential Validation](auditing\audit-credential-validation.md) +###### [Event 4774 S, F: An account was mapped for logon.](auditing\event-4774.md) +###### [Event 4775 F: An account could not be mapped for logon.](auditing\event-4775.md) +###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](auditing\event-4776.md) +###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](auditing\event-4777.md) +##### [Audit Kerberos Authentication Service](auditing\audit-kerberos-authentication-service.md) +###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](auditing\event-4768.md) +###### [Event 4771 F: Kerberos pre-authentication failed.](auditing\event-4771.md) +###### [Event 4772 F: A Kerberos authentication ticket request failed.](auditing\event-4772.md) +##### [Audit Kerberos Service Ticket Operations](auditing\audit-kerberos-service-ticket-operations.md) +###### [Event 4769 S, F: A Kerberos service ticket was requested.](auditing\event-4769.md) +###### [Event 4770 S: A Kerberos service ticket was renewed.](auditing\event-4770.md) +###### [Event 4773 F: A Kerberos service ticket request failed.](auditing\event-4773.md) +##### [Audit Other Account Logon Events](auditing\audit-other-account-logon-events.md) +##### [Audit Application Group Management](auditing\audit-application-group-management.md) +##### [Audit Computer Account Management](auditing\audit-computer-account-management.md) +###### [Event 4741 S: A computer account was created.](auditing\event-4741.md) +###### [Event 4742 S: A computer account was changed.](auditing\event-4742.md) +###### [Event 4743 S: A computer account was deleted.](auditing\event-4743.md) +##### [Audit Distribution Group Management](auditing\audit-distribution-group-management.md) +###### [Event 4749 S: A security-disabled global group was created.](auditing\event-4749.md) +###### [Event 4750 S: A security-disabled global group was changed.](auditing\event-4750.md) +###### [Event 4751 S: A member was added to a security-disabled global group.](auditing\event-4751.md) +###### [Event 4752 S: A member was removed from a security-disabled global group.](auditing\event-4752.md) +###### [Event 4753 S: A security-disabled global group was deleted.](auditing\event-4753.md) +##### [Audit Other Account Management Events](auditing\audit-other-account-management-events.md) +###### [Event 4782 S: The password hash an account was accessed.](auditing\event-4782.md) +###### [Event 4793 S: The Password Policy Checking API was called.](auditing\event-4793.md) +##### [Audit Security Group Management](auditing\audit-security-group-management.md) +###### [Event 4731 S: A security-enabled local group was created.](auditing\event-4731.md) +###### [Event 4732 S: A member was added to a security-enabled local group.](auditing\event-4732.md) +###### [Event 4733 S: A member was removed from a security-enabled local group.](auditing\event-4733.md) +###### [Event 4734 S: A security-enabled local group was deleted.](auditing\event-4734.md) +###### [Event 4735 S: A security-enabled local group was changed.](auditing\event-4735.md) +###### [Event 4764 S: A group’s type was changed.](auditing\event-4764.md) +###### [Event 4799 S: A security-enabled local group membership was enumerated.](auditing\event-4799.md) +##### [Audit User Account Management](auditing\audit-user-account-management.md) +###### [Event 4720 S: A user account was created.](auditing\event-4720.md) +###### [Event 4722 S: A user account was enabled.](auditing\event-4722.md) +###### [Event 4723 S, F: An attempt was made to change an account's password.](auditing\event-4723.md) +###### [Event 4724 S, F: An attempt was made to reset an account's password.](auditing\event-4724.md) +###### [Event 4725 S: A user account was disabled.](auditing\event-4725.md) +###### [Event 4726 S: A user account was deleted.](auditing\event-4726.md) +###### [Event 4738 S: A user account was changed.](auditing\event-4738.md) +###### [Event 4740 S: A user account was locked out.](auditing\event-4740.md) +###### [Event 4765 S: SID History was added to an account.](auditing\event-4765.md) +###### [Event 4766 F: An attempt to add SID History to an account failed.](auditing\event-4766.md) +###### [Event 4767 S: A user account was unlocked.](auditing\event-4767.md) +###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](auditing\event-4780.md) +###### [Event 4781 S: The name of an account was changed.](auditing\event-4781.md) +###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](auditing\event-4794.md) +###### [Event 4798 S: A user's local group membership was enumerated.](auditing\event-4798.md) +###### [Event 5376 S: Credential Manager credentials were backed up.](auditing\event-5376.md) +###### [Event 5377 S: Credential Manager credentials were restored from a backup.](auditing\event-5377.md) +##### [Audit DPAPI Activity](auditing\audit-dpapi-activity.md) +###### [Event 4692 S, F: Backup of data protection master key was attempted.](auditing\event-4692.md) +###### [Event 4693 S, F: Recovery of data protection master key was attempted.](auditing\event-4693.md) +###### [Event 4694 S, F: Protection of auditable protected data was attempted.](auditing\event-4694.md) +###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](auditing\event-4695.md) +##### [Audit PNP Activity](auditing\audit-pnp-activity.md) +###### [Event 6416 S: A new external device was recognized by the System.](auditing\event-6416.md) +###### [Event 6419 S: A request was made to disable a device.](auditing\event-6419.md) +###### [Event 6420 S: A device was disabled.](auditing\event-6420.md) +###### [Event 6421 S: A request was made to enable a device.](auditing\event-6421.md) +###### [Event 6422 S: A device was enabled.](auditing\event-6422.md) +###### [Event 6423 S: The installation of this device is forbidden by system policy.](auditing\event-6423.md) +###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](auditing\event-6424.md) +##### [Audit Process Creation](auditing\audit-process-creation.md) +###### [Event 4688 S: A new process has been created.](auditing\event-4688.md) +###### [Event 4696 S: A primary token was assigned to process.](auditing\event-4696.md) +##### [Audit Process Termination](auditing\audit-process-termination.md) +###### [Event 4689 S: A process has exited.](auditing\event-4689.md) +##### [Audit RPC Events](auditing\audit-rpc-events.md) +###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](auditing\event-5712.md) +##### [Audit Detailed Directory Service Replication](auditing\audit-detailed-directory-service-replication.md) +###### [Event 4928 S, F: An Active Directory replica source naming context was established.](auditing\event-4928.md) +###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](auditing\event-4929.md) +###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](auditing\event-4930.md) +###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](auditing\event-4931.md) +###### [Event 4934 S: Attributes of an Active Directory object were replicated.](auditing\event-4934.md) +###### [Event 4935 F: Replication failure begins.](auditing\event-4935.md) +###### [Event 4936 S: Replication failure ends.](auditing\event-4936.md) +###### [Event 4937 S: A lingering object was removed from a replica.](auditing\event-4937.md) +##### [Audit Directory Service Access](auditing\audit-directory-service-access.md) +###### [Event 4662 S, F: An operation was performed on an object.](auditing\event-4662.md) +###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) +##### [Audit Directory Service Changes](auditing\audit-directory-service-changes.md) +###### [Event 5136 S: A directory service object was modified.](auditing\event-5136.md) +###### [Event 5137 S: A directory service object was created.](auditing\event-5137.md) +###### [Event 5138 S: A directory service object was undeleted.](auditing\event-5138.md) +###### [Event 5139 S: A directory service object was moved.](auditing\event-5139.md) +###### [Event 5141 S: A directory service object was deleted.](auditing\event-5141.md) +##### [Audit Directory Service Replication](auditing\audit-directory-service-replication.md) +###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](auditing\event-4932.md) +###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](auditing\event-4933.md) +##### [Audit Account Lockout](auditing\audit-account-lockout.md) +###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) +##### [Audit User/Device Claims](auditing\audit-user-device-claims.md) +###### [Event 4626 S: User/Device claims information.](auditing\event-4626.md) +##### [Audit Group Membership](auditing\audit-group-membership.md) +###### [Event 4627 S: Group membership information.](auditing\event-4627.md) +##### [Audit IPsec Extended Mode](auditing\audit-ipsec-extended-mode.md) +##### [Audit IPsec Main Mode](auditing\audit-ipsec-main-mode.md) +##### [Audit IPsec Quick Mode](auditing\audit-ipsec-quick-mode.md) +##### [Audit Logoff](auditing\audit-logoff.md) +###### [Event 4634 S: An account was logged off.](auditing\event-4634.md) +###### [Event 4647 S: User initiated logoff.](auditing\event-4647.md) +##### [Audit Logon](auditing\audit-logon.md) +###### [Event 4624 S: An account was successfully logged on.](auditing\event-4624.md) +###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) +###### [Event 4648 S: A logon was attempted using explicit credentials.](auditing\event-4648.md) +###### [Event 4675 S: SIDs were filtered.](auditing\event-4675.md) +##### [Audit Network Policy Server](auditing\audit-network-policy-server.md) +##### [Audit Other Logon/Logoff Events](auditing\audit-other-logonlogoff-events.md) +###### [Event 4649 S: A replay attack was detected.](auditing\event-4649.md) +###### [Event 4778 S: A session was reconnected to a Window Station.](auditing\event-4778.md) +###### [Event 4779 S: A session was disconnected from a Window Station.](auditing\event-4779.md) +###### [Event 4800 S: The workstation was locked.](auditing\event-4800.md) +###### [Event 4801 S: The workstation was unlocked.](auditing\event-4801.md) +###### [Event 4802 S: The screen saver was invoked.](auditing\event-4802.md) +###### [Event 4803 S: The screen saver was dismissed.](auditing\event-4803.md) +###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](auditing\event-5378.md) +###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](auditing\event-5632.md) +###### [Event 5633 S, F: A request was made to authenticate to a wired network.](auditing\event-5633.md) +##### [Audit Special Logon](auditing\audit-special-logon.md) +###### [Event 4964 S: Special groups have been assigned to a new logon.](auditing\event-4964.md) +###### [Event 4672 S: Special privileges assigned to new logon.](auditing\event-4672.md) +##### [Audit Application Generated](auditing\audit-application-generated.md) +##### [Audit Certification Services](auditing\audit-certification-services.md) +##### [Audit Detailed File Share](auditing\audit-detailed-file-share.md) +###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](auditing\event-5145.md) +##### [Audit File Share](auditing\audit-file-share.md) +###### [Event 5140 S, F: A network share object was accessed.](auditing\event-5140.md) +###### [Event 5142 S: A network share object was added.](auditing\event-5142.md) +###### [Event 5143 S: A network share object was modified.](auditing\event-5143.md) +###### [Event 5144 S: A network share object was deleted.](auditing\event-5144.md) +###### [Event 5168 F: SPN check for SMB/SMB2 failed.](auditing\event-5168.md) +##### [Audit File System](auditing\audit-file-system.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) +###### [Event 4664 S: An attempt was made to create a hard link.](auditing\event-4664.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) +###### [Event 5051: A file was virtualized.](auditing\event-5051.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) +##### [Audit Filtering Platform Connection](auditing\audit-filtering-platform-connection.md) +###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](auditing\event-5031.md) +###### [Event 5150: The Windows Filtering Platform blocked a packet.](auditing\event-5150.md) +###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5151.md) +###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](auditing\event-5154.md) +###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](auditing\event-5155.md) +###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](auditing\event-5156.md) +###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](auditing\event-5157.md) +###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](auditing\event-5158.md) +###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](auditing\event-5159.md) +##### [Audit Filtering Platform Packet Drop](auditing\audit-filtering-platform-packet-drop.md) +###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](auditing\event-5152.md) +###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5153.md) +##### [Audit Handle Manipulation](auditing\audit-handle-manipulation.md) +###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](auditing\event-4690.md) +##### [Audit Kernel Object](auditing\audit-kernel-object.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) +##### [Audit Other Object Access Events](auditing\audit-other-object-access-events.md) +###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](auditing\event-4671.md) +###### [Event 4691 S: Indirect access to an object was requested.](auditing\event-4691.md) +###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](auditing\event-5148.md) +###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](auditing\event-5149.md) +###### [Event 4698 S: A scheduled task was created.](auditing\event-4698.md) +###### [Event 4699 S: A scheduled task was deleted.](auditing\event-4699.md) +###### [Event 4700 S: A scheduled task was enabled.](auditing\event-4700.md) +###### [Event 4701 S: A scheduled task was disabled.](auditing\event-4701.md) +###### [Event 4702 S: A scheduled task was updated.](auditing\event-4702.md) +###### [Event 5888 S: An object in the COM+ Catalog was modified.](auditing\event-5888.md) +###### [Event 5889 S: An object was deleted from the COM+ Catalog.](auditing\event-5889.md) +###### [Event 5890 S: An object was added to the COM+ Catalog.](auditing\event-5890.md) +##### [Audit Registry](auditing\audit-registry.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) +###### [Event 4657 S: A registry value was modified.](auditing\event-4657.md) +###### [Event 5039: A registry key was virtualized.](auditing\event-5039.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) +##### [Audit Removable Storage](auditing\audit-removable-storage.md) +##### [Audit SAM](auditing\audit-sam.md) +###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) +##### [Audit Central Access Policy Staging](auditing\audit-central-access-policy-staging.md) +###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](auditing\event-4818.md) +##### [Audit Audit Policy Change](auditing\audit-audit-policy-change.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) +###### [Event 4715 S: The audit policy, SACL, on an object was changed.](auditing\event-4715.md) +###### [Event 4719 S: System audit policy was changed.](auditing\event-4719.md) +###### [Event 4817 S: Auditing settings on object were changed.](auditing\event-4817.md) +###### [Event 4902 S: The Per-user audit policy table was created.](auditing\event-4902.md) +###### [Event 4906 S: The CrashOnAuditFail value has changed.](auditing\event-4906.md) +###### [Event 4907 S: Auditing settings on object were changed.](auditing\event-4907.md) +###### [Event 4908 S: Special Groups Logon table modified.](auditing\event-4908.md) +###### [Event 4912 S: Per User Audit Policy was changed.](auditing\event-4912.md) +###### [Event 4904 S: An attempt was made to register a security event source.](auditing\event-4904.md) +###### [Event 4905 S: An attempt was made to unregister a security event source.](auditing\event-4905.md) +##### [Audit Authentication Policy Change](auditing\audit-authentication-policy-change.md) +###### [Event 4706 S: A new trust was created to a domain.](auditing\event-4706.md) +###### [Event 4707 S: A trust to a domain was removed.](auditing\event-4707.md) +###### [Event 4716 S: Trusted domain information was modified.](auditing\event-4716.md) +###### [Event 4713 S: Kerberos policy was changed.](auditing\event-4713.md) +###### [Event 4717 S: System security access was granted to an account.](auditing\event-4717.md) +###### [Event 4718 S: System security access was removed from an account.](auditing\event-4718.md) +###### [Event 4739 S: Domain Policy was changed.](auditing\event-4739.md) +###### [Event 4864 S: A namespace collision was detected.](auditing\event-4864.md) +###### [Event 4865 S: A trusted forest information entry was added.](auditing\event-4865.md) +###### [Event 4866 S: A trusted forest information entry was removed.](auditing\event-4866.md) +###### [Event 4867 S: A trusted forest information entry was modified.](auditing\event-4867.md) +##### [Audit Authorization Policy Change](auditing\audit-authorization-policy-change.md) +###### [Event 4703 S: A user right was adjusted.](auditing\event-4703.md) +###### [Event 4704 S: A user right was assigned.](auditing\event-4704.md) +###### [Event 4705 S: A user right was removed.](auditing\event-4705.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) +###### [Event 4911 S: Resource attributes of the object were changed.](auditing\event-4911.md) +###### [Event 4913 S: Central Access Policy on the object was changed.](auditing\event-4913.md) +##### [Audit Filtering Platform Policy Change](auditing\audit-filtering-platform-policy-change.md) +##### [Audit MPSSVC Rule-Level Policy Change](auditing\audit-mpssvc-rule-level-policy-change.md) +###### [Event 4944 S: The following policy was active when the Windows Firewall started.](auditing\event-4944.md) +###### [Event 4945 S: A rule was listed when the Windows Firewall started.](auditing\event-4945.md) +###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](auditing\event-4946.md) +###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](auditing\event-4947.md) +###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](auditing\event-4948.md) +###### [Event 4949 S: Windows Firewall settings were restored to the default values.](auditing\event-4949.md) +###### [Event 4950 S: A Windows Firewall setting has changed.](auditing\event-4950.md) +###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](auditing\event-4951.md) +###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](auditing\event-4952.md) +###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](auditing\event-4953.md) +###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](auditing\event-4954.md) +###### [Event 4956 S: Windows Firewall has changed the active profile.](auditing\event-4956.md) +###### [Event 4957 F: Windows Firewall did not apply the following rule.](auditing\event-4957.md) +###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](auditing\event-4958.md) +##### [Audit Other Policy Change Events](auditing\audit-other-policy-change-events.md) +###### [Event 4714 S: Encrypted data recovery policy was changed.](auditing\event-4714.md) +###### [Event 4819 S: Central Access Policies on the machine have been changed.](auditing\event-4819.md) +###### [Event 4826 S: Boot Configuration Data loaded.](auditing\event-4826.md) +###### [Event 4909: The local policy settings for the TBS were changed.](auditing\event-4909.md) +###### [Event 4910: The group policy settings for the TBS were changed.](auditing\event-4910.md) +###### [Event 5063 S, F: A cryptographic provider operation was attempted.](auditing\event-5063.md) +###### [Event 5064 S, F: A cryptographic context operation was attempted.](auditing\event-5064.md) +###### [Event 5065 S, F: A cryptographic context modification was attempted.](auditing\event-5065.md) +###### [Event 5066 S, F: A cryptographic function operation was attempted.](auditing\event-5066.md) +###### [Event 5067 S, F: A cryptographic function modification was attempted.](auditing\event-5067.md) +###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](auditing\event-5068.md) +###### [Event 5069 S, F: A cryptographic function property operation was attempted.](auditing\event-5069.md) +###### [Event 5070 S, F: A cryptographic function property modification was attempted.](auditing\event-5070.md) +###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](auditing\event-5447.md) +###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](auditing\event-6144.md) +###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](auditing\event-6145.md) +##### [Audit Sensitive Privilege Use](auditing\audit-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) +##### [Audit Non Sensitive Privilege Use](auditing\audit-non-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) +##### [Audit Other Privilege Use Events](auditing\audit-other-privilege-use-events.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) +##### [Audit IPsec Driver](auditing\audit-ipsec-driver.md) +##### [Audit Other System Events](auditing\audit-other-system-events.md) +###### [Event 5024 S: The Windows Firewall Service has started successfully.](auditing\event-5024.md) +###### [Event 5025 S: The Windows Firewall Service has been stopped.](auditing\event-5025.md) +###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](auditing\event-5027.md) +###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](auditing\event-5028.md) +###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](auditing\event-5029.md) +###### [Event 5030 F: The Windows Firewall Service failed to start.](auditing\event-5030.md) +###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](auditing\event-5032.md) +###### [Event 5033 S: The Windows Firewall Driver has started successfully.](auditing\event-5033.md) +###### [Event 5034 S: The Windows Firewall Driver was stopped.](auditing\event-5034.md) +###### [Event 5035 F: The Windows Firewall Driver failed to start.](auditing\event-5035.md) +###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](auditing\event-5037.md) +###### [Event 5058 S, F: Key file operation.](auditing\event-5058.md) +###### [Event 5059 S, F: Key migration operation.](auditing\event-5059.md) +###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](auditing\event-6400.md) +###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](auditing\event-6401.md) +###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](auditing\event-6402.md) +###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](auditing\event-6403.md) +###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](auditing\event-6404.md) +###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](auditing\event-6405.md) +###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](auditing\event-6406.md) +###### [Event 6407: 1%.](auditing\event-6407.md) +###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](auditing\event-6408.md) +###### [Event 6409: BranchCache: A service connection point object could not be parsed.](auditing\event-6409.md) +##### [Audit Security State Change](auditing\audit-security-state-change.md) +###### [Event 4608 S: Windows is starting up.](auditing\event-4608.md) +###### [Event 4616 S: The system time was changed.](auditing\event-4616.md) +###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](auditing\event-4621.md) +##### [Audit Security System Extension](auditing\audit-security-system-extension.md) +###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](auditing\event-4610.md) +###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](auditing\event-4611.md) +###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](auditing\event-4614.md) +###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](auditing\event-4622.md) +###### [Event 4697 S: A service was installed in the system.](auditing\event-4697.md) +##### [Audit System Integrity](auditing\audit-system-integrity.md) +###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](auditing\event-4612.md) +###### [Event 4615 S: Invalid use of LPC port.](auditing\event-4615.md) +###### [Event 4618 S: A monitored security event pattern has occurred.](auditing\event-4618.md) +###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](auditing\event-4816.md) +###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](auditing\event-5038.md) +###### [Event 5056 S: A cryptographic self-test was performed.](auditing\event-5056.md) +###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](auditing\event-5062.md) +###### [Event 5057 F: A cryptographic primitive operation failed.](auditing\event-5057.md) +###### [Event 5060 F: Verification operation failed.](auditing\event-5060.md) +###### [Event 5061 S, F: Cryptographic operation.](auditing\event-5061.md) +###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](auditing\event-6281.md) +###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](auditing\event-6410.md) +##### [Other Events](auditing\other-events.md) +###### [Event 1100 S: The event logging service has shut down.](auditing\event-1100.md) +###### [Event 1102 S: The audit log was cleared.](auditing\event-1102.md) +###### [Event 1104 S: The security log is now full.](auditing\event-1104.md) +###### [Event 1105 S: Event log automatic backup.](auditing\event-1105.md) +###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](auditing\event-1108.md) +##### [Appendix A: Security monitoring recommendations for many audit events](auditing\appendix-a-security-monitoring-recommendations-for-many-audit-events.md) +##### [Registry (Global Object Access Auditing) ](auditing\registry-global-object-access-auditing.md) +##### [File System (Global Object Access Auditing) ](auditing\file-system-global-object-access-auditing.md) + +## [Security policy settings](security-policy-settings/security-policy-settings.md) +### [Administer security policy settings](security-policy-settings/administer-security-policy-settings.md) +#### [Network List Manager policies](security-policy-settings/network-list-manager-policies.md) +### [Configure security policy settings](security-policy-settings/how-to-configure-security-policy-settings.md) +### [Security policy settings reference](security-policy-settings/security-policy-settings-reference.md) +#### [Account Policies](security-policy-settings/account-policies.md) +##### [Password Policy](security-policy-settings/password-policy.md) +###### [Enforce password history](security-policy-settings/enforce-password-history.md) +###### [Maximum password age](security-policy-settings/maximum-password-age.md) +###### [Minimum password age](security-policy-settings/minimum-password-age.md) +###### [Minimum password length](security-policy-settings/minimum-password-length.md) +###### [Password must meet complexity requirements](security-policy-settings/password-must-meet-complexity-requirements.md) +###### [Store passwords using reversible encryption](security-policy-settings/store-passwords-using-reversible-encryption.md) +##### [Account Lockout Policy](security-policy-settings/account-lockout-policy.md) +###### [Account lockout duration](security-policy-settings/account-lockout-duration.md) +###### [Account lockout threshold](security-policy-settings/account-lockout-threshold.md) +###### [Reset account lockout counter after](security-policy-settings/reset-account-lockout-counter-after.md) +##### [Kerberos Policy](security-policy-settings/kerberos-policy.md) +###### [Enforce user logon restrictions](security-policy-settings/enforce-user-logon-restrictions.md) +###### [Maximum lifetime for service ticket](security-policy-settings/maximum-lifetime-for-service-ticket.md) +###### [Maximum lifetime for user ticket](security-policy-settings/maximum-lifetime-for-user-ticket.md) +###### [Maximum lifetime for user ticket renewal](security-policy-settings/maximum-lifetime-for-user-ticket-renewal.md) +###### [Maximum tolerance for computer clock synchronization](security-policy-settings/maximum-tolerance-for-computer-clock-synchronization.md) +#### [Audit Policy](security-policy-settings/audit-policy.md) +#### [Security Options](security-policy-settings/security-options.md) +##### [Accounts: Administrator account status](security-policy-settings/accounts-administrator-account-status.md) +##### [Accounts: Block Microsoft accounts](security-policy-settings/accounts-block-microsoft-accounts.md) +##### [Accounts: Guest account status](security-policy-settings/accounts-guest-account-status.md) +##### [Accounts: Limit local account use of blank passwords to console logon only](security-policy-settings/accounts-limit-local-account-use-of-blank-passwords-to-console-logon-only.md) +##### [Accounts: Rename administrator account](security-policy-settings/accounts-rename-administrator-account.md) +##### [Accounts: Rename guest account](security-policy-settings/accounts-rename-guest-account.md) +##### [Audit: Audit the access of global system objects](security-policy-settings/audit-audit-the-access-of-global-system-objects.md) +##### [Audit: Audit the use of Backup and Restore privilege](security-policy-settings/audit-audit-the-use-of-backup-and-restore-privilege.md) +##### [Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings](security-policy-settings/audit-force-audit-policy-subcategory-settings-to-override.md) +##### [Audit: Shut down system immediately if unable to log security audits](security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md) +##### [DCOM: Machine Access Restrictions in Security Descriptor Definition Language (SDDL) syntax](security-policy-settings/dcom-machine-access-restrictions-in-security-descriptor-definition-language-sddl-syntax.md) +##### [DCOM: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax](security-policy-settings/dcom-machine-launch-restrictions-in-security-descriptor-definition-language-sddl-syntax.md) +##### [Devices: Allow undock without having to log on](security-policy-settings/devices-allow-undock-without-having-to-log-on.md) +##### [Devices: Allowed to format and eject removable media](security-policy-settings/devices-allowed-to-format-and-eject-removable-media.md) +##### [Devices: Prevent users from installing printer drivers](security-policy-settings/devices-prevent-users-from-installing-printer-drivers.md) +##### [Devices: Restrict CD-ROM access to locally logged-on user only](security-policy-settings/devices-restrict-cd-rom-access-to-locally-logged-on-user-only.md) +##### [Devices: Restrict floppy access to locally logged-on user only](security-policy-settings/devices-restrict-floppy-access-to-locally-logged-on-user-only.md) +##### [Domain controller: Allow server operators to schedule tasks](security-policy-settings/domain-controller-allow-server-operators-to-schedule-tasks.md) +##### [Domain controller: LDAP server signing requirements](security-policy-settings/domain-controller-ldap-server-signing-requirements.md) +##### [Domain controller: Refuse machine account password changes](security-policy-settings/domain-controller-refuse-machine-account-password-changes.md) +##### [Domain member: Digitally encrypt or sign secure channel data (always)](security-policy-settings/domain-member-digitally-encrypt-or-sign-secure-channel-data-always.md) +##### [Domain member: Digitally encrypt secure channel data (when possible)](security-policy-settings/domain-member-digitally-encrypt-secure-channel-data-when-possible.md) +##### [Domain member: Digitally sign secure channel data (when possible)](security-policy-settings/domain-member-digitally-sign-secure-channel-data-when-possible.md) +##### [Domain member: Disable machine account password changes](security-policy-settings/domain-member-disable-machine-account-password-changes.md) +##### [Domain member: Maximum machine account password age](security-policy-settings/domain-member-maximum-machine-account-password-age.md) +##### [Domain member: Require strong (Windows 2000 or later) session key](security-policy-settings/domain-member-require-strong-windows-2000-or-later-session-key.md) +##### [Interactive logon: Display user information when the session is locked](security-policy-settings/interactive-logon-display-user-information-when-the-session-is-locked.md) +##### [Interactive logon: Don't display last signed-in](security-policy-settings/interactive-logon-do-not-display-last-user-name.md) +##### [Interactive logon: Don't display username at sign-in](security-policy-settings/interactive-logon-dont-display-username-at-sign-in.md) +##### [Interactive logon: Do not require CTRL+ALT+DEL](security-policy-settings/interactive-logon-do-not-require-ctrl-alt-del.md) +##### [Interactive logon: Machine account lockout threshold](security-policy-settings/interactive-logon-machine-account-lockout-threshold.md) +##### [Interactive logon: Machine inactivity limit](security-policy-settings/interactive-logon-machine-inactivity-limit.md) +##### [Interactive logon: Message text for users attempting to log on](security-policy-settings/interactive-logon-message-text-for-users-attempting-to-log-on.md) +##### [Interactive logon: Message title for users attempting to log on](security-policy-settings/interactive-logon-message-title-for-users-attempting-to-log-on.md) +##### [Interactive logon: Number of previous logons to cache (in case domain controller is not available)](security-policy-settings/interactive-logon-number-of-previous-logons-to-cache-in-case-domain-controller-is-not-available.md) +##### [Interactive logon: Prompt user to change password before expiration](security-policy-settings/interactive-logon-prompt-user-to-change-password-before-expiration.md) +##### [Interactive logon: Require Domain Controller authentication to unlock workstation](security-policy-settings/interactive-logon-require-domain-controller-authentication-to-unlock-workstation.md) +##### [Interactive logon: Require smart card](security-policy-settings/interactive-logon-require-smart-card.md) +##### [Interactive logon: Smart card removal behavior](security-policy-settings/interactive-logon-smart-card-removal-behavior.md) +##### [Microsoft network client: Digitally sign communications (always)](security-policy-settings/microsoft-network-client-digitally-sign-communications-always.md) +##### [Microsoft network client: Digitally sign communications (if server agrees)](security-policy-settings/microsoft-network-client-digitally-sign-communications-if-server-agrees.md) +##### [Microsoft network client: Send unencrypted password to third-party SMB servers](security-policy-settings/microsoft-network-client-send-unencrypted-password-to-third-party-smb-servers.md) +##### [Microsoft network server: Amount of idle time required before suspending session](security-policy-settings/microsoft-network-server-amount-of-idle-time-required-before-suspending-session.md) +##### [Microsoft network server: Attempt S4U2Self to obtain claim information](security-policy-settings/microsoft-network-server-attempt-s4u2self-to-obtain-claim-information.md) +##### [Microsoft network server: Digitally sign communications (always)](security-policy-settings/microsoft-network-server-digitally-sign-communications-always.md) +##### [Microsoft network server: Digitally sign communications (if client agrees)](security-policy-settings/microsoft-network-server-digitally-sign-communications-if-client-agrees.md) +##### [Microsoft network server: Disconnect clients when logon hours expire](security-policy-settings/microsoft-network-server-disconnect-clients-when-logon-hours-expire.md) +##### [Microsoft network server: Server SPN target name validation level](security-policy-settings/microsoft-network-server-server-spn-target-name-validation-level.md) +##### [Network access: Allow anonymous SID/Name translation](security-policy-settings/network-access-allow-anonymous-sidname-translation.md) +##### [Network access: Do not allow anonymous enumeration of SAM accounts](security-policy-settings/network-access-do-not-allow-anonymous-enumeration-of-sam-accounts.md) +##### [Network access: Do not allow anonymous enumeration of SAM accounts and shares](security-policy-settings/network-access-do-not-allow-anonymous-enumeration-of-sam-accounts-and-shares.md) +##### [Network access: Do not allow storage of passwords and credentials for network authentication](security-policy-settings/network-access-do-not-allow-storage-of-passwords-and-credentials-for-network-authentication.md) +##### [Network access: Let Everyone permissions apply to anonymous users](security-policy-settings/network-access-let-everyone-permissions-apply-to-anonymous-users.md) +##### [Network access: Named Pipes that can be accessed anonymously](security-policy-settings/network-access-named-pipes-that-can-be-accessed-anonymously.md) +##### [Network access: Remotely accessible registry paths](security-policy-settings/network-access-remotely-accessible-registry-paths.md) +##### [Network access: Remotely accessible registry paths and subpaths](security-policy-settings/network-access-remotely-accessible-registry-paths-and-subpaths.md) +##### [Network access: Restrict anonymous access to Named Pipes and Shares](security-policy-settings/network-access-restrict-anonymous-access-to-named-pipes-and-shares.md) +##### [Network access: Restrict clients allowed to make remote calls to SAM](security-policy-settings/network-access-restrict-clients-allowed-to-make-remote-sam-calls.md) +##### [Network access: Shares that can be accessed anonymously](security-policy-settings/network-access-shares-that-can-be-accessed-anonymously.md) +##### [Network access: Sharing and security model for local accounts](security-policy-settings/network-access-sharing-and-security-model-for-local-accounts.md) +##### [Network security: Allow Local System to use computer identity for NTLM](security-policy-settings/network-security-allow-local-system-to-use-computer-identity-for-ntlm.md) +##### [Network security: Allow LocalSystem NULL session fallback](security-policy-settings/network-security-allow-localsystem-null-session-fallback.md) +##### [Network security: Allow PKU2U authentication requests to this computer to use online identities](security-policy-settings/network-security-allow-pku2u-authentication-requests-to-this-computer-to-use-online-identities.md) +##### [Network security: Configure encryption types allowed for Kerberos Win7 only](security-policy-settings/network-security-configure-encryption-types-allowed-for-kerberos.md) +##### [Network security: Do not store LAN Manager hash value on next password change](security-policy-settings/network-security-do-not-store-lan-manager-hash-value-on-next-password-change.md) +##### [Network security: Force logoff when logon hours expire](security-policy-settings/network-security-force-logoff-when-logon-hours-expire.md) +##### [Network security: LAN Manager authentication level](security-policy-settings/network-security-lan-manager-authentication-level.md) +##### [Network security: LDAP client signing requirements](security-policy-settings/network-security-ldap-client-signing-requirements.md) +##### [Network security: Minimum session security for NTLM SSP based (including secure RPC) clients](security-policy-settings/network-security-minimum-session-security-for-ntlm-ssp-based-including-secure-rpc-clients.md) +##### [Network security: Minimum session security for NTLM SSP based (including secure RPC) servers](security-policy-settings/network-security-minimum-session-security-for-ntlm-ssp-based-including-secure-rpc-servers.md) +##### [Network security: Restrict NTLM: Add remote server exceptions for NTLM authentication](security-policy-settings/network-security-restrict-ntlm-add-remote-server-exceptions-for-ntlm-authentication.md) +##### [Network security: Restrict NTLM: Add server exceptions in this domain](security-policy-settings/network-security-restrict-ntlm-add-server-exceptions-in-this-domain.md) +##### [Network security: Restrict NTLM: Audit incoming NTLM traffic](security-policy-settings/network-security-restrict-ntlm-audit-incoming-ntlm-traffic.md) +##### [Network security: Restrict NTLM: Audit NTLM authentication in this domain](security-policy-settings/network-security-restrict-ntlm-audit-ntlm-authentication-in-this-domain.md) +##### [Network security: Restrict NTLM: Incoming NTLM traffic](security-policy-settings/network-security-restrict-ntlm-incoming-ntlm-traffic.md) +##### [Network security: Restrict NTLM: NTLM authentication in this domain](security-policy-settings/network-security-restrict-ntlm-ntlm-authentication-in-this-domain.md) +##### [Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers](security-policy-settings/network-security-restrict-ntlm-outgoing-ntlm-traffic-to-remote-servers.md) +##### [Recovery console: Allow automatic administrative logon](security-policy-settings/recovery-console-allow-automatic-administrative-logon.md) +##### [Recovery console: Allow floppy copy and access to all drives and folders](security-policy-settings/recovery-console-allow-floppy-copy-and-access-to-all-drives-and-folders.md) +##### [Shutdown: Allow system to be shut down without having to log on](security-policy-settings/shutdown-allow-system-to-be-shut-down-without-having-to-log-on.md) +##### [Shutdown: Clear virtual memory pagefile](security-policy-settings/shutdown-clear-virtual-memory-pagefile.md) +##### [System cryptography: Force strong key protection for user keys stored on the computer](security-policy-settings/system-cryptography-force-strong-key-protection-for-user-keys-stored-on-the-computer.md) +##### [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md) +##### [System objects: Require case insensitivity for non-Windows subsystems](security-policy-settings/system-objects-require-case-insensitivity-for-non-windows-subsystems.md) +##### [System objects: Strengthen default permissions of internal system objects (e.g. Symbolic Links)](security-policy-settings/system-objects-strengthen-default-permissions-of-internal-system-objects.md) +##### [System settings: Optional subsystems](security-policy-settings/system-settings-optional-subsystems.md) +##### [System settings: Use certificate rules on Windows executables for Software Restriction Policies](security-policy-settings/system-settings-use-certificate-rules-on-windows-executables-for-software-restriction-policies.md) +##### [User Account Control: Admin Approval Mode for the Built-in Administrator account](security-policy-settings/user-account-control-admin-approval-mode-for-the-built-in-administrator-account.md) +##### [User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop](security-policy-settings/user-account-control-allow-uiaccess-applications-to-prompt-for-elevation-without-using-the-secure-desktop.md) +##### [User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode](security-policy-settings/user-account-control-behavior-of-the-elevation-prompt-for-administrators-in-admin-approval-mode.md) +##### [User Account Control: Behavior of the elevation prompt for standard users](security-policy-settings/user-account-control-behavior-of-the-elevation-prompt-for-standard-users.md) +##### [User Account Control: Detect application installations and prompt for elevation](security-policy-settings/user-account-control-detect-application-installations-and-prompt-for-elevation.md) +##### [User Account Control: Only elevate executables that are signed and validated](security-policy-settings/user-account-control-only-elevate-executables-that-are-signed-and-validated.md) +##### [User Account Control: Only elevate UIAccess applications that are installed in secure locations](security-policy-settings/user-account-control-only-elevate-uiaccess-applications-that-are-installed-in-secure-locations.md) +##### [User Account Control: Run all administrators in Admin Approval Mode](security-policy-settings/user-account-control-run-all-administrators-in-admin-approval-mode.md) +##### [User Account Control: Switch to the secure desktop when prompting for elevation](security-policy-settings/user-account-control-switch-to-the-secure-desktop-when-prompting-for-elevation.md) +##### [User Account Control: Virtualize file and registry write failures to per-user locations](security-policy-settings/user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations.md) +#### [Advanced security audit policy settings](security-policy-settings/secpol-advanced-security-audit-policy-settings.md) +#### [User Rights Assignment](security-policy-settings/user-rights-assignment.md) +##### [Access Credential Manager as a trusted caller](security-policy-settings/access-credential-manager-as-a-trusted-caller.md) +##### [Access this computer from the network](security-policy-settings/access-this-computer-from-the-network.md) +##### [Act as part of the operating system](security-policy-settings/act-as-part-of-the-operating-system.md) +##### [Add workstations to domain](security-policy-settings/add-workstations-to-domain.md) +##### [Adjust memory quotas for a process](security-policy-settings/adjust-memory-quotas-for-a-process.md) +##### [Allow log on locally](security-policy-settings/allow-log-on-locally.md) +##### [Allow log on through Remote Desktop Services](security-policy-settings/allow-log-on-through-remote-desktop-services.md) +##### [Back up files and directories](security-policy-settings/back-up-files-and-directories.md) +##### [Bypass traverse checking](security-policy-settings/bypass-traverse-checking.md) +##### [Change the system time](security-policy-settings/change-the-system-time.md) +##### [Change the time zone](security-policy-settings/change-the-time-zone.md) +##### [Create a pagefile](security-policy-settings/create-a-pagefile.md) +##### [Create a token object](security-policy-settings/create-a-token-object.md) +##### [Create global objects](security-policy-settings/create-global-objects.md) +##### [Create permanent shared objects](security-policy-settings/create-permanent-shared-objects.md) +##### [Create symbolic links](security-policy-settings/create-symbolic-links.md) +##### [Debug programs](security-policy-settings/debug-programs.md) +##### [Deny access to this computer from the network](security-policy-settings/deny-access-to-this-computer-from-the-network.md) +##### [Deny log on as a batch job](security-policy-settings/deny-log-on-as-a-batch-job.md) +##### [Deny log on as a service](security-policy-settings/deny-log-on-as-a-service.md) +##### [Deny log on locally](security-policy-settings/deny-log-on-locally.md) +##### [Deny log on through Remote Desktop Services](security-policy-settings/deny-log-on-through-remote-desktop-services.md) +##### [Enable computer and user accounts to be trusted for delegation](security-policy-settings/enable-computer-and-user-accounts-to-be-trusted-for-delegation.md) +##### [Force shutdown from a remote system](security-policy-settings/force-shutdown-from-a-remote-system.md) +##### [Generate security audits](security-policy-settings/generate-security-audits.md) +##### [Impersonate a client after authentication](security-policy-settings/impersonate-a-client-after-authentication.md) +##### [Increase a process working set](security-policy-settings/increase-a-process-working-set.md) +##### [Increase scheduling priority](security-policy-settings/increase-scheduling-priority.md) +##### [Load and unload device drivers](security-policy-settings/load-and-unload-device-drivers.md) +##### [Lock pages in memory](security-policy-settings/lock-pages-in-memory.md) +##### [Log on as a batch job](security-policy-settings/log-on-as-a-batch-job.md) +##### [Log on as a service](security-policy-settings/log-on-as-a-service.md) +##### [Manage auditing and security log](security-policy-settings/manage-auditing-and-security-log.md) +##### [Modify an object label](security-policy-settings/modify-an-object-label.md) +##### [Modify firmware environment values](security-policy-settings/modify-firmware-environment-values.md) +##### [Perform volume maintenance tasks](security-policy-settings/perform-volume-maintenance-tasks.md) +##### [Profile single process](security-policy-settings/profile-single-process.md) +##### [Profile system performance](security-policy-settings/profile-system-performance.md) +##### [Remove computer from docking station](security-policy-settings/remove-computer-from-docking-station.md) +##### [Replace a process level token](security-policy-settings/replace-a-process-level-token.md) +##### [Restore files and directories](security-policy-settings/restore-files-and-directories.md) +##### [Shut down the system](security-policy-settings/shut-down-the-system.md) +##### [Synchronize directory service data](security-policy-settings/synchronize-directory-service-data.md) +##### [Take ownership of files or other objects](security-policy-settings/take-ownership-of-files-or-other-objects.md) + + +## [Windows security baselines](windows-security-baselines.md) +### [Security Compliance Toolkit](security-compliance-toolkit-10.md) +### [Get support](get-support-for-security-baselines.md) + +## [Windows 10 Mobile security guide](windows-10-mobile-security-guide.md) + +## [Change history for Threat protection](change-history-for-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-security-center/TOC.md b/windows/security/threat-protection/windows-defender-security-center/TOC.md new file mode 100644 index 0000000000..1bb541cc85 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-security-center/TOC.md @@ -0,0 +1,11 @@ +# [The Windows Defender Security Center app](windows-defender-security-center.md) + + +## [Customize the Windows Defender Security Center app for your organization](wdsc-customize-contact-information.md) +## [Hide Windows Defender Security Center app notifications](wdsc-hide-notifications.md) +## [Virus and threat protection](wdsc-virus-threat-protection.md) +## [Device performance and health](wdsc-device-performance-health.md) +## [Firewall and network protection](wdsc-firewall-network-protection.md) +## [App and browser control](wdsc-app-browser-control.md) +## [Family options](wdsc-family-options.md) + From 755d6a5fe28bd52aed6e9daf96c4ba4559f4ae8b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 21 Feb 2018 09:52:54 -0800 Subject: [PATCH 007/212] moved applocker topic to WDAC --- windows/security/threat-protection/TOC.md | 185 +++++++++--------- .../device-guard-deployment-guide.md | 15 -- ...nd-windows-defender-application-control.md | 45 +++-- .../TOC.md | 96 ++++++++- .../applocker/TOC.md | 0 ...ged-apps-to-existing-applocker-rule-set.md | 0 .../applocker/administer-applocker.md | 0 .../applocker-architecture-and-components.md | 0 .../applocker/applocker-functions.md | 0 .../applocker/applocker-overview.md | 0 .../applocker-policies-deployment-guide.md | 0 .../applocker-policies-design-guide.md | 0 .../applocker-policy-use-scenarios.md | 0 .../applocker-processes-and-interactions.md | 0 .../applocker/applocker-settings.md | 0 .../applocker-technical-reference.md | 0 ...gure-an-applocker-policy-for-audit-only.md | 0 ...e-an-applocker-policy-for-enforce-rules.md | 0 ...figure-exceptions-for-an-applocker-rule.md | 0 ...onfigure-the-appLocker-reference-device.md | 0 ...figure-the-application-identity-service.md | 0 .../create-a-rule-for-packaged-apps.md | 0 ...-a-rule-that-uses-a-file-hash-condition.md | 0 ...reate-a-rule-that-uses-a-path-condition.md | 0 ...-a-rule-that-uses-a-publisher-condition.md | 0 .../create-applocker-default-rules.md | 0 ...cations-deployed-to-each-business-group.md | 0 ...create-your-applocker-planning-document.md | 0 .../create-your-applocker-policies.md | 0 .../applocker/create-your-applocker-rules.md | 0 .../applocker/delete-an-applocker-rule.md | 0 ...cies-by-using-the-enforce-rules-setting.md | 0 ...oy-the-applocker-policy-into-production.md | 0 ...p-policy-structure-and-rule-enforcement.md | 0 ...igitally-signed-on-a-reference-computer.md | 0 ...ine-your-application-control-objectives.md | 0 ...-users-try-to-run-a-blocked-application.md | 0 .../applocker/dll-rules-in-applocker.md | 0 ...tructure-and-applocker-rule-enforcement.md | 0 ...pplication-control-management-processes.md | 0 .../document-your-application-list.md | 0 .../document-your-applocker-rules.md | 0 .../applocker/edit-an-applocker-policy.md | 0 .../applocker/edit-applocker-rules.md | 0 .../enable-the-dll-rule-collection.md | 0 .../applocker/enforce-applocker-rules.md | 0 .../executable-rules-in-applocker.md | 0 .../export-an-applocker-policy-from-a-gpo.md | 0 ...port-an-applocker-policy-to-an-xml-file.md | 0 .../applocker/how-applocker-works-techref.md | 0 .../images/applocker-plan-inheritance.gif | Bin .../applocker-plandeploy-quickreference.gif | Bin .../applocker/images/blockedappmsg.gif | Bin ...-applocker-policy-from-another-computer.md | 0 .../import-an-applocker-policy-into-a-gpo.md | 0 .../applocker/maintain-applocker-policies.md | 0 .../manage-packaged-apps-with-applocker.md | 0 ...r-policies-by-using-set-applockerpolicy.md | 0 .../merge-applocker-policies-manually.md | 0 ...onitor-application-usage-with-applocker.md | 0 .../optimize-applocker-performance.md | 0 ...ckaged-app-installer-rules-in-applocker.md | 0 .../plan-for-applocker-policy-management.md | 0 .../applocker/refresh-an-applocker-policy.md | 0 ...ements-for-deploying-applocker-policies.md | 0 .../requirements-to-use-applocker.md | 0 ...the-automatically-generate-rules-wizard.md | 0 .../applocker/script-rules-in-applocker.md | 0 .../security-considerations-for-applocker.md | 0 .../select-types-of-rules-to-create.md | 0 ...er-policy-by-using-test-applockerpolicy.md | 0 .../test-and-update-an-applocker-policy.md | 0 .../applocker/tools-to-use-with-applocker.md | 0 ...derstand-applocker-enforcement-settings.md | 0 ...stand-applocker-policy-design-decisions.md | 0 ...ent-setting-inheritance-in-group-policy.md | 0 ...the-applocker-policy-deployment-process.md | 0 ...plocker-allow-and-deny-actions-on-rules.md | 0 .../understanding-applocker-default-rules.md | 0 .../understanding-applocker-rule-behavior.md | 0 ...nderstanding-applocker-rule-collections.md | 0 ...standing-applocker-rule-condition-types.md | 0 ...understanding-applocker-rule-exceptions.md | 0 ...e-file-hash-rule-condition-in-applocker.md | 0 ...ng-the-path-rule-condition-in-applocker.md | 0 ...e-publisher-rule-condition-in-applocker.md | 0 ...-create-and-maintain-applocker-policies.md | 0 ...restriction-policies-in-the-same-domain.md | 0 ...he-applocker-windows-powershell-cmdlets.md | 0 .../using-event-viewer-with-applocker.md | 0 ...riction-policies-and-applocker-policies.md | 0 .../applocker/what-is-applocker.md | 0 .../windows-installer-rules-in-applocker.md | 0 .../working-with-applocker-policies.md | 0 .../applocker/working-with-applocker-rules.md | 0 ...fender-application-control-design-guide.md | 17 ++ .../windows-defender-exploit-guard/TOC.md | 3 + .../memory-integrity.md | 38 ++++ 98 files changed, 277 insertions(+), 122 deletions(-) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/TOC.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/administer-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-architecture-and-components.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-functions.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-overview.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-policies-deployment-guide.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-policies-design-guide.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-policy-use-scenarios.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-processes-and-interactions.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-settings.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/applocker-technical-reference.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/configure-an-applocker-policy-for-audit-only.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/configure-an-applocker-policy-for-enforce-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/configure-exceptions-for-an-applocker-rule.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/configure-the-appLocker-reference-device.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/configure-the-application-identity-service.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-a-rule-for-packaged-apps.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-a-rule-that-uses-a-file-hash-condition.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-a-rule-that-uses-a-path-condition.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-a-rule-that-uses-a-publisher-condition.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-applocker-default-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-list-of-applications-deployed-to-each-business-group.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-your-applocker-planning-document.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-your-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/create-your-applocker-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/delete-an-applocker-rule.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/deploy-the-applocker-policy-into-production.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/determine-group-policy-structure-and-rule-enforcement.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/determine-your-application-control-objectives.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/dll-rules-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/document-your-application-control-management-processes.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/document-your-application-list.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/document-your-applocker-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/edit-an-applocker-policy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/edit-applocker-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/enable-the-dll-rule-collection.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/enforce-applocker-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/executable-rules-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/export-an-applocker-policy-from-a-gpo.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/export-an-applocker-policy-to-an-xml-file.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/how-applocker-works-techref.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/images/applocker-plan-inheritance.gif (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/images/applocker-plandeploy-quickreference.gif (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/images/blockedappmsg.gif (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/import-an-applocker-policy-from-another-computer.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/import-an-applocker-policy-into-a-gpo.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/maintain-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/manage-packaged-apps-with-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/merge-applocker-policies-manually.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/monitor-application-usage-with-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/optimize-applocker-performance.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/plan-for-applocker-policy-management.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/refresh-an-applocker-policy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/requirements-for-deploying-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/requirements-to-use-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/run-the-automatically-generate-rules-wizard.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/script-rules-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/security-considerations-for-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/select-types-of-rules-to-create.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/test-and-update-an-applocker-policy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/tools-to-use-with-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understand-applocker-enforcement-settings.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understand-applocker-policy-design-decisions.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understand-the-applocker-policy-deployment-process.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-default-rules.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-rule-behavior.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-rule-collections.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-rule-condition-types.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-applocker-rule-exceptions.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-the-file-hash-rule-condition-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-the-path-rule-condition-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/understanding-the-publisher-rule-condition-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/use-the-applocker-windows-powershell-cmdlets.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/using-event-viewer-with-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/using-software-restriction-policies-and-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/what-is-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/windows-installer-rules-in-applocker.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/working-with-applocker-policies.md (100%) rename windows/security/threat-protection/{ => windows-defender-application-control}/applocker/working-with-applocker-rules.md (100%) create mode 100644 windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md create mode 100644 windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 50f00777bd..b2a01ccc0a 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -265,6 +265,9 @@ #### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) #### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) ##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard\import-export-exploit-protection-emet-xml.md) +#### [Memory integrity](memory-integrity.md) +##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) +##### [Enable virtualization-based protection of code integrity](device-guard/deploy-device-guard-enable-virtualization-based-security.md) ### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) #### [Enable Attack surface reduction](windows-defender-exploit-guard\enable-attack-surface-reduction.md) @@ -281,99 +284,101 @@ ## [Windows Defender Application Control](windows-defender-application-control\windows-defender-application-control.md) -### [Deploy WDAC policies](windows-defender-application-control\deploy-windows-defender-application-control-policies.md) +### [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) + +### [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) +#### [Deploy WDAC policies](windows-defender-application-control\deploy-windows-defender-application-control-policies.md) ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) -## [AppLocker](applocker\applocker-overview.md) -### [Administer AppLocker](applocker\administer-applocker.md) -#### [Maintain AppLocker policies](applocker\maintain-applocker-policies.md) -#### [Edit an AppLocker policy](applocker\edit-an-applocker-policy.md) -#### [Test and update an AppLocker policy](applocker\test-and-update-an-applocker-policy.md) -#### [Deploy AppLocker policies by using the enforce rules setting](applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) -#### [Use the AppLocker Windows PowerShell cmdlets](applocker\use-the-applocker-windows-powershell-cmdlets.md) -#### [Use AppLocker and Software Restriction Policies in the same domain](applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) -#### [Optimize AppLocker performance](applocker\optimize-applocker-performance.md) -#### [Monitor app usage with AppLocker](applocker\monitor-application-usage-with-applocker.md) -#### [Manage packaged apps with AppLocker](applocker\manage-packaged-apps-with-applocker.md) -#### [Working with AppLocker rules](applocker\working-with-applocker-rules.md) -##### [Create a rule that uses a file hash condition](applocker\create-a-rule-that-uses-a-file-hash-condition.md) -##### [Create a rule that uses a path condition](applocker\create-a-rule-that-uses-a-path-condition.md) -##### [Create a rule that uses a publisher condition](applocker\create-a-rule-that-uses-a-publisher-condition.md) -##### [Create AppLocker default rules](applocker\create-applocker-default-rules.md) -##### [Add exceptions for an AppLocker rule](applocker\configure-exceptions-for-an-applocker-rule.md) -##### [Create a rule for packaged apps](applocker\create-a-rule-for-packaged-apps.md) -##### [Delete an AppLocker rule](applocker\delete-an-applocker-rule.md) -##### [Edit AppLocker rules](applocker\edit-applocker-rules.md) -##### [Enable the DLL rule collection](applocker\enable-the-dll-rule-collection.md) -##### [Enforce AppLocker rules](applocker\enforce-applocker-rules.md) -##### [Run the Automatically Generate Rules wizard](applocker\run-the-automatically-generate-rules-wizard.md) -#### [Working with AppLocker policies](applocker\working-with-applocker-policies.md) -##### [Configure the Application Identity service](applocker\configure-the-application-identity-service.md) -##### [Configure an AppLocker policy for audit only](applocker\configure-an-applocker-policy-for-audit-only.md) -##### [Configure an AppLocker policy for enforce rules](applocker\configure-an-applocker-policy-for-enforce-rules.md) -##### [Display a custom URL message when users try to run a blocked app](applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) -##### [Export an AppLocker policy from a GPO](applocker\export-an-applocker-policy-from-a-gpo.md) -##### [Export an AppLocker policy to an XML file](applocker\export-an-applocker-policy-to-an-xml-file.md) -##### [Import an AppLocker policy from another computer](applocker\import-an-applocker-policy-from-another-computer.md) -##### [Import an AppLocker policy into a GPO](applocker\import-an-applocker-policy-into-a-gpo.md) -##### [Add rules for packaged apps to existing AppLocker rule-set](applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) -##### [Merge AppLocker policies by using Set-ApplockerPolicy](applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) -##### [Merge AppLocker policies manually](applocker\merge-applocker-policies-manually.md) -##### [Refresh an AppLocker policy](applocker\refresh-an-applocker-policy.md) -##### [Test an AppLocker policy by using Test-AppLockerPolicy](applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) -### [AppLocker design guide](applocker\applocker-policies-design-guide.md) -#### [Understand AppLocker policy design decisions](applocker\understand-applocker-policy-design-decisions.md) -#### [Determine your application control objectives](applocker\determine-your-application-control-objectives.md) -#### [Create a list of apps deployed to each business group](applocker\create-list-of-applications-deployed-to-each-business-group.md) -##### [Document your app list](applocker\document-your-application-list.md) -#### [Select the types of rules to create](applocker\select-types-of-rules-to-create.md) -##### [Document your AppLocker rules](applocker\document-your-applocker-rules.md) -#### [Determine the Group Policy structure and rule enforcement](applocker\determine-group-policy-structure-and-rule-enforcement.md) -##### [Understand AppLocker enforcement settings](applocker\understand-applocker-enforcement-settings.md) -##### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) -##### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) -#### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) -##### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) -#### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) -### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) -#### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) -#### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) -#### [Use Software Restriction Policies and AppLocker policies](applocker\using-software-restriction-policies-and-applocker-policies.md) -#### [Create Your AppLocker policies](applocker\create-your-applocker-policies.md) -##### [Create Your AppLocker rules](applocker\create-your-applocker-rules.md) -#### [Deploy the AppLocker policy into production](applocker\deploy-the-applocker-policy-into-production.md) -##### [Use a reference device to create and maintain AppLocker policies](applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) -###### [Determine which apps are digitally signed on a reference device](applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) -###### [Configure the AppLocker reference device](applocker\configure-the-appLocker-reference-device.md) -### [AppLocker technical reference](applocker\applocker-technical-reference.md) -#### [What Is AppLocker?](applocker\what-is-applocker.md) -#### [Requirements to use AppLocker](applocker\requirements-to-use-applocker.md) -#### [AppLocker policy use scenarios](applocker\applocker-policy-use-scenarios.md) -#### [How AppLocker works](applocker\how-applocker-works-techref.md) -##### [Understanding AppLocker rule behavior](applocker\understanding-applocker-rule-behavior.md) -##### [Understanding AppLocker rule exceptions](applocker\understanding-applocker-rule-exceptions.md) -##### [Understanding AppLocker rule collections](applocker\understanding-applocker-rule-collections.md) -##### [Understanding AppLocker allow and deny actions on rules](applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) -##### [Understanding AppLocker rule condition types](applocker\understanding-applocker-rule-condition-types.md) -###### [Understanding the publisher rule condition in AppLocker](applocker\understanding-the-publisher-rule-condition-in-applocker.md) -###### [Understanding the path rule condition in AppLocker](applocker\understanding-the-path-rule-condition-in-applocker.md) -###### [Understanding the file hash rule condition in AppLocker](applocker\understanding-the-file-hash-rule-condition-in-applocker.md) -##### [Understanding AppLocker default rules](applocker\understanding-applocker-default-rules.md) -###### [Executable rules in AppLocker](applocker\executable-rules-in-applocker.md) -###### [Windows Installer rules in AppLocker](applocker\windows-installer-rules-in-applocker.md) -###### [Script rules in AppLocker](applocker\script-rules-in-applocker.md) -###### [DLL rules in AppLocker](applocker\dll-rules-in-applocker.md) -###### [Packaged apps and packaged app installer rules in AppLocker](applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) -#### [AppLocker architecture and components](applocker\applocker-architecture-and-components.md) -#### [AppLocker processes and interactions](applocker\applocker-processes-and-interactions.md) -#### [AppLocker functions](applocker\applocker-functions.md) -#### [Security considerations for AppLocker](applocker\security-considerations-for-applocker.md) -#### [Tools to Use with AppLocker](applocker\tools-to-use-with-applocker.md) -##### [Using Event Viewer with AppLocker](applocker\using-event-viewer-with-applocker.md) -#### [AppLocker Settings](applocker\applocker-settings.md) - - +### [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) +### [AppLocker](applocker\applocker-overview.md) +#### [Administer AppLocker](applocker\administer-applocker.md) +##### [Maintain AppLocker policies](applocker\maintain-applocker-policies.md) +##### [Edit an AppLocker policy](applocker\edit-an-applocker-policy.md) +##### [Test and update an AppLocker policy](applocker\test-and-update-an-applocker-policy.md) +##### [Deploy AppLocker policies by using the enforce rules setting](applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) +##### [Use the AppLocker Windows PowerShell cmdlets](applocker\use-the-applocker-windows-powershell-cmdlets.md) +##### [Use AppLocker and Software Restriction Policies in the same domain](applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) +##### [Optimize AppLocker performance](applocker\optimize-applocker-performance.md) +##### [Monitor app usage with AppLocker](applocker\monitor-application-usage-with-applocker.md) +##### [Manage packaged apps with AppLocker](applocker\manage-packaged-apps-with-applocker.md) +##### [Working with AppLocker rules](applocker\working-with-applocker-rules.md) +###### [Create a rule that uses a file hash condition](applocker\create-a-rule-that-uses-a-file-hash-condition.md) +###### [Create a rule that uses a path condition](applocker\create-a-rule-that-uses-a-path-condition.md) +###### [Create a rule that uses a publisher condition](applocker\create-a-rule-that-uses-a-publisher-condition.md) +###### [Create AppLocker default rules](applocker\create-applocker-default-rules.md) +###### [Add exceptions for an AppLocker rule](applocker\configure-exceptions-for-an-applocker-rule.md) +###### [Create a rule for packaged apps](applocker\create-a-rule-for-packaged-apps.md) +###### [Delete an AppLocker rule](applocker\delete-an-applocker-rule.md) +###### [Edit AppLocker rules](applocker\edit-applocker-rules.md) +###### [Enable the DLL rule collection](applocker\enable-the-dll-rule-collection.md) +###### [Enforce AppLocker rules](applocker\enforce-applocker-rules.md) +###### [Run the Automatically Generate Rules wizard](applocker\run-the-automatically-generate-rules-wizard.md) +##### [Working with AppLocker policies](applocker\working-with-applocker-policies.md) +###### [Configure the Application Identity service](applocker\configure-the-application-identity-service.md) +###### [Configure an AppLocker policy for audit only](applocker\configure-an-applocker-policy-for-audit-only.md) +###### [Configure an AppLocker policy for enforce rules](applocker\configure-an-applocker-policy-for-enforce-rules.md) +###### [Display a custom URL message when users try to run a blocked app](applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) +###### [Export an AppLocker policy from a GPO](applocker\export-an-applocker-policy-from-a-gpo.md) +###### [Export an AppLocker policy to an XML file](applocker\export-an-applocker-policy-to-an-xml-file.md) +###### [Import an AppLocker policy from another computer](applocker\import-an-applocker-policy-from-another-computer.md) +###### [Import an AppLocker policy into a GPO](applocker\import-an-applocker-policy-into-a-gpo.md) +###### [Add rules for packaged apps to existing AppLocker rule-set](applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) +###### [Merge AppLocker policies by using Set-ApplockerPolicy](applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) +###### [Merge AppLocker policies manually](applocker\merge-applocker-policies-manually.md) +###### [Refresh an AppLocker policy](applocker\refresh-an-applocker-policy.md) +###### [Test an AppLocker policy by using Test-AppLockerPolicy](applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) +#### [AppLocker design guide](applocker\applocker-policies-design-guide.md) +##### [Understand AppLocker policy design decisions](applocker\understand-applocker-policy-design-decisions.md) +##### [Determine your application control objectives](applocker\determine-your-application-control-objectives.md) +##### [Create a list of apps deployed to each business group](applocker\create-list-of-applications-deployed-to-each-business-group.md) +###### [Document your app list](applocker\document-your-application-list.md) +##### [Select the types of rules to create](applocker\select-types-of-rules-to-create.md) +###### [Document your AppLocker rules](applocker\document-your-applocker-rules.md) +##### [Determine the Group Policy structure and rule enforcement](applocker\determine-group-policy-structure-and-rule-enforcement.md) +###### [Understand AppLocker enforcement settings](applocker\understand-applocker-enforcement-settings.md) +###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) +###### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) +##### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) +###### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) +##### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) +#### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) +##### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) +##### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) +##### [Use Software Restriction Policies and AppLocker policies](applocker\using-software-restriction-policies-and-applocker-policies.md) +##### [Create Your AppLocker policies](applocker\create-your-applocker-policies.md) +###### [Create Your AppLocker rules](applocker\create-your-applocker-rules.md) +##### [Deploy the AppLocker policy into production](applocker\deploy-the-applocker-policy-into-production.md) +###### [Use a reference device to create and maintain AppLocker policies](applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) +####### [Determine which apps are digitally signed on a reference device](applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) +####### [Configure the AppLocker reference device](applocker\configure-the-appLocker-reference-device.md) +#### [AppLocker technical reference](applocker\applocker-technical-reference.md) +##### [What Is AppLocker?](applocker\what-is-applocker.md) +##### [Requirements to use AppLocker](applocker\requirements-to-use-applocker.md) +##### [AppLocker policy use scenarios](applocker\applocker-policy-use-scenarios.md) +##### [How AppLocker works](applocker\how-applocker-works-techref.md) +###### [Understanding AppLocker rule behavior](applocker\understanding-applocker-rule-behavior.md) +###### [Understanding AppLocker rule exceptions](applocker\understanding-applocker-rule-exceptions.md) +###### [Understanding AppLocker rule collections](applocker\understanding-applocker-rule-collections.md) +###### [Understanding AppLocker allow and deny actions on rules](applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) +###### [Understanding AppLocker rule condition types](applocker\understanding-applocker-rule-condition-types.md) +####### [Understanding the publisher rule condition in AppLocker](applocker\understanding-the-publisher-rule-condition-in-applocker.md) +####### [Understanding the path rule condition in AppLocker](applocker\understanding-the-path-rule-condition-in-applocker.md) +####### [Understanding the file hash rule condition in AppLocker](applocker\understanding-the-file-hash-rule-condition-in-applocker.md) +###### [Understanding AppLocker default rules](applocker\understanding-applocker-default-rules.md) +####### [Executable rules in AppLocker](applocker\executable-rules-in-applocker.md) +####### [Windows Installer rules in AppLocker](applocker\windows-installer-rules-in-applocker.md) +####### [Script rules in AppLocker](applocker\script-rules-in-applocker.md) +####### [DLL rules in AppLocker](applocker\dll-rules-in-applocker.md) +####### [Packaged apps and packaged app installer rules in AppLocker](applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) +##### [AppLocker architecture and components](applocker\applocker-architecture-and-components.md) +##### [AppLocker processes and interactions](applocker\applocker-processes-and-interactions.md) +##### [AppLocker functions](applocker\applocker-functions.md) +##### [Security considerations for AppLocker](applocker\security-considerations-for-applocker.md) +##### [Tools to Use with AppLocker](applocker\tools-to-use-with-applocker.md) +###### [Using Event Viewer with AppLocker](applocker\using-event-viewer-with-applocker.md) +##### [AppLocker Settings](applocker\applocker-settings.md) ## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) diff --git a/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md b/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md index 0408fa63d3..c8b9a70188 100644 --- a/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md +++ b/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md @@ -40,18 +40,3 @@ This guide explores the individual features in Windows Defender Device Guard as - [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md) -## Related topics - -[AppLocker overview](/windows/device-security/applocker/applocker-overview) - - - -[Code integrity](https://technet.microsoft.com/library/dd348642.aspx) - -[Protect derived domain credentials with Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard) - -[Driver compatibility with Windows Defender Device Guard in Windows 10](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10) - -[Dropping the Hammer Down on Malware Threats with Windows 10’s Windows Defender Device Guard](https://channel9.msdn.com/Events/Ignite/2015/BRK2336) - - diff --git a/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md index a1b6bbcab8..33195c8a03 100644 --- a/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md @@ -6,7 +6,7 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.localizationpriority: high author: brianlic-msft -ms.date: 10/20/2017 +ms.date: 02/20/2018 --- # Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control @@ -15,13 +15,13 @@ ms.date: 10/20/2017 - Windows 10 - Windows Server 2016 -With thousands of new malicious files created every day, using traditional methods like antivirus solutions—signature-based detection to fight against malware—provides an inadequate defense against new attacks. Windows Defender Device Guard changes from a mode where apps are trusted unless blocked by an antivirus or other security solution, to a mode where the operating system trusts only apps authorized by your enterprise. You designate these trusted apps by creating *Windows Defender Application Control (WDAC) policies*. +With thousands of new malicious files created every day, using traditional methods like antivirus solutions—signature-based detection to fight against malware—provides an inadequate defense against new attacks. Windows Defender Device Guard changes from a mode where apps are trusted unless blocked by an antivirus or other security solution, to a mode where the operating system trusts only apps authorized by your enterprise. You designate these trusted apps by creating [Windows Defender Application Control (WDAC)](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) policies (formerly known as code integrity policies). -> [!NOTE] -> Prior to Windows 10, version 1709, Windows Defender Application Control was known as configurable code integrity policies. +Although WDAC has no hardware requirements, Windows Defender Device Guard can increase the security of code integrity policies on hardware that includes CPU virtualization extensions (called "Intel VT-x" or "AMD-V") and second-level address translation (SLAT). On this supported hardware, Windows Defender Device Guard can use Virtualization Based Security (VBS) to run the Code Integrity service alongside the kernel in a Windows hypervisor-protected container (also known as HVCI). HVCI is one of several protections that can be enabled in the [Memory integrity](/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity) feature of Windows Defender Exploit Guard. -On hardware that includes CPU virtualization extensions (called "Intel VT-x" or "AMD-V") and second-level address translation (SLAT), Windows Defender Device Guard can also use Virtualization Based Security (VBS) to run the Code Integrity service alongside the kernel in a Windows hypervisor-protected container, which increases the security of code integrity policies. On hardware that includes input/output memory management units (IOMMUs), Windows Defender Device Guard can also help protect against DMA attacks. The following table provides more information about how Windows Defender Device Guard and these hardware features can help protect against various threats. +On hardware that includes input/output memory management units (IOMMUs), Windows Defender Device Guard can also help protect against DMA attacks. +The following table provides more information about how Windows Defender Device Guard and these hardware features can help protect against various threats. When Windows Defender Application Control and hardware-based security features are combined, Windows Defender Device Guard provides a locked-down configuration for computers. ## How Windows Defender Device Guard features help protect against threats @@ -32,17 +32,17 @@ The following table lists security threats and describes the corresponding Windo | --------------------------------- | ----------------------------------------------------------- | | **Exposure to new malware**, for which the "signature" is not yet known | **Windows Defender Application Control (WDAC)**:  You can maintain a whitelist of software that is allowed to run (a configurable code integrity policy), rather than constantly update a list of "signatures" of software that should be blocked. This approach uses the trust-nothing model well known in mobile device operating systems.
Only code that is verified by WDAC, usually through the digital signature that you have identified as being from a trusted signer, is allowed to run. This allows full control over allowed code in both kernel and user mode.

**Specialized hardware required?** No security-related hardware features are required, but WDAC is strengthened by such features, as described in the next rows.

[!NOTE] Prior to Windows 10, version 1709, Windows Defender Application Control was known as configurable code integrity policies. | | **Exposure to unsigned code** (most malware is unsigned) | **WDAC plus catalog files as needed**:  Because most malware is unsigned, WDAC can immediately help protect against a large number of threats. For organizations that use unsigned line-of-business (LOB) applications, you can use a tool called Package Inspector to create a *catalog* of all deployed and executed binary files for your trusted applications. After you sign and distribute the catalog, your trusted applications can be handled by WDAC in the same way as any other signed application. With this foundation, you can more easily block all unsigned applications, allowing only signed applications to run.

**Specialized hardware required?** No, but WDAC and catalogs are strengthened by the hardware features, as described in the next rows. | -| **Malware that gains access to the kernel** and then, from within the kernel, captures sensitive information or damages the system | **Virtualization-based protection of code integrity**:  This is protection that uses Windows 10’s new virtualization-based security (VBS) feature to help protect the kernel and other parts of the operating system. When virtualization-based protection of code integrity (also known as hypervisor-protected code integrity, or HVCI) is enabled, it strengthens either the default kernel-mode code integrity policy (which protects against bad drivers or system files), or the configurable code integrity policy that you deploy.
With HVCI, even if malware gains access to the kernel, the effects can be severely limited because the hypervisor can prevent the malware from executing code. The hypervisor, the most privileged level of system software, enforces R/W/X permissions across system memory. Code integrity checks are performed in a secure environment which is resistant to attack from kernel mode software, and page permissions for kernel mode are set and maintained by the hypervisor. Even if there are vulnerabilities that allow memory modification, like a buffer overflow, the modified memory cannot be executed.

**Specialized hardware required?** Yes, VBS requires at least CPU virtualization extensions and SLAT, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | +| **Malware that gains access to the kernel** and then, from within the kernel, captures sensitive information or damages the system | **Virtualization-based protection of code integrity**:  This is protection that uses Windows 10’s new virtualization-based security (VBS) feature to help protect the kernel and other parts of the operating system. When virtualization-based protection of code integrity (also known as hypervisor-protected code integrity, or HVCI) is enabled, it strengthens either the default kernel-mode code integrity policy (which protects against bad drivers or system files), or the configurable code integrity policy that you deploy.
With HVCI, even if malware gains access to the kernel, the effects can be severely limited because the hypervisor can prevent the malware from executing code. The hypervisor, the most privileged level of system software, enforces R/W/X permissions across system memory. Code integrity checks are performed in a secure environment which is resistant to attack from kernel mode software, and page permissions for kernel mode are set and maintained by the hypervisor. Even if there are vulnerabilities that allow memory modification, like a buffer overflow, the modified memory cannot be executed.

**Specialized hardware required?** Yes, VBS requires at least CPU virtualization extensions and SLAT, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | | **DMA-based attacks**, for example, attacks launched from a malicious device that reads secrets from memory, making the enterprise more vulnerable to attack | **Virtualization-based security (VBS) using IOMMUs**:  With this type of VBS protection, when the DMA-based attack makes a memory request, IOMMUs will evaluate the request and deny access.

**Specialized hardware required?** Yes, IOMMUs are a hardware feature that supports the hypervisor, and if you choose hardware that includes them, they can help protect against malicious attempts to access memory. | -| **Exposure to boot kits or to a physically present attacker at boot time** | **Universal Extensible Firmware Interface (UEFI) Secure Boot**:   Secure Boot and related methods protect the boot process and firmware from tampering. This tampering can come from a physically present attacker or from forms of malware that run early in the boot process or in the kernel after startup. UEFI is locked down (Boot order, Boot entries, Secure Boot, Virtualization extensions, IOMMU, Microsoft UEFI CA), so the settings in UEFI cannot be changed to compromise Windows Defender Device Guard security.

**Specialized hardware required?** UEFI Secure Boot has firmware requirements. For more information, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | +| **Exposure to boot kits or to a physically present attacker at boot time** | **Universal Extensible Firmware Interface (UEFI) Secure Boot**:   Secure Boot and related methods protect the boot process and firmware from tampering. This tampering can come from a physically present attacker or from forms of malware that run early in the boot process or in the kernel after startup. UEFI is locked down (Boot order, Boot entries, Secure Boot, Virtualization extensions, IOMMU, Microsoft UEFI CA), so the settings in UEFI cannot be changed to compromise Windows Defender Device Guard security.

**Specialized hardware required?** UEFI Secure Boot has firmware requirements. For more information, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | -In this guide, you learn about the individual features found within Windows Defender Device Guard as well as how to plan for, configure, and deploy them. Windows Defender Device Guard with WDAC is intended for deployment alongside additional threat-mitigating Windows features such as [Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard) and [AppLocker](/windows/device-security/applocker/applocker-overview). +In this guide, you learn about the individual features found within Windows Defender Device Guard as well as how to plan for, configure, and deploy them. Windows Defender Device Guard with WDAC is intended for deployment alongside additional threat-mitigating Windows features such as [Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard) and [AppLocker](/windows/security/threat-protection/applocker/applocker-overview). ## New and changed functionality Prior to Windows 10, version 1709, Windows Defender Application Control (WDAC) was known as configurable code integrity policies. -Beginning with Windows 10, version 1703, you can use WDAC not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser). For more information, see [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](steps-to-deploy-windows-defender-application-control.md#use-a-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules). +Beginning with Windows 10, version 1703, you can use WDAC not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser). For more information, see [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control#use-a-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules). ## Tools for managing Windows Defender Device Guard features @@ -53,25 +53,25 @@ You can easily manage Windows Defender Device Guard features by using familiar e - **Group Policy**. Windows 10 provides an administrative template to configure and deploy the configurable WDAC policies for your organization. Another template allows you to specify which hardware-based security features you would like to enable and deploy. You can manage these settings along with your existing Group Policy Objects (GPOs), which makes it simpler to implement Windows Defender Device Guard features. In addition to these WDAC and hardware-based security features, you can use Group Policy to help you manage your catalog files. - For a description of catalog files, see the table row describing **Exposure to unsigned code** in [How Windows Defender Device Guard features help protect against threats](#how-windows-defender-device-guard-features-help-protect-against-threats), earlier in this topic. - - For information about using Group Policy as a deployment tool, see:
[Deploy catalog files with Group Policy](deploy-catalog-files-to-support-windows-defender-application-control.md#deploy-catalog-files-with-group-policy)
[Deploy and manage WDAC with Group Policy](steps-to-deploy-windows-defender-application-control.md#deploy-and-manage-windows-defender-application-control-with-group-policy) + - For information about using Group Policy as a deployment tool, see:
[Deploy catalog files with Group Policy](/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control#deploy-catalog-files-with-group-policy)
[Deploy and manage WDAC with Group Policy](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control#deploy-and-manage-windows-defender-application-control-with-group-policy) -- **Microsoft System Center Configuration Manager**. You can use System Center Configuration Manager to simplify deployment and management of catalog files, WDAC policies, and hardware-based security features, as well as provide version control. For more information, see [Deploy catalog files with System Center Configuration Manager](deploy-catalog-files-to-support-windows-defender-application-control.md#deploy-catalog-files-with-system-center-configuration-manager). +- **Microsoft System Center Configuration Manager**. You can use System Center Configuration Manager to simplify deployment and management of catalog files, WDAC policies, and hardware-based security features, as well as provide version control. For more information, see [Deploy catalog files with System Center Configuration Manager](/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control#deploy-catalog-files-with-system-center-configuration-manager). - **Microsoft Intune**. You can use Microsoft Intune to simplify deployment and management of WDAC policies, as well as provide version control. In a future release of Microsoft Intune, Microsoft is considering including features that will support the deployment and management of catalog files. -- **Windows PowerShell**. You can use Windows PowerShell to create and service WDAC policies. For more information, see [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md). +- **Windows PowerShell**. You can use Windows PowerShell to create and service WDAC policies. For more information, see [Deploy Windows Defender Application Control: steps](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control). These options provide the same experience you're used to in order to manage your existing enterprise management solutions. For more information about the deployment of Windows Defender Device Guard features, see: -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) -- [Deploy virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md) +- [Deploy Windows Defender Application Control](/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control) +- [Deploy virtualization-based protection of code integrity](/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security) ## Other features that relate to Windows Defender Device Guard ### Windows Defender Device Guard with AppLocker -Although [AppLocker](/windows/device-security/applocker/applocker-overview) is not considered a new Windows Defender Device Guard feature, it complements Windows Defender Device Guard functionality when WDAC cannot be fully implemented or its functionality does not cover every desired scenario. There are many scenarios in which WDAC would be used alongside AppLocker rules. As a best practice, you should enforce WDAC at the most restrictive level possible for your organization, and then you can use AppLocker to fine-tune the restrictions to an even lower level. +Although [AppLocker](/windows/security/threat-protection/applocker/applocker-overview) is not considered a new Windows Defender Device Guard feature, it complements Windows Defender Device Guard functionality when WDAC cannot be fully implemented or its functionality does not cover every desired scenario. There are many scenarios in which WDAC would be used alongside AppLocker rules. As a best practice, you should enforce WDAC at the most restrictive level possible for your organization, and then you can use AppLocker to fine-tune the restrictions to an even lower level. > **Note**  One example of how Windows Defender Device Guard functionality can be enhanced by AppLocker is when you want to apply different policies for different users on the same device. For example, you may allow your IT support personnel to run additional apps that you do not allow for your end-users. You can accomplish this user-specific enforcement by using an AppLocker rule. @@ -79,9 +79,22 @@ AppLocker and Windows Defender Device Guard should run side-by-side in your orga ### Windows Defender Device Guard with Windows Defender Credential Guard -Another Windows 10 feature that employs VBS is [Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard). Windows Defender Credential Guard provides additional protection to Active Directory domain users by storing domain credentials within the same type of VBS virtualization container that hosts code integrity when HVCI is enabled. By isolating these domain credentials from the active user mode and kernel mode, they have a much lower risk of being stolen. For more information about Windows Defender Credential Guard (which is not a feature within Windows Defender Device Guard), see [Protect derived domain credentials with Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard). +Another Windows 10 feature that employs VBS is [Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard). Windows Defender Credential Guard provides additional protection to Active Directory domain users by storing domain credentials within the same type of VBS virtualization container that hosts code integrity when HVCI is enabled. By isolating these domain credentials from the active user mode and kernel mode, they have a much lower risk of being stolen. For more information about Windows Defender Credential Guard (which is not a feature within Windows Defender Device Guard), see [Protect derived domain credentials with Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard). Windows Defender Credential Guard is targeted at resisting pass-the-hash and pass-the-ticket techniques. By employing multifactor authentication with Windows Defender Credential Guard, organizations can gain additional protection against such threats. +## Related topics + +[Dropping the Hammer Down on Malware Threats with Windows 10’s Windows Defender Device Guard](https://channel9.msdn.com/Events/Ignite/2015/BRK2336) + +[Driver compatibility with Windows Defender Device Guard in Windows 10](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10) + +[AppLocker overview](/windows/device-security/applocker/applocker-overview) + +[Protect derived domain credentials with Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard) + + + +[Code integrity](https://technet.microsoft.com/library/dd348642.aspx) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 9517bb0667..e58099c3e5 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -1,3 +1,97 @@ # [Windows Defender Application Control](windows-defender-application-control.md) -## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) +## [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) + +## [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) + +## [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) + +## [AppLocker](applocker\applocker-overview.md) +### [Administer AppLocker](applocker\administer-applocker.md) +#### [Maintain AppLocker policies](applocker\maintain-applocker-policies.md) +#### [Edit an AppLocker policy](applocker\edit-an-applocker-policy.md) +#### [Test and update an AppLocker policy](applocker\test-and-update-an-applocker-policy.md) +#### [Deploy AppLocker policies by using the enforce rules setting](applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) +#### [Use the AppLocker Windows PowerShell cmdlets](applocker\use-the-applocker-windows-powershell-cmdlets.md) +#### [Use AppLocker and Software Restriction Policies in the same domain](applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) +#### [Optimize AppLocker performance](applocker\optimize-applocker-performance.md) +#### [Monitor app usage with AppLocker](applocker\monitor-application-usage-with-applocker.md) +#### [Manage packaged apps with AppLocker](applocker\manage-packaged-apps-with-applocker.md) +#### [Working with AppLocker rules](applocker\working-with-applocker-rules.md) +##### [Create a rule that uses a file hash condition](applocker\create-a-rule-that-uses-a-file-hash-condition.md) +##### [Create a rule that uses a path condition](applocker\create-a-rule-that-uses-a-path-condition.md) +##### [Create a rule that uses a publisher condition](applocker\create-a-rule-that-uses-a-publisher-condition.md) +##### [Create AppLocker default rules](applocker\create-applocker-default-rules.md) +##### [Add exceptions for an AppLocker rule](applocker\configure-exceptions-for-an-applocker-rule.md) +##### [Create a rule for packaged apps](applocker\create-a-rule-for-packaged-apps.md) +##### [Delete an AppLocker rule](applocker\delete-an-applocker-rule.md) +##### [Edit AppLocker rules](applocker\edit-applocker-rules.md) +##### [Enable the DLL rule collection](applocker\enable-the-dll-rule-collection.md) +##### [Enforce AppLocker rules](applocker\enforce-applocker-rules.md) +##### [Run the Automatically Generate Rules wizard](applocker\run-the-automatically-generate-rules-wizard.md) +#### [Working with AppLocker policies](applocker\working-with-applocker-policies.md) +##### [Configure the Application Identity service](applocker\configure-the-application-identity-service.md) +##### [Configure an AppLocker policy for audit only](applocker\configure-an-applocker-policy-for-audit-only.md) +##### [Configure an AppLocker policy for enforce rules](applocker\configure-an-applocker-policy-for-enforce-rules.md) +##### [Display a custom URL message when users try to run a blocked app](applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) +##### [Export an AppLocker policy from a GPO](applocker\export-an-applocker-policy-from-a-gpo.md) +##### [Export an AppLocker policy to an XML file](applocker\export-an-applocker-policy-to-an-xml-file.md) +##### [Import an AppLocker policy from another computer](applocker\import-an-applocker-policy-from-another-computer.md) +##### [Import an AppLocker policy into a GPO](applocker\import-an-applocker-policy-into-a-gpo.md) +##### [Add rules for packaged apps to existing AppLocker rule-set](applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) +##### [Merge AppLocker policies by using Set-ApplockerPolicy](applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) +##### [Merge AppLocker policies manually](applocker\merge-applocker-policies-manually.md) +##### [Refresh an AppLocker policy](applocker\refresh-an-applocker-policy.md) +##### [Test an AppLocker policy by using Test-AppLockerPolicy](applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) +### [AppLocker design guide](applocker\applocker-policies-design-guide.md) +#### [Understand AppLocker policy design decisions](applocker\understand-applocker-policy-design-decisions.md) +#### [Determine your application control objectives](applocker\determine-your-application-control-objectives.md) +#### [Create a list of apps deployed to each business group](applocker\create-list-of-applications-deployed-to-each-business-group.md) +##### [Document your app list](applocker\document-your-application-list.md) +#### [Select the types of rules to create](applocker\select-types-of-rules-to-create.md) +##### [Document your AppLocker rules](applocker\document-your-applocker-rules.md) +#### [Determine the Group Policy structure and rule enforcement](applocker\determine-group-policy-structure-and-rule-enforcement.md) +##### [Understand AppLocker enforcement settings](applocker\understand-applocker-enforcement-settings.md) +##### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) +##### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) +#### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) +##### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) +#### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) +### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) +#### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) +#### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) +#### [Use Software Restriction Policies and AppLocker policies](applocker\using-software-restriction-policies-and-applocker-policies.md) +#### [Create Your AppLocker policies](applocker\create-your-applocker-policies.md) +##### [Create Your AppLocker rules](applocker\create-your-applocker-rules.md) +#### [Deploy the AppLocker policy into production](applocker\deploy-the-applocker-policy-into-production.md) +##### [Use a reference device to create and maintain AppLocker policies](applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) +###### [Determine which apps are digitally signed on a reference device](applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) +###### [Configure the AppLocker reference device](applocker\configure-the-appLocker-reference-device.md) +### [AppLocker technical reference](applocker\applocker-technical-reference.md) +#### [What Is AppLocker?](applocker\what-is-applocker.md) +#### [Requirements to use AppLocker](applocker\requirements-to-use-applocker.md) +#### [AppLocker policy use scenarios](applocker\applocker-policy-use-scenarios.md) +#### [How AppLocker works](applocker\how-applocker-works-techref.md) +##### [Understanding AppLocker rule behavior](applocker\understanding-applocker-rule-behavior.md) +##### [Understanding AppLocker rule exceptions](applocker\understanding-applocker-rule-exceptions.md) +##### [Understanding AppLocker rule collections](applocker\understanding-applocker-rule-collections.md) +##### [Understanding AppLocker allow and deny actions on rules](applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) +##### [Understanding AppLocker rule condition types](applocker\understanding-applocker-rule-condition-types.md) +###### [Understanding the publisher rule condition in AppLocker](applocker\understanding-the-publisher-rule-condition-in-applocker.md) +###### [Understanding the path rule condition in AppLocker](applocker\understanding-the-path-rule-condition-in-applocker.md) +###### [Understanding the file hash rule condition in AppLocker](applocker\understanding-the-file-hash-rule-condition-in-applocker.md) +##### [Understanding AppLocker default rules](applocker\understanding-applocker-default-rules.md) +###### [Executable rules in AppLocker](applocker\executable-rules-in-applocker.md) +###### [Windows Installer rules in AppLocker](applocker\windows-installer-rules-in-applocker.md) +###### [Script rules in AppLocker](applocker\script-rules-in-applocker.md) +###### [DLL rules in AppLocker](applocker\dll-rules-in-applocker.md) +###### [Packaged apps and packaged app installer rules in AppLocker](applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) +#### [AppLocker architecture and components](applocker\applocker-architecture-and-components.md) +#### [AppLocker processes and interactions](applocker\applocker-processes-and-interactions.md) +#### [AppLocker functions](applocker\applocker-functions.md) +#### [Security considerations for AppLocker](applocker\security-considerations-for-applocker.md) +#### [Tools to Use with AppLocker](applocker\tools-to-use-with-applocker.md) +##### [Using Event Viewer with AppLocker](applocker\using-event-viewer-with-applocker.md) +#### [AppLocker Settings](applocker\applocker-settings.md) + + diff --git a/windows/security/threat-protection/applocker/TOC.md b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md similarity index 100% rename from windows/security/threat-protection/applocker/TOC.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md diff --git a/windows/security/threat-protection/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md b/windows/security/threat-protection/windows-defender-application-control/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md similarity index 100% rename from windows/security/threat-protection/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md diff --git a/windows/security/threat-protection/applocker/administer-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/administer-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md diff --git a/windows/security/threat-protection/applocker/applocker-architecture-and-components.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-architecture-and-components.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-architecture-and-components.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-architecture-and-components.md diff --git a/windows/security/threat-protection/applocker/applocker-functions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-functions.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-functions.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-functions.md diff --git a/windows/security/threat-protection/applocker/applocker-overview.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-overview.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview.md diff --git a/windows/security/threat-protection/applocker/applocker-policies-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-policies-deployment-guide.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md diff --git a/windows/security/threat-protection/applocker/applocker-policies-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-policies-design-guide.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md diff --git a/windows/security/threat-protection/applocker/applocker-policy-use-scenarios.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policy-use-scenarios.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-policy-use-scenarios.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policy-use-scenarios.md diff --git a/windows/security/threat-protection/applocker/applocker-processes-and-interactions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-processes-and-interactions.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-processes-and-interactions.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-processes-and-interactions.md diff --git a/windows/security/threat-protection/applocker/applocker-settings.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-settings.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-settings.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-settings.md diff --git a/windows/security/threat-protection/applocker/applocker-technical-reference.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-technical-reference.md similarity index 100% rename from windows/security/threat-protection/applocker/applocker-technical-reference.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/applocker-technical-reference.md diff --git a/windows/security/threat-protection/applocker/configure-an-applocker-policy-for-audit-only.md b/windows/security/threat-protection/windows-defender-application-control/applocker/configure-an-applocker-policy-for-audit-only.md similarity index 100% rename from windows/security/threat-protection/applocker/configure-an-applocker-policy-for-audit-only.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/configure-an-applocker-policy-for-audit-only.md diff --git a/windows/security/threat-protection/applocker/configure-an-applocker-policy-for-enforce-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/configure-an-applocker-policy-for-enforce-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/configure-an-applocker-policy-for-enforce-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/configure-an-applocker-policy-for-enforce-rules.md diff --git a/windows/security/threat-protection/applocker/configure-exceptions-for-an-applocker-rule.md b/windows/security/threat-protection/windows-defender-application-control/applocker/configure-exceptions-for-an-applocker-rule.md similarity index 100% rename from windows/security/threat-protection/applocker/configure-exceptions-for-an-applocker-rule.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/configure-exceptions-for-an-applocker-rule.md diff --git a/windows/security/threat-protection/applocker/configure-the-appLocker-reference-device.md b/windows/security/threat-protection/windows-defender-application-control/applocker/configure-the-appLocker-reference-device.md similarity index 100% rename from windows/security/threat-protection/applocker/configure-the-appLocker-reference-device.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/configure-the-appLocker-reference-device.md diff --git a/windows/security/threat-protection/applocker/configure-the-application-identity-service.md b/windows/security/threat-protection/windows-defender-application-control/applocker/configure-the-application-identity-service.md similarity index 100% rename from windows/security/threat-protection/applocker/configure-the-application-identity-service.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/configure-the-application-identity-service.md diff --git a/windows/security/threat-protection/applocker/create-a-rule-for-packaged-apps.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-for-packaged-apps.md similarity index 100% rename from windows/security/threat-protection/applocker/create-a-rule-for-packaged-apps.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-for-packaged-apps.md diff --git a/windows/security/threat-protection/applocker/create-a-rule-that-uses-a-file-hash-condition.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-file-hash-condition.md similarity index 100% rename from windows/security/threat-protection/applocker/create-a-rule-that-uses-a-file-hash-condition.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-file-hash-condition.md diff --git a/windows/security/threat-protection/applocker/create-a-rule-that-uses-a-path-condition.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-path-condition.md similarity index 100% rename from windows/security/threat-protection/applocker/create-a-rule-that-uses-a-path-condition.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-path-condition.md diff --git a/windows/security/threat-protection/applocker/create-a-rule-that-uses-a-publisher-condition.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-publisher-condition.md similarity index 100% rename from windows/security/threat-protection/applocker/create-a-rule-that-uses-a-publisher-condition.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-a-rule-that-uses-a-publisher-condition.md diff --git a/windows/security/threat-protection/applocker/create-applocker-default-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-applocker-default-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/create-applocker-default-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-applocker-default-rules.md diff --git a/windows/security/threat-protection/applocker/create-list-of-applications-deployed-to-each-business-group.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-list-of-applications-deployed-to-each-business-group.md similarity index 100% rename from windows/security/threat-protection/applocker/create-list-of-applications-deployed-to-each-business-group.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-list-of-applications-deployed-to-each-business-group.md diff --git a/windows/security/threat-protection/applocker/create-your-applocker-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md similarity index 100% rename from windows/security/threat-protection/applocker/create-your-applocker-planning-document.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md diff --git a/windows/security/threat-protection/applocker/create-your-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/create-your-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/create-your-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/create-your-applocker-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-rules.md diff --git a/windows/security/threat-protection/applocker/delete-an-applocker-rule.md b/windows/security/threat-protection/windows-defender-application-control/applocker/delete-an-applocker-rule.md similarity index 100% rename from windows/security/threat-protection/applocker/delete-an-applocker-rule.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/delete-an-applocker-rule.md diff --git a/windows/security/threat-protection/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md b/windows/security/threat-protection/windows-defender-application-control/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md similarity index 100% rename from windows/security/threat-protection/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md diff --git a/windows/security/threat-protection/applocker/deploy-the-applocker-policy-into-production.md b/windows/security/threat-protection/windows-defender-application-control/applocker/deploy-the-applocker-policy-into-production.md similarity index 100% rename from windows/security/threat-protection/applocker/deploy-the-applocker-policy-into-production.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/deploy-the-applocker-policy-into-production.md diff --git a/windows/security/threat-protection/applocker/determine-group-policy-structure-and-rule-enforcement.md b/windows/security/threat-protection/windows-defender-application-control/applocker/determine-group-policy-structure-and-rule-enforcement.md similarity index 100% rename from windows/security/threat-protection/applocker/determine-group-policy-structure-and-rule-enforcement.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/determine-group-policy-structure-and-rule-enforcement.md diff --git a/windows/security/threat-protection/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md b/windows/security/threat-protection/windows-defender-application-control/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md similarity index 100% rename from windows/security/threat-protection/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md diff --git a/windows/security/threat-protection/applocker/determine-your-application-control-objectives.md b/windows/security/threat-protection/windows-defender-application-control/applocker/determine-your-application-control-objectives.md similarity index 100% rename from windows/security/threat-protection/applocker/determine-your-application-control-objectives.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/determine-your-application-control-objectives.md diff --git a/windows/security/threat-protection/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md b/windows/security/threat-protection/windows-defender-application-control/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md similarity index 100% rename from windows/security/threat-protection/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md diff --git a/windows/security/threat-protection/applocker/dll-rules-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/dll-rules-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/dll-rules-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/dll-rules-in-applocker.md diff --git a/windows/security/threat-protection/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md similarity index 100% rename from windows/security/threat-protection/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md diff --git a/windows/security/threat-protection/applocker/document-your-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md similarity index 100% rename from windows/security/threat-protection/applocker/document-your-application-control-management-processes.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md diff --git a/windows/security/threat-protection/applocker/document-your-application-list.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-list.md similarity index 100% rename from windows/security/threat-protection/applocker/document-your-application-list.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-list.md diff --git a/windows/security/threat-protection/applocker/document-your-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/document-your-applocker-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md diff --git a/windows/security/threat-protection/applocker/edit-an-applocker-policy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md similarity index 100% rename from windows/security/threat-protection/applocker/edit-an-applocker-policy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md diff --git a/windows/security/threat-protection/applocker/edit-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/edit-applocker-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/edit-applocker-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/edit-applocker-rules.md diff --git a/windows/security/threat-protection/applocker/enable-the-dll-rule-collection.md b/windows/security/threat-protection/windows-defender-application-control/applocker/enable-the-dll-rule-collection.md similarity index 100% rename from windows/security/threat-protection/applocker/enable-the-dll-rule-collection.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/enable-the-dll-rule-collection.md diff --git a/windows/security/threat-protection/applocker/enforce-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/enforce-applocker-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/enforce-applocker-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/enforce-applocker-rules.md diff --git a/windows/security/threat-protection/applocker/executable-rules-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/executable-rules-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/executable-rules-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/executable-rules-in-applocker.md diff --git a/windows/security/threat-protection/applocker/export-an-applocker-policy-from-a-gpo.md b/windows/security/threat-protection/windows-defender-application-control/applocker/export-an-applocker-policy-from-a-gpo.md similarity index 100% rename from windows/security/threat-protection/applocker/export-an-applocker-policy-from-a-gpo.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/export-an-applocker-policy-from-a-gpo.md diff --git a/windows/security/threat-protection/applocker/export-an-applocker-policy-to-an-xml-file.md b/windows/security/threat-protection/windows-defender-application-control/applocker/export-an-applocker-policy-to-an-xml-file.md similarity index 100% rename from windows/security/threat-protection/applocker/export-an-applocker-policy-to-an-xml-file.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/export-an-applocker-policy-to-an-xml-file.md diff --git a/windows/security/threat-protection/applocker/how-applocker-works-techref.md b/windows/security/threat-protection/windows-defender-application-control/applocker/how-applocker-works-techref.md similarity index 100% rename from windows/security/threat-protection/applocker/how-applocker-works-techref.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/how-applocker-works-techref.md diff --git a/windows/security/threat-protection/applocker/images/applocker-plan-inheritance.gif b/windows/security/threat-protection/windows-defender-application-control/applocker/images/applocker-plan-inheritance.gif similarity index 100% rename from windows/security/threat-protection/applocker/images/applocker-plan-inheritance.gif rename to windows/security/threat-protection/windows-defender-application-control/applocker/images/applocker-plan-inheritance.gif diff --git a/windows/security/threat-protection/applocker/images/applocker-plandeploy-quickreference.gif b/windows/security/threat-protection/windows-defender-application-control/applocker/images/applocker-plandeploy-quickreference.gif similarity index 100% rename from windows/security/threat-protection/applocker/images/applocker-plandeploy-quickreference.gif rename to windows/security/threat-protection/windows-defender-application-control/applocker/images/applocker-plandeploy-quickreference.gif diff --git a/windows/security/threat-protection/applocker/images/blockedappmsg.gif b/windows/security/threat-protection/windows-defender-application-control/applocker/images/blockedappmsg.gif similarity index 100% rename from windows/security/threat-protection/applocker/images/blockedappmsg.gif rename to windows/security/threat-protection/windows-defender-application-control/applocker/images/blockedappmsg.gif diff --git a/windows/security/threat-protection/applocker/import-an-applocker-policy-from-another-computer.md b/windows/security/threat-protection/windows-defender-application-control/applocker/import-an-applocker-policy-from-another-computer.md similarity index 100% rename from windows/security/threat-protection/applocker/import-an-applocker-policy-from-another-computer.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/import-an-applocker-policy-from-another-computer.md diff --git a/windows/security/threat-protection/applocker/import-an-applocker-policy-into-a-gpo.md b/windows/security/threat-protection/windows-defender-application-control/applocker/import-an-applocker-policy-into-a-gpo.md similarity index 100% rename from windows/security/threat-protection/applocker/import-an-applocker-policy-into-a-gpo.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/import-an-applocker-policy-into-a-gpo.md diff --git a/windows/security/threat-protection/applocker/maintain-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/maintain-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/manage-packaged-apps-with-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/manage-packaged-apps-with-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/manage-packaged-apps-with-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/manage-packaged-apps-with-applocker.md diff --git a/windows/security/threat-protection/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md similarity index 100% rename from windows/security/threat-protection/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md diff --git a/windows/security/threat-protection/applocker/merge-applocker-policies-manually.md b/windows/security/threat-protection/windows-defender-application-control/applocker/merge-applocker-policies-manually.md similarity index 100% rename from windows/security/threat-protection/applocker/merge-applocker-policies-manually.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/merge-applocker-policies-manually.md diff --git a/windows/security/threat-protection/applocker/monitor-application-usage-with-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/monitor-application-usage-with-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md diff --git a/windows/security/threat-protection/applocker/optimize-applocker-performance.md b/windows/security/threat-protection/windows-defender-application-control/applocker/optimize-applocker-performance.md similarity index 100% rename from windows/security/threat-protection/applocker/optimize-applocker-performance.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/optimize-applocker-performance.md diff --git a/windows/security/threat-protection/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md diff --git a/windows/security/threat-protection/applocker/plan-for-applocker-policy-management.md b/windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md similarity index 100% rename from windows/security/threat-protection/applocker/plan-for-applocker-policy-management.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md diff --git a/windows/security/threat-protection/applocker/refresh-an-applocker-policy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/refresh-an-applocker-policy.md similarity index 100% rename from windows/security/threat-protection/applocker/refresh-an-applocker-policy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/refresh-an-applocker-policy.md diff --git a/windows/security/threat-protection/applocker/requirements-for-deploying-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/requirements-for-deploying-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/requirements-for-deploying-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/requirements-for-deploying-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/requirements-to-use-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/requirements-to-use-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/requirements-to-use-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/requirements-to-use-applocker.md diff --git a/windows/security/threat-protection/applocker/run-the-automatically-generate-rules-wizard.md b/windows/security/threat-protection/windows-defender-application-control/applocker/run-the-automatically-generate-rules-wizard.md similarity index 100% rename from windows/security/threat-protection/applocker/run-the-automatically-generate-rules-wizard.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/run-the-automatically-generate-rules-wizard.md diff --git a/windows/security/threat-protection/applocker/script-rules-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/script-rules-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/script-rules-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/script-rules-in-applocker.md diff --git a/windows/security/threat-protection/applocker/security-considerations-for-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/security-considerations-for-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/security-considerations-for-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/security-considerations-for-applocker.md diff --git a/windows/security/threat-protection/applocker/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/applocker/select-types-of-rules-to-create.md similarity index 100% rename from windows/security/threat-protection/applocker/select-types-of-rules-to-create.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/select-types-of-rules-to-create.md diff --git a/windows/security/threat-protection/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md similarity index 100% rename from windows/security/threat-protection/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md diff --git a/windows/security/threat-protection/applocker/test-and-update-an-applocker-policy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/test-and-update-an-applocker-policy.md similarity index 100% rename from windows/security/threat-protection/applocker/test-and-update-an-applocker-policy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/test-and-update-an-applocker-policy.md diff --git a/windows/security/threat-protection/applocker/tools-to-use-with-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/tools-to-use-with-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/tools-to-use-with-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/tools-to-use-with-applocker.md diff --git a/windows/security/threat-protection/applocker/understand-applocker-enforcement-settings.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-enforcement-settings.md similarity index 100% rename from windows/security/threat-protection/applocker/understand-applocker-enforcement-settings.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-enforcement-settings.md diff --git a/windows/security/threat-protection/applocker/understand-applocker-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md similarity index 100% rename from windows/security/threat-protection/applocker/understand-applocker-policy-design-decisions.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md diff --git a/windows/security/threat-protection/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md similarity index 100% rename from windows/security/threat-protection/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md diff --git a/windows/security/threat-protection/applocker/understand-the-applocker-policy-deployment-process.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-the-applocker-policy-deployment-process.md similarity index 100% rename from windows/security/threat-protection/applocker/understand-the-applocker-policy-deployment-process.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understand-the-applocker-policy-deployment-process.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-default-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-default-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-default-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-default-rules.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-rule-behavior.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-behavior.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-rule-behavior.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-behavior.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-rule-collections.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-collections.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-rule-collections.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-collections.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-rule-condition-types.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-condition-types.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-rule-condition-types.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-condition-types.md diff --git a/windows/security/threat-protection/applocker/understanding-applocker-rule-exceptions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-exceptions.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-applocker-rule-exceptions.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-applocker-rule-exceptions.md diff --git a/windows/security/threat-protection/applocker/understanding-the-file-hash-rule-condition-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-file-hash-rule-condition-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-the-file-hash-rule-condition-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-file-hash-rule-condition-in-applocker.md diff --git a/windows/security/threat-protection/applocker/understanding-the-path-rule-condition-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-path-rule-condition-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-the-path-rule-condition-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-path-rule-condition-in-applocker.md diff --git a/windows/security/threat-protection/applocker/understanding-the-publisher-rule-condition-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-publisher-rule-condition-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/understanding-the-publisher-rule-condition-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/understanding-the-publisher-rule-condition-in-applocker.md diff --git a/windows/security/threat-protection/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md b/windows/security/threat-protection/windows-defender-application-control/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md similarity index 100% rename from windows/security/threat-protection/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md diff --git a/windows/security/threat-protection/applocker/use-the-applocker-windows-powershell-cmdlets.md b/windows/security/threat-protection/windows-defender-application-control/applocker/use-the-applocker-windows-powershell-cmdlets.md similarity index 100% rename from windows/security/threat-protection/applocker/use-the-applocker-windows-powershell-cmdlets.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/use-the-applocker-windows-powershell-cmdlets.md diff --git a/windows/security/threat-protection/applocker/using-event-viewer-with-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/using-event-viewer-with-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/using-event-viewer-with-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/using-event-viewer-with-applocker.md diff --git a/windows/security/threat-protection/applocker/using-software-restriction-policies-and-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/using-software-restriction-policies-and-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/using-software-restriction-policies-and-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/using-software-restriction-policies-and-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/what-is-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/what-is-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/what-is-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/what-is-applocker.md diff --git a/windows/security/threat-protection/applocker/windows-installer-rules-in-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/windows-installer-rules-in-applocker.md similarity index 100% rename from windows/security/threat-protection/applocker/windows-installer-rules-in-applocker.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/windows-installer-rules-in-applocker.md diff --git a/windows/security/threat-protection/applocker/working-with-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/working-with-applocker-policies.md similarity index 100% rename from windows/security/threat-protection/applocker/working-with-applocker-policies.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/working-with-applocker-policies.md diff --git a/windows/security/threat-protection/applocker/working-with-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/working-with-applocker-rules.md similarity index 100% rename from windows/security/threat-protection/applocker/working-with-applocker-rules.md rename to windows/security/threat-protection/windows-defender-application-control/applocker/working-with-applocker-rules.md diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md new file mode 100644 index 0000000000..9baa1f6cb6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md @@ -0,0 +1,17 @@ +--- +title: Windows Defender Application Control design guide (Windows 10) +description: Microsoft Windows Defender Device Guard is a feature set that consists of both hardware and software system integrity hardening features that revolutionize the Windows operating system’s security. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: brianlic-msft +ms.date: 02/20/2018 +--- + +# Windows Defender Application Control design guide + +**Applies to** +- Windows 10 +- Windows Server 2016 + diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index e1304d5a55..81f42709ab 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -10,6 +10,9 @@ ### [Enable Exploit protection](enable-exploit-protection.md) ### [Customize Exploit protection](customize-exploit-protection.md) #### [Import, export, and deploy Exploit protection configurations](import-export-exploit-protection-emet-xml.md) +### [Memory integrity](memory-integrity.md) +#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) +#### [Enable virtualization-based protection of code integrity](device-guard/deploy-device-guard-enable-virtualization-based-security.md) ## [Attack surface reduction](attack-surface-reduction-exploit-guard.md) ### [Evaluate Attack surface reduction](evaluate-attack-surface-reduction.md) ### [Enable Attack surface reduction](enable-attack-surface-reduction.md) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md new file mode 100644 index 0000000000..3915a3405f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md @@ -0,0 +1,38 @@ +--- +title: Memory integrity +keywords: mitigations, vulnerabilities, vulnerability, mitigation, exploit, exploits, emet +description: Memory integrity. +search.product: eADQiWindows 10XVcnh +ms.pagetype: security +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +localizationpriority: medium +author: iaanw +ms.author: iawilt +ms.date: 02/20/2018 +--- + + + +# Memory integrity + + +**Applies to:** + +- Windows 10, version 1709 + + + +**Audience** + +- Enterprise security administrators + + +**Manageability available with** + +- Windows Defender Security Center app +- Group Policy +- PowerShell + From 02ddd36f3911ea2ceae245b2e75c996eadb41cd7 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 21 Feb 2018 11:08:27 -0800 Subject: [PATCH 008/212] fixed toc links for applocker --- windows/security/threat-protection/TOC.md | 176 +++++++++++----------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b2a01ccc0a..7bc9e2ed33 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -291,94 +291,94 @@ ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) -### [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) -### [AppLocker](applocker\applocker-overview.md) -#### [Administer AppLocker](applocker\administer-applocker.md) -##### [Maintain AppLocker policies](applocker\maintain-applocker-policies.md) -##### [Edit an AppLocker policy](applocker\edit-an-applocker-policy.md) -##### [Test and update an AppLocker policy](applocker\test-and-update-an-applocker-policy.md) -##### [Deploy AppLocker policies by using the enforce rules setting](applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) -##### [Use the AppLocker Windows PowerShell cmdlets](applocker\use-the-applocker-windows-powershell-cmdlets.md) -##### [Use AppLocker and Software Restriction Policies in the same domain](applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) -##### [Optimize AppLocker performance](applocker\optimize-applocker-performance.md) -##### [Monitor app usage with AppLocker](applocker\monitor-application-usage-with-applocker.md) -##### [Manage packaged apps with AppLocker](applocker\manage-packaged-apps-with-applocker.md) -##### [Working with AppLocker rules](applocker\working-with-applocker-rules.md) -###### [Create a rule that uses a file hash condition](applocker\create-a-rule-that-uses-a-file-hash-condition.md) -###### [Create a rule that uses a path condition](applocker\create-a-rule-that-uses-a-path-condition.md) -###### [Create a rule that uses a publisher condition](applocker\create-a-rule-that-uses-a-publisher-condition.md) -###### [Create AppLocker default rules](applocker\create-applocker-default-rules.md) -###### [Add exceptions for an AppLocker rule](applocker\configure-exceptions-for-an-applocker-rule.md) -###### [Create a rule for packaged apps](applocker\create-a-rule-for-packaged-apps.md) -###### [Delete an AppLocker rule](applocker\delete-an-applocker-rule.md) -###### [Edit AppLocker rules](applocker\edit-applocker-rules.md) -###### [Enable the DLL rule collection](applocker\enable-the-dll-rule-collection.md) -###### [Enforce AppLocker rules](applocker\enforce-applocker-rules.md) -###### [Run the Automatically Generate Rules wizard](applocker\run-the-automatically-generate-rules-wizard.md) -##### [Working with AppLocker policies](applocker\working-with-applocker-policies.md) -###### [Configure the Application Identity service](applocker\configure-the-application-identity-service.md) -###### [Configure an AppLocker policy for audit only](applocker\configure-an-applocker-policy-for-audit-only.md) -###### [Configure an AppLocker policy for enforce rules](applocker\configure-an-applocker-policy-for-enforce-rules.md) -###### [Display a custom URL message when users try to run a blocked app](applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) -###### [Export an AppLocker policy from a GPO](applocker\export-an-applocker-policy-from-a-gpo.md) -###### [Export an AppLocker policy to an XML file](applocker\export-an-applocker-policy-to-an-xml-file.md) -###### [Import an AppLocker policy from another computer](applocker\import-an-applocker-policy-from-another-computer.md) -###### [Import an AppLocker policy into a GPO](applocker\import-an-applocker-policy-into-a-gpo.md) -###### [Add rules for packaged apps to existing AppLocker rule-set](applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) -###### [Merge AppLocker policies by using Set-ApplockerPolicy](applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) -###### [Merge AppLocker policies manually](applocker\merge-applocker-policies-manually.md) -###### [Refresh an AppLocker policy](applocker\refresh-an-applocker-policy.md) -###### [Test an AppLocker policy by using Test-AppLockerPolicy](applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) -#### [AppLocker design guide](applocker\applocker-policies-design-guide.md) -##### [Understand AppLocker policy design decisions](applocker\understand-applocker-policy-design-decisions.md) -##### [Determine your application control objectives](applocker\determine-your-application-control-objectives.md) -##### [Create a list of apps deployed to each business group](applocker\create-list-of-applications-deployed-to-each-business-group.md) -###### [Document your app list](applocker\document-your-application-list.md) -##### [Select the types of rules to create](applocker\select-types-of-rules-to-create.md) -###### [Document your AppLocker rules](applocker\document-your-applocker-rules.md) -##### [Determine the Group Policy structure and rule enforcement](applocker\determine-group-policy-structure-and-rule-enforcement.md) -###### [Understand AppLocker enforcement settings](applocker\understand-applocker-enforcement-settings.md) -###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) -###### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) -##### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) -###### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) -##### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) -#### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) -##### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) -##### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) -##### [Use Software Restriction Policies and AppLocker policies](applocker\using-software-restriction-policies-and-applocker-policies.md) -##### [Create Your AppLocker policies](applocker\create-your-applocker-policies.md) -###### [Create Your AppLocker rules](applocker\create-your-applocker-rules.md) -##### [Deploy the AppLocker policy into production](applocker\deploy-the-applocker-policy-into-production.md) -###### [Use a reference device to create and maintain AppLocker policies](applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) -####### [Determine which apps are digitally signed on a reference device](applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) -####### [Configure the AppLocker reference device](applocker\configure-the-appLocker-reference-device.md) -#### [AppLocker technical reference](applocker\applocker-technical-reference.md) -##### [What Is AppLocker?](applocker\what-is-applocker.md) -##### [Requirements to use AppLocker](applocker\requirements-to-use-applocker.md) -##### [AppLocker policy use scenarios](applocker\applocker-policy-use-scenarios.md) -##### [How AppLocker works](applocker\how-applocker-works-techref.md) -###### [Understanding AppLocker rule behavior](applocker\understanding-applocker-rule-behavior.md) -###### [Understanding AppLocker rule exceptions](applocker\understanding-applocker-rule-exceptions.md) -###### [Understanding AppLocker rule collections](applocker\understanding-applocker-rule-collections.md) -###### [Understanding AppLocker allow and deny actions on rules](applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) -###### [Understanding AppLocker rule condition types](applocker\understanding-applocker-rule-condition-types.md) -####### [Understanding the publisher rule condition in AppLocker](applocker\understanding-the-publisher-rule-condition-in-applocker.md) -####### [Understanding the path rule condition in AppLocker](applocker\understanding-the-path-rule-condition-in-applocker.md) -####### [Understanding the file hash rule condition in AppLocker](applocker\understanding-the-file-hash-rule-condition-in-applocker.md) -###### [Understanding AppLocker default rules](applocker\understanding-applocker-default-rules.md) -####### [Executable rules in AppLocker](applocker\executable-rules-in-applocker.md) -####### [Windows Installer rules in AppLocker](applocker\windows-installer-rules-in-applocker.md) -####### [Script rules in AppLocker](applocker\script-rules-in-applocker.md) -####### [DLL rules in AppLocker](applocker\dll-rules-in-applocker.md) -####### [Packaged apps and packaged app installer rules in AppLocker](applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) -##### [AppLocker architecture and components](applocker\applocker-architecture-and-components.md) -##### [AppLocker processes and interactions](applocker\applocker-processes-and-interactions.md) -##### [AppLocker functions](applocker\applocker-functions.md) -##### [Security considerations for AppLocker](applocker\security-considerations-for-applocker.md) -##### [Tools to Use with AppLocker](applocker\tools-to-use-with-applocker.md) -###### [Using Event Viewer with AppLocker](applocker\using-event-viewer-with-applocker.md) -##### [AppLocker Settings](applocker\applocker-settings.md) +### [Windows Defender Application Control and AppLocker](windows-defender-application-control\windows-defender-application-control-and-applocker.md) +### [AppLocker](windows-defender-application-control\applocker\applocker-overview.md) +#### [Administer AppLocker](windows-defender-application-control\applocker\administer-applocker.md) +##### [Maintain AppLocker policies](windows-defender-application-control\applocker\maintain-applocker-policies.md) +##### [Edit an AppLocker policy](windows-defender-application-control\applocker\edit-an-applocker-policy.md) +##### [Test and update an AppLocker policy](windows-defender-application-control\applocker\test-and-update-an-applocker-policy.md) +##### [Deploy AppLocker policies by using the enforce rules setting](windows-defender-application-control\applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) +##### [Use the AppLocker Windows PowerShell cmdlets](windows-defender-application-control\applocker\use-the-applocker-windows-powershell-cmdlets.md) +##### [Use AppLocker and Software Restriction Policies in the same domain](windows-defender-application-control\applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) +##### [Optimize AppLocker performance](windows-defender-application-control\applocker\optimize-applocker-performance.md) +##### [Monitor app usage with AppLocker](windows-defender-application-control\applocker\monitor-application-usage-with-applocker.md) +##### [Manage packaged apps with AppLocker](windows-defender-application-control\applocker\manage-packaged-apps-with-applocker.md) +##### [Working with AppLocker rules](windows-defender-application-control\applocker\working-with-applocker-rules.md) +###### [Create a rule that uses a file hash condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-file-hash-condition.md) +###### [Create a rule that uses a path condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-path-condition.md) +###### [Create a rule that uses a publisher condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-publisher-condition.md) +###### [Create AppLocker default rules](windows-defender-application-control\applocker\create-applocker-default-rules.md) +###### [Add exceptions for an AppLocker rule](windows-defender-application-control\applocker\configure-exceptions-for-an-applocker-rule.md) +###### [Create a rule for packaged apps](windows-defender-application-control\applocker\create-a-rule-for-packaged-apps.md) +###### [Delete an AppLocker rule](windows-defender-application-control\applocker\delete-an-applocker-rule.md) +###### [Edit AppLocker rules](windows-defender-application-control\applocker\edit-applocker-rules.md) +###### [Enable the DLL rule collection](windows-defender-application-control\applocker\enable-the-dll-rule-collection.md) +###### [Enforce AppLocker rules](windows-defender-application-control\applocker\enforce-applocker-rules.md) +###### [Run the Automatically Generate Rules wizard](windows-defender-application-control\applocker\run-the-automatically-generate-rules-wizard.md) +##### [Working with AppLocker policies](windows-defender-application-control\applocker\working-with-applocker-policies.md) +###### [Configure the Application Identity service](windows-defender-application-control\applocker\configure-the-application-identity-service.md) +###### [Configure an AppLocker policy for audit only](windows-defender-application-control\applocker\configure-an-applocker-policy-for-audit-only.md) +###### [Configure an AppLocker policy for enforce rules](windows-defender-application-control\applocker\configure-an-applocker-policy-for-enforce-rules.md) +###### [Display a custom URL message when users try to run a blocked app](windows-defender-application-control\applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) +###### [Export an AppLocker policy from a GPO](windows-defender-application-control\applocker\export-an-applocker-policy-from-a-gpo.md) +###### [Export an AppLocker policy to an XML file](windows-defender-application-control\applocker\export-an-applocker-policy-to-an-xml-file.md) +###### [Import an AppLocker policy from another computer](windows-defender-application-control\applocker\import-an-applocker-policy-from-another-computer.md) +###### [Import an AppLocker policy into a GPO](windows-defender-application-control\applocker\import-an-applocker-policy-into-a-gpo.md) +###### [Add rules for packaged apps to existing AppLocker rule-set](windows-defender-application-control\applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) +###### [Merge AppLocker policies by using Set-ApplockerPolicy](windows-defender-application-control\applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) +###### [Merge AppLocker policies manually](windows-defender-application-control\applocker\merge-applocker-policies-manually.md) +###### [Refresh an AppLocker policy](windows-defender-application-control\applocker\refresh-an-applocker-policy.md) +###### [Test an AppLocker policy by using Test-AppLockerPolicy](windows-defender-application-control\applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) +#### [AppLocker design guide](windows-defender-application-control\applocker\applocker-policies-design-guide.md) +##### [Understand AppLocker policy design decisions](windows-defender-application-control\applocker\understand-applocker-policy-design-decisions.md) +##### [Determine your application control objectives](windows-defender-application-control\applocker\determine-your-application-control-objectives.md) +##### [Create a list of apps deployed to each business group](windows-defender-application-control\applocker\create-list-of-applications-deployed-to-each-business-group.md) +###### [Document your app list](windows-defender-application-control\applocker\document-your-application-list.md) +##### [Select the types of rules to create](windows-defender-application-control\applocker\select-types-of-rules-to-create.md) +###### [Document your AppLocker rules](windows-defender-application-control\applocker\document-your-applocker-rules.md) +##### [Determine the Group Policy structure and rule enforcement](windows-defender-application-control\applocker\determine-group-policy-structure-and-rule-enforcement.md) +###### [Understand AppLocker enforcement settings](windows-defender-application-control\applocker\understand-applocker-enforcement-settings.md) +###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](windows-defender-application-control\applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) +###### [Document the Group Policy structure and AppLocker rule enforcement](windows-defender-application-control\applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) +##### [Plan for AppLocker policy management](windows-defender-application-control\applocker\plan-for-applocker-policy-management.md) +###### [Document your application control management processes](windows-defender-application-control\applocker\document-your-application-control-management-processes.md) +##### [Create your AppLocker planning document](windows-defender-application-control\applocker\create-your-applocker-planning-document.md) +#### [AppLocker deployment guide](windows-defender-application-control\applocker\applocker-policies-deployment-guide.md) +##### [Understand the AppLocker policy deployment process](windows-defender-application-control\applocker\understand-the-applocker-policy-deployment-process.md) +##### [Requirements for Deploying AppLocker Policies](windows-defender-application-control\applocker\requirements-for-deploying-applocker-policies.md) +##### [Use Software Restriction Policies and AppLocker policies](windows-defender-application-control\applocker\using-software-restriction-policies-and-applocker-policies.md) +##### [Create Your AppLocker policies](windows-defender-application-control\applocker\create-your-applocker-policies.md) +###### [Create Your AppLocker rules](windows-defender-application-control\applocker\create-your-applocker-rules.md) +##### [Deploy the AppLocker policy into production](windows-defender-application-control\applocker\deploy-the-applocker-policy-into-production.md) +###### [Use a reference device to create and maintain AppLocker policies](windows-defender-application-control\applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) +####### [Determine which apps are digitally signed on a reference device](windows-defender-application-control\applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) +####### [Configure the AppLocker reference device](windows-defender-application-control\applocker\configure-the-appLocker-reference-device.md) +#### [AppLocker technical reference](windows-defender-application-control\applocker\applocker-technical-reference.md) +##### [What Is AppLocker?](windows-defender-application-control\applocker\what-is-applocker.md) +##### [Requirements to use AppLocker](windows-defender-application-control\applocker\requirements-to-use-applocker.md) +##### [AppLocker policy use scenarios](windows-defender-application-control\applocker\applocker-policy-use-scenarios.md) +##### [How AppLocker works](windows-defender-application-control\applocker\how-applocker-works-techref.md) +###### [Understanding AppLocker rule behavior](windows-defender-application-control\applocker\understanding-applocker-rule-behavior.md) +###### [Understanding AppLocker rule exceptions](windows-defender-application-control\applocker\understanding-applocker-rule-exceptions.md) +###### [Understanding AppLocker rule collections](windows-defender-application-control\applocker\understanding-applocker-rule-collections.md) +###### [Understanding AppLocker allow and deny actions on rules](windows-defender-application-control\applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) +###### [Understanding AppLocker rule condition types](windows-defender-application-control\applocker\understanding-applocker-rule-condition-types.md) +####### [Understanding the publisher rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-publisher-rule-condition-in-applocker.md) +####### [Understanding the path rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-path-rule-condition-in-applocker.md) +####### [Understanding the file hash rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-file-hash-rule-condition-in-applocker.md) +###### [Understanding AppLocker default rules](windows-defender-application-control\applocker\understanding-applocker-default-rules.md) +####### [Executable rules in AppLocker](windows-defender-application-control\applocker\executable-rules-in-applocker.md) +####### [Windows Installer rules in AppLocker](windows-defender-application-control\applocker\windows-installer-rules-in-applocker.md) +####### [Script rules in AppLocker](windows-defender-application-control\applocker\script-rules-in-applocker.md) +####### [DLL rules in AppLocker](windows-defender-application-control\applocker\dll-rules-in-applocker.md) +####### [Packaged apps and packaged app installer rules in AppLocker](windows-defender-application-control\applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) +##### [AppLocker architecture and components](windows-defender-application-control\applocker\applocker-architecture-and-components.md) +##### [AppLocker processes and interactions](windows-defender-application-control\applocker\applocker-processes-and-interactions.md) +##### [AppLocker functions](windows-defender-application-control\applocker\applocker-functions.md) +##### [Security considerations for AppLocker](windows-defender-application-control\applocker\security-considerations-for-applocker.md) +##### [Tools to Use with AppLocker](windows-defender-application-control\applocker\tools-to-use-with-applocker.md) +###### [Using Event Viewer with AppLocker](windows-defender-application-control\applocker\using-event-viewer-with-applocker.md) +##### [AppLocker Settings](windows-defender-application-control\applocker\applocker-settings.md) ## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) From 9dbe4fc193d3d9b1a6f4b0e01f5ccd457344289b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 21 Feb 2018 11:50:39 -0800 Subject: [PATCH 009/212] filled in planning toc for WDAC --- .../TOC.md | 11 +++++++++-- ...-application-control-planning-document.md} | 0 ...plication-control-management-processes.md} | 0 ...defender-application-control-management.md | 18 ++++++++++++++++++ .../select-rules.md | 18 ++++++++++++++++++ ...ication-control-policy-design-decisions.md | 19 +++++++++++++++++++ 6 files changed, 64 insertions(+), 2 deletions(-) rename windows/security/threat-protection/windows-defender-application-control/{applocker/create-your-applocker-planning-document.md => create-your-windows-defender-application-control-planning-document.md} (100%) rename windows/security/threat-protection/windows-defender-application-control/{applocker/document-your-application-control-management-processes.md => document-your-windows-defender-application-control-management-processes.md} (100%) create mode 100644 windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/select-rules.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index e58099c3e5..c34d77c3cc 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -1,6 +1,13 @@ # [Windows Defender Application Control](windows-defender-application-control.md) ## [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) +### [Understand Windows Defender Application Control policy design decisions](understand-windows=defender-application-control-policy-design-decisions.md) +### [Select the types of rules to create](select-rules.md) +### [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md) +#### [Document your application control management processes](document-your-application-control-management-processes.md) +### [Create your AppLocker planning document](create-your-indows-defender-application-control-planning-document.md) + + ## [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) @@ -55,8 +62,8 @@ ##### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) ##### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) #### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) -##### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) -#### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) +##### [Document your application control management processes](document-your-windows-defender-application-control-management-processes.md) +#### [Create your AppLocker planning document](create-your-indows-defender-application-control-planning-document.md) ### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) #### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) #### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md similarity index 100% rename from windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md rename to windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md similarity index 100% rename from windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md rename to windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md diff --git a/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md b/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md new file mode 100644 index 0000000000..c4d9306106 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md @@ -0,0 +1,18 @@ +--- +title: Plan for Windows Defender Application Control policy management (Windows 10) +description: Plan for Windows Defender Application Control policy management. +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/21/2018 +--- + +# Plan for Windows Defender Application Control policy management + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + diff --git a/windows/security/threat-protection/windows-defender-application-control/select-rules.md b/windows/security/threat-protection/windows-defender-application-control/select-rules.md new file mode 100644 index 0000000000..0a4a92346c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/select-rules.md @@ -0,0 +1,18 @@ +--- +title: Select the types of rules to create (Windows 10) +description: Select the types of rules to create. +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/21/2018 +--- + +# Select the types of rules to create + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + diff --git a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md new file mode 100644 index 0000000000..7cee0477d0 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md @@ -0,0 +1,19 @@ +--- +title: Understand Windows Defender Application Control policy design decisions (Windows 10) +description: Understand Windows Defender Application Control policy design decisions. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/08/2018 +--- + +# Understand Windows Defender Application Control policy design decisions + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + From ad07b61e13dd3e81421b4e1a2050d0b7a7d19d75 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 21 Feb 2018 16:24:03 -0800 Subject: [PATCH 010/212] fixed links --- windows/security/threat-protection/TOC.md | 1350 ++++++++++----------- 1 file changed, 675 insertions(+), 675 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 7bc9e2ed33..bf67de1ba0 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -1,384 +1,384 @@ # [Threat protection](index.md) -## [The Windows Defender Security Center app](windows-defender-security-center\windows-defender-security-center.md) -### [Customize the Windows Defender Security Center app for your organization](windows-defender-security-center\wdsc-customize-contact-information.md) -### [Hide Windows Defender Security Center app notifications](windows-defender-security-center\wdsc-hide-notifications.md) -### [Virus and threat protection](windows-defender-security-center\wdsc-virus-threat-protection.md) -### [Device performance and health](windows-defender-security-center\wdsc-device-performance-health.md) -### [Firewall and network protection](windows-defender-security-center\wdsc-firewall-network-protection.md) -### [App and browser control](windows-defender-security-center\wdsc-app-browser-control.md) -### [Family options](windows-defender-security-center\wdsc-family-options.md) +## [The Windows Defender Security Center app](windows-defender-security-center/windows-defender-security-center.md) +### [Customize the Windows Defender Security Center app for your organization](windows-defender-security-center/wdsc-customize-contact-information.md) +### [Hide Windows Defender Security Center app notifications](windows-defender-security-center/wdsc-hide-notifications.md) +### [Virus and threat protection](windows-defender-security-center/wdsc-virus-threat-protection.md) +### [Device performance and health](windows-defender-security-center/wdsc-device-performance-health.md) +### [Firewall and network protection](windows-defender-security-center/wdsc-firewall-network-protection.md) +### [App and browser control](windows-defender-security-center/wdsc-app-browser-control.md) +### [Family options](windows-defender-security-center/wdsc-family-options.md) -## [Windows Defender Advanced Threat Protection](windows-defender-atp\windows-defender-advanced-threat-protection.md) +## [Windows Defender Advanced Threat Protection](windows-defender-atp/windows-defender-advanced-threat-protection.md) ###Get started -#### [Minimum requirements](windows-defender-atp\minimum-requirements-windows-defender-advanced-threat-protection.md) -#### [Validate licensing and complete setup](windows-defender-atp\licensing-windows-defender-advanced-threat-protection.md) -#### [Troubleshoot subscription and portal access issues](windows-defender-atp\troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### [Preview features](windows-defender-atp\preview-windows-defender-advanced-threat-protection.md) -#### [Data storage and privacy](windows-defender-atp\data-storage-privacy-windows-defender-advanced-threat-protection.md) -#### [Assign user access to the portal](windows-defender-atp\assign-portal-access-windows-defender-advanced-threat-protection.md) -### [Onboard endpoints and set up access](windows-defender-atp\onboard-configure-windows-defender-advanced-threat-protection.md) -#### [Configure client endpoints](windows-defender-atp\configure-endpoints-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using Group Policy](windows-defender-atp\configure-endpoints-gp-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using System Center Configuration Manager](windows-defender-atp\configure-endpoints-sccm-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using Mobile Device Management tools](windows-defender-atp\configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) -###### [Configure endpoints using Microsoft Intune](windows-defender-atp\configure-endpoints-mdm-windows-defender-advanced-threat-protection.md#configure-endpoints-using-microsoft-intune) -##### [Configure endpoints using a local script](windows-defender-atp\configure-endpoints-script-windows-defender-advanced-threat-protection.md) -##### [Configure non-persistent virtual desktop infrastructure (VDI) machines](windows-defender-atp\configure-endpoints-vdi-windows-defender-advanced-threat-protection.md) -#### [Configure server endpoints](windows-defender-atp\configure-server-endpoints-windows-defender-advanced-threat-protection.md) -#### [Configure non-Windows endpoints](windows-defender-atp\configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md) -#### [Run a detection test on a newly onboarded endpoint](windows-defender-atp\run-detection-test-windows-defender-advanced-threat-protection.md) -#### [Configure proxy and Internet connectivity settings](windows-defender-atp\configure-proxy-internet-windows-defender-advanced-threat-protection.md) -#### [Troubleshoot onboarding issues](windows-defender-atp\troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) -### [Understand the Windows Defender ATP portal](windows-defender-atp\use-windows-defender-advanced-threat-protection.md) -#### [Portal overview](windows-defender-atp\portal-overview-windows-defender-advanced-threat-protection.md) -#### [View the Security operations dashboard](windows-defender-atp\dashboard-windows-defender-advanced-threat-protection.md) -#### [View the Security analytics dashboard](windows-defender-atp\security-analytics-dashboard-windows-defender-advanced-threat-protection.md) +#### [Minimum requirements](windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md) +#### [Validate licensing and complete setup](windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md) +#### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) +#### [Preview features](windows-defender-atp/preview-windows-defender-advanced-threat-protection.md) +#### [Data storage and privacy](windows-defender-atp/data-storage-privacy-windows-defender-advanced-threat-protection.md) +#### [Assign user access to the portal](windows-defender-atp/assign-portal-access-windows-defender-advanced-threat-protection.md) +### [Onboard endpoints and set up access](windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md) +#### [Configure client endpoints](windows-defender-atp/configure-endpoints-windows-defender-advanced-threat-protection.md) +##### [Configure endpoints using Group Policy](windows-defender-atp/configure-endpoints-gp-windows-defender-advanced-threat-protection.md) +##### [Configure endpoints using System Center Configuration Manager](windows-defender-atp/configure-endpoints-sccm-windows-defender-advanced-threat-protection.md) +##### [Configure endpoints using Mobile Device Management tools](windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) +###### [Configure endpoints using Microsoft Intune](windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md#configure-endpoints-using-microsoft-intune) +##### [Configure endpoints using a local script](windows-defender-atp/configure-endpoints-script-windows-defender-advanced-threat-protection.md) +##### [Configure non-persistent virtual desktop infrastructure (VDI) machines](windows-defender-atp/configure-endpoints-vdi-windows-defender-advanced-threat-protection.md) +#### [Configure server endpoints](windows-defender-atp/configure-server-endpoints-windows-defender-advanced-threat-protection.md) +#### [Configure non-Windows endpoints](windows-defender-atp/configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md) +#### [Run a detection test on a newly onboarded endpoint](windows-defender-atp/run-detection-test-windows-defender-advanced-threat-protection.md) +#### [Configure proxy and Internet connectivity settings](windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md) +#### [Troubleshoot onboarding issues](windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) +### [Understand the Windows Defender ATP portal](windows-defender-atp/use-windows-defender-advanced-threat-protection.md) +#### [Portal overview](windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md) +#### [View the Security operations dashboard](windows-defender-atp/dashboard-windows-defender-advanced-threat-protection.md) +#### [View the Security analytics dashboard](windows-defender-atp/security-analytics-dashboard-windows-defender-advanced-threat-protection.md) ###Investigate and remediate threats ####Alerts queue -##### [View and organize the Alerts queue](windows-defender-atp\alerts-queue-windows-defender-advanced-threat-protection.md) -##### [Manage alerts](windows-defender-atp\manage-alerts-windows-defender-advanced-threat-protection.md) -##### [Investigate alerts](windows-defender-atp\investigate-alerts-windows-defender-advanced-threat-protection.md) -##### [Investigate files](windows-defender-atp\investigate-files-windows-defender-advanced-threat-protection.md) -##### [Investigate machines](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md) -##### [Investigate an IP address](windows-defender-atp\investigate-ip-windows-defender-advanced-threat-protection.md) -##### [Investigate a domain](windows-defender-atp\investigate-domain-windows-defender-advanced-threat-protection.md) -##### [Investigate a user account](windows-defender-atp\investigate-user-windows-defender-advanced-threat-protection.md) +##### [View and organize the Alerts queue](windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md) +##### [Manage alerts](windows-defender-atp/manage-alerts-windows-defender-advanced-threat-protection.md) +##### [Investigate alerts](windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md) +##### [Investigate files](windows-defender-atp/investigate-files-windows-defender-advanced-threat-protection.md) +##### [Investigate machines](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md) +##### [Investigate an IP address](windows-defender-atp/investigate-ip-windows-defender-advanced-threat-protection.md) +##### [Investigate a domain](windows-defender-atp/investigate-domain-windows-defender-advanced-threat-protection.md) +##### [Investigate a user account](windows-defender-atp/investigate-user-windows-defender-advanced-threat-protection.md) ####Machines list -##### [View and organize the Machines list](windows-defender-atp\machines-view-overview-windows-defender-advanced-threat-protection.md) -##### [Manage machine group and tags](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) -##### [Alerts related to this machine](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#alerts-related-to-this-machine) -##### [Machine timeline](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) -###### [Search for specific events](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#search-for-specific-events) -###### [Filter events from a specific date](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#filter-events-from-a-specific-date) -###### [Export machine timeline events](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#export-machine-timeline-events) -###### [Navigate between pages](windows-defender-atp\investigate-machines-windows-defender-advanced-threat-protection.md#navigate-between-pages) +##### [View and organize the Machines list](windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md) +##### [Manage machine group and tags](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) +##### [Alerts related to this machine](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#alerts-related-to-this-machine) +##### [Machine timeline](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) +###### [Search for specific events](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#search-for-specific-events) +###### [Filter events from a specific date](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#filter-events-from-a-specific-date) +###### [Export machine timeline events](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#export-machine-timeline-events) +###### [Navigate between pages](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#navigate-between-pages) -#### [Take response actions](windows-defender-atp\response-actions-windows-defender-advanced-threat-protection.md) -##### [Take response actions on a machine](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md) -###### [Collect investigation package](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#collect-investigation-package-from-machines) -###### [Run antivirus scan](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#run-windows-defender-antivirus-scan-on-machines) -###### [Restrict app execution](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#restrict-app-execution) -###### [Remove app restriction](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#remove-app-restriction) -###### [Isolate machines from the network](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) -###### [Release machine from isolation](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#release-machine-from-isolation) -###### [Check activity details in Action center](windows-defender-atp\respond-machine-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) -##### [Take response actions on a file](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md) -###### [Stop and quarantine files in your network](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#stop-and-quarantine-files-in-your-network) -###### [Remove file from quarantine](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-quarantine) -###### [Block files in your network](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#block-files-in-your-network) -###### [Remove file from blocked list](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-blocked-list) -###### [Check activity details in Action center](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) -###### [Deep analysis](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#deep-analysis) -####### [Submit files for analysis](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#submit-files-for-analysis) -####### [View deep analysis reports](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#view-deep-analysis-reports) -####### [Troubleshoot deep analysis](windows-defender-atp\respond-file-alerts-windows-defender-advanced-threat-protection.md#troubleshoot-deep-analysis) +#### [Take response actions](windows-defender-atp/response-actions-windows-defender-advanced-threat-protection.md) +##### [Take response actions on a machine](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md) +###### [Collect investigation package](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#collect-investigation-package-from-machines) +###### [Run antivirus scan](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#run-windows-defender-antivirus-scan-on-machines) +###### [Restrict app execution](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#restrict-app-execution) +###### [Remove app restriction](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#remove-app-restriction) +###### [Isolate machines from the network](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) +###### [Release machine from isolation](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#release-machine-from-isolation) +###### [Check activity details in Action center](windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) +##### [Take response actions on a file](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md) +###### [Stop and quarantine files in your network](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#stop-and-quarantine-files-in-your-network) +###### [Remove file from quarantine](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-quarantine) +###### [Block files in your network](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#block-files-in-your-network) +###### [Remove file from blocked list](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#remove-file-from-blocked-list) +###### [Check activity details in Action center](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#check-activity-details-in-action-center) +###### [Deep analysis](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#deep-analysis) +####### [Submit files for analysis](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#submit-files-for-analysis) +####### [View deep analysis reports](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#view-deep-analysis-reports) +####### [Troubleshoot deep analysis](windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md#troubleshoot-deep-analysis) ###API and SIEM support -#### [Pull alerts to your SIEM tools](windows-defender-atp\configure-siem-windows-defender-advanced-threat-protection.md) -##### [Enable SIEM integration](windows-defender-atp\enable-siem-integration-windows-defender-advanced-threat-protection.md) -##### [Configure Splunk to pull alerts](windows-defender-atp\configure-splunk-windows-defender-advanced-threat-protection.md) -##### [Configure HP ArcSight to pull alerts](windows-defender-atp\configure-arcsight-windows-defender-advanced-threat-protection.md) -##### [Windows Defender ATP alert API fields](windows-defender-atp\api-portal-mapping-windows-defender-advanced-threat-protection.md) -##### [Pull alerts using REST API](windows-defender-atp\pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md) -##### [Troubleshoot SIEM tool integration issues](windows-defender-atp\troubleshoot-siem-windows-defender-advanced-threat-protection.md) +#### [Pull alerts to your SIEM tools](windows-defender-atp/configure-siem-windows-defender-advanced-threat-protection.md) +##### [Enable SIEM integration](windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md) +##### [Configure Splunk to pull alerts](windows-defender-atp/configure-splunk-windows-defender-advanced-threat-protection.md) +##### [Configure HP ArcSight to pull alerts](windows-defender-atp/configure-arcsight-windows-defender-advanced-threat-protection.md) +##### [Windows Defender ATP alert API fields](windows-defender-atp/api-portal-mapping-windows-defender-advanced-threat-protection.md) +##### [Pull alerts using REST API](windows-defender-atp/pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md) +##### [Troubleshoot SIEM tool integration issues](windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md) -#### [Use the threat intelligence API to create custom alerts](windows-defender-atp\use-custom-ti-windows-defender-advanced-threat-protection.md) -##### [Understand threat intelligence concepts](windows-defender-atp\threat-indicator-concepts-windows-defender-advanced-threat-protection.md) -##### [Enable the custom threat intelligence application](windows-defender-atp\enable-custom-ti-windows-defender-advanced-threat-protection.md) -##### [Create custom threat intelligence alerts](windows-defender-atp\custom-ti-api-windows-defender-advanced-threat-protection.md) -##### [PowerShell code examples](windows-defender-atp\powershell-example-code-windows-defender-advanced-threat-protection.md) -##### [Python code examples](windows-defender-atp\python-example-code-windows-defender-advanced-threat-protection.md) -##### [Experiment with custom threat intelligence alerts](windows-defender-atp\experiment-custom-ti-windows-defender-advanced-threat-protection.md) -##### [Troubleshoot custom threat intelligence issues](windows-defender-atp\troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -#### [Use the Windows Defender ATP exposed APIs](windows-defender-atp\exposed-apis-windows-defender-advanced-threat-protection.md) -##### [Supported Windows Defender ATP APIs](windows-defender-atp\supported-apis-windows-defender-advanced-threat-protection.md) +#### [Use the threat intelligence API to create custom alerts](windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md) +##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) +##### [Enable the custom threat intelligence application](windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md) +##### [Create custom threat intelligence alerts](windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md) +##### [PowerShell code examples](windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md) +##### [Python code examples](windows-defender-atp/python-example-code-windows-defender-advanced-threat-protection.md) +##### [Experiment with custom threat intelligence alerts](windows-defender-atp/experiment-custom-ti-windows-defender-advanced-threat-protection.md) +##### [Troubleshoot custom threat intelligence issues](windows-defender-atp/troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) +#### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +##### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) ######Actor -####### [Get actor information](windows-defender-atp\get-actor-information-windows-defender-advanced-threat-protection.md) -####### [Get actor related alerts](windows-defender-atp\get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +####### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) ######Alerts -####### [Get alerts](windows-defender-atp\get-alerts-windows-defender-advanced-threat-protection.md) -####### [Get alert information by ID](windows-defender-atp\get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -####### [Get alert related actor information](windows-defender-atp\get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related domain information](windows-defender-atp\get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related file information](windows-defender-atp\get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related IP information](windows-defender-atp\get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related machine information](windows-defender-atp\get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +####### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +####### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +####### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) ######Domain -####### [Get domain related alerts](windows-defender-atp\get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get domain related machines](windows-defender-atp\get-domain-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get domain statistics](windows-defender-atp\get-domain-statistics-windows-defender-advanced-threat-protection.md) -####### [Is domain seen in organization](windows-defender-atp\is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +####### [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +####### [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) ######File -####### [Block file API](windows-defender-atp\block-file-windows-defender-advanced-threat-protection.md) -####### [Get file information](windows-defender-atp\get-file-information-windows-defender-advanced-threat-protection.md) -####### [Get file related alerts](windows-defender-atp\get-file-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get file related machines](windows-defender-atp\get-file-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get file statistics](windows-defender-atp\get-file-statistics-windows-defender-advanced-threat-protection.md) -####### [Get FileActions collection API](windows-defender-atp\get-fileactions-collection-windows-defender-advanced-threat-protection.md) -####### [Unblock file API](windows-defender-atp\unblock-file-windows-defender-advanced-threat-protection.md) +####### [Block file API](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +####### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +####### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +####### [Get FileActions collection API](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +####### [Unblock file API](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) ######IP -####### [Get IP related alerts](windows-defender-atp\get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get IP related machines](windows-defender-atp\get-ip-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get IP statistics](windows-defender-atp\get-ip-statistics-windows-defender-advanced-threat-protection.md) -####### [Is IP seen in organization](windows-defender-atp\is-ip-seen-org-windows-defender-advanced-threat-protection.md) +####### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +####### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) ######Machines -####### [Collect investigation package API](windows-defender-atp\collect-investigation-package-windows-defender-advanced-threat-protection.md) -####### [Find machine information by IP](windows-defender-atp\find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp\get-machines-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineAction object API](windows-defender-atp\get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineActions collection API](windows-defender-atp\get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machine by ID](windows-defender-atp\get-machine-by-id-windows-defender-advanced-threat-protection.md) -####### [Get machine log on users](windows-defender-atp\get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -####### [Get machine related alerts](windows-defender-atp\get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get MachineAction object API](windows-defender-atp\get-machineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get MachineActions collection API](windows-defender-atp\get-machineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp\get-machines-windows-defender-advanced-threat-protection.md) -####### [Get package SAS URI API](windows-defender-atp\get-package-sas-uri-windows-defender-advanced-threat-protection.md) -####### [Isolate machine API](windows-defender-atp\isolate-machine-windows-defender-advanced-threat-protection.md) -####### [Release machine from isolation API](windows-defender-atp\unisolate-machine-windows-defender-advanced-threat-protection.md) -####### [Remove app restriction API](windows-defender-atp\unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Request sample API](windows-defender-atp\request-sample-windows-defender-advanced-threat-protection.md) -####### [Restrict app execution API](windows-defender-atp\restrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Run antivirus scan API](windows-defender-atp\run-av-scan-windows-defender-advanced-threat-protection.md) -####### [Stop and quarantine file API](windows-defender-atp\stop-quarantine-file-windows-defender-advanced-threat-protection.md) +####### [Collect investigation package API](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +####### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineAction object API](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineActions collection API](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +####### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +####### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get MachineAction object API](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get MachineActions collection API](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +####### [Get package SAS URI API](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +####### [Isolate machine API](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +####### [Release machine from isolation API](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +####### [Remove app restriction API](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Request sample API](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +####### [Restrict app execution API](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Run antivirus scan API](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +####### [Stop and quarantine file API](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) ######User -####### [Get alert related user information](windows-defender-atp\get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -####### [Get user information](windows-defender-atp\get-user-information-windows-defender-advanced-threat-protection.md) -####### [Get user related alerts](windows-defender-atp\get-user-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get user related machines](windows-defender-atp\get-user-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +####### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +####### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) ###Reporting -#### [Create and build Power BI reports using Windows Defender ATP data](windows-defender-atp\powerbi-reports-windows-defender-advanced-threat-protection.md) +#### [Create and build Power BI reports using Windows Defender ATP data](windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md) ###Check service health and sensor state -#### [Check sensor state](windows-defender-atp\check-sensor-status-windows-defender-advanced-threat-protection.md) -##### [Fix unhealthy sensors](windows-defender-atp\fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md) -##### [Inactive machines](windows-defender-atp\fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#inactive-machines) -##### [Misconfigured machines](windows-defender-atp\fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#misconfigured-machines) -#### [Check service health](windows-defender-atp\service-status-windows-defender-advanced-threat-protection.md) -### [Configure Windows Defender ATP preferences settings](windows-defender-atp\preferences-setup-windows-defender-advanced-threat-protection.md) -#### [Update general settings](windows-defender-atp\general-settings-windows-defender-advanced-threat-protection.md) -#### [Enable advanced features](windows-defender-atp\advanced-features-windows-defender-advanced-threat-protection.md) -#### [Enable preview experience](windows-defender-atp\preview-settings-windows-defender-advanced-threat-protection.md) -#### [Configure email notifications](windows-defender-atp\configure-email-notifications-windows-defender-advanced-threat-protection.md) -#### [Enable SIEM integration](windows-defender-atp\enable-siem-integration-windows-defender-advanced-threat-protection.md) -#### [Enable Threat intel API](windows-defender-atp\enable-custom-ti-windows-defender-advanced-threat-protection.md) -#### [Enable and create Power BI reports using Windows Defender ATP data](windows-defender-atp\powerbi-reports-windows-defender-advanced-threat-protection.md) -#### [Enable Security Analytics security controls](windows-defender-atp\enable-security-analytics-windows-defender-advanced-threat-protection.md) +#### [Check sensor state](windows-defender-atp/check-sensor-status-windows-defender-advanced-threat-protection.md) +##### [Fix unhealthy sensors](windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md) +##### [Inactive machines](windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#inactive-machines) +##### [Misconfigured machines](windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md#misconfigured-machines) +#### [Check service health](windows-defender-atp/service-status-windows-defender-advanced-threat-protection.md) +### [Configure Windows Defender ATP preferences settings](windows-defender-atp/preferences-setup-windows-defender-advanced-threat-protection.md) +#### [Update general settings](windows-defender-atp/general-settings-windows-defender-advanced-threat-protection.md) +#### [Enable advanced features](windows-defender-atp/advanced-features-windows-defender-advanced-threat-protection.md) +#### [Enable preview experience](windows-defender-atp/preview-settings-windows-defender-advanced-threat-protection.md) +#### [Configure email notifications](windows-defender-atp/configure-email-notifications-windows-defender-advanced-threat-protection.md) +#### [Enable SIEM integration](windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md) +#### [Enable Threat intel API](windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md) +#### [Enable and create Power BI reports using Windows Defender ATP data](windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md) +#### [Enable Security Analytics security controls](windows-defender-atp/enable-security-analytics-windows-defender-advanced-threat-protection.md) -### [Configure Windows Defender ATP time zone settings](windows-defender-atp\settings-windows-defender-advanced-threat-protection.md) -### [Access the Windows Defender ATP Community Center](windows-defender-atp\community-windows-defender-advanced-threat-protection.md) -### [Troubleshoot Windows Defender ATP](windows-defender-atp\troubleshoot-windows-defender-advanced-threat-protection.md) -#### [Review events and errors on endpoints with Event Viewer](windows-defender-atp\event-error-codes-windows-defender-advanced-threat-protection.md) -### [Windows Defender Antivirus compatibility with Windows Defender ATP](windows-defender-atp\defender-compatibility-windows-defender-advanced-threat-protection.md) +### [Configure Windows Defender ATP time zone settings](windows-defender-atp/settings-windows-defender-advanced-threat-protection.md) +### [Access the Windows Defender ATP Community Center](windows-defender-atp/community-windows-defender-advanced-threat-protection.md) +### [Troubleshoot Windows Defender ATP](windows-defender-atp/troubleshoot-windows-defender-advanced-threat-protection.md) +#### [Review events and errors on endpoints with Event Viewer](windows-defender-atp/event-error-codes-windows-defender-advanced-threat-protection.md) +### [Windows Defender Antivirus compatibility with Windows Defender ATP](windows-defender-atp/defender-compatibility-windows-defender-advanced-threat-protection.md) -## [Windows Defender Antivirus in Windows 10](windows-defender-antivirus\windows-defender-antivirus-in-windows-10.md) -### [Windows Defender AV in the Windows Defender Security Center app](windows-defender-antivirus\windows-defender-security-center-antivirus.md) +## [Windows Defender Antivirus in Windows 10](windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md) +### [Windows Defender AV in the Windows Defender Security Center app](windows-defender-antivirus/windows-defender-security-center-antivirus.md) -### [Windows Defender AV on Windows Server 2016](windows-defender-antivirus\windows-defender-antivirus-on-windows-server-2016.md) +### [Windows Defender AV on Windows Server 2016](windows-defender-antivirus/windows-defender-antivirus-on-windows-server-2016.md) -### [Windows Defender Antivirus compatibility](windows-defender-antivirus\windows-defender-antivirus-compatibility.md) -#### [Use limited periodic scanning in Windows Defender AV](windows-defender-antivirus\limited-periodic-scanning-windows-defender-antivirus.md) +### [Windows Defender Antivirus compatibility](windows-defender-antivirus/windows-defender-antivirus-compatibility.md) +#### [Use limited periodic scanning in Windows Defender AV](windows-defender-antivirus/limited-periodic-scanning-windows-defender-antivirus.md) -### [Evaluate Windows Defender Antivirus protection](windows-defender-antivirus\evaluate-windows-defender-antivirus.md) +### [Evaluate Windows Defender Antivirus protection](windows-defender-antivirus/evaluate-windows-defender-antivirus.md) -### [Deploy, manage updates, and report on Windows Defender Antivirus](windows-defender-antivirus\deploy-manage-report-windows-defender-antivirus.md) -#### [Deploy and enable Windows Defender Antivirus](windows-defender-antivirus\deploy-windows-defender-antivirus.md) -##### [Deployment guide for VDI environments](windows-defender-antivirus\deployment-vdi-windows-defender-antivirus.md) -#### [Report on Windows Defender Antivirus protection](windows-defender-antivirus\report-monitor-windows-defender-antivirus.md) -##### [Troubleshoot Windows Defender Antivirus reporting in Update Compliance](windows-defender-antivirus\troubleshoot-reporting.md) -#### [Manage updates and apply baselines](windows-defender-antivirus\manage-updates-baselines-windows-defender-antivirus.md) -##### [Manage protection and definition updates](windows-defender-antivirus\manage-protection-updates-windows-defender-antivirus.md) -##### [Manage when protection updates should be downloaded and applied](windows-defender-antivirus\manage-protection-update-schedule-windows-defender-antivirus.md) -##### [Manage updates for endpoints that are out of date](windows-defender-antivirus\manage-outdated-endpoints-windows-defender-antivirus.md) -##### [Manage event-based forced updates](windows-defender-antivirus\manage-event-based-updates-windows-defender-antivirus.md) -##### [Manage updates for mobile devices and VMs](windows-defender-antivirus\manage-updates-mobile-devices-vms-windows-defender-antivirus.md) +### [Deploy, manage updates, and report on Windows Defender Antivirus](windows-defender-antivirus/deploy-manage-report-windows-defender-antivirus.md) +#### [Deploy and enable Windows Defender Antivirus](windows-defender-antivirus/deploy-windows-defender-antivirus.md) +##### [Deployment guide for VDI environments](windows-defender-antivirus/deployment-vdi-windows-defender-antivirus.md) +#### [Report on Windows Defender Antivirus protection](windows-defender-antivirus/report-monitor-windows-defender-antivirus.md) +##### [Troubleshoot Windows Defender Antivirus reporting in Update Compliance](windows-defender-antivirus/troubleshoot-reporting.md) +#### [Manage updates and apply baselines](windows-defender-antivirus/manage-updates-baselines-windows-defender-antivirus.md) +##### [Manage protection and definition updates](windows-defender-antivirus/manage-protection-updates-windows-defender-antivirus.md) +##### [Manage when protection updates should be downloaded and applied](windows-defender-antivirus/manage-protection-update-schedule-windows-defender-antivirus.md) +##### [Manage updates for endpoints that are out of date](windows-defender-antivirus/manage-outdated-endpoints-windows-defender-antivirus.md) +##### [Manage event-based forced updates](windows-defender-antivirus/manage-event-based-updates-windows-defender-antivirus.md) +##### [Manage updates for mobile devices and VMs](windows-defender-antivirus/manage-updates-mobile-devices-vms-windows-defender-antivirus.md) -### [Configure Windows Defender Antivirus features](windows-defender-antivirus\configure-windows-defender-antivirus-features.md) -#### [Utilize Microsoft cloud-delivered protection](windows-defender-antivirus\utilize-microsoft-cloud-protection-windows-defender-antivirus.md) -##### [Enable cloud-delivered protection](windows-defender-antivirus\enable-cloud-protection-windows-defender-antivirus.md) -##### [Specify the cloud-delivered protection level](windows-defender-antivirus\specify-cloud-protection-level-windows-defender-antivirus.md) -##### [Configure and validate network connections](windows-defender-antivirus\configure-network-connections-windows-defender-antivirus.md) -##### [Enable the Block at First Sight feature](windows-defender-antivirus\configure-block-at-first-sight-windows-defender-antivirus.md) -##### [Configure the cloud block timeout period](windows-defender-antivirus\configure-cloud-block-timeout-period-windows-defender-antivirus.md) -#### [Configure behavioral, heuristic, and real-time protection](windows-defender-antivirus\configure-protection-features-windows-defender-antivirus.md) -##### [Detect and block Potentially Unwanted Applications](windows-defender-antivirus\detect-block-potentially-unwanted-apps-windows-defender-antivirus.md) -##### [Enable and configure always-on protection and monitoring](windows-defender-antivirus\configure-real-time-protection-windows-defender-antivirus.md) -#### [Configure end-user interaction with Windows Defender AV](windows-defender-antivirus\configure-end-user-interaction-windows-defender-antivirus.md) -##### [Configure the notifications that appear on endpoints](windows-defender-antivirus\configure-notifications-windows-defender-antivirus.md) -##### [Prevent users from seeing or interacting with the user interface](windows-defender-antivirus\prevent-end-user-interaction-windows-defender-antivirus.md) -##### [Prevent or allow users to locally modify policy settings](windows-defender-antivirus\configure-local-policy-overrides-windows-defender-antivirus.md) +### [Configure Windows Defender Antivirus features](windows-defender-antivirus/configure-windows-defender-antivirus-features.md) +#### [Utilize Microsoft cloud-delivered protection](windows-defender-antivirus/utilize-microsoft-cloud-protection-windows-defender-antivirus.md) +##### [Enable cloud-delivered protection](windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md) +##### [Specify the cloud-delivered protection level](windows-defender-antivirus/specify-cloud-protection-level-windows-defender-antivirus.md) +##### [Configure and validate network connections](windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md) +##### [Enable the Block at First Sight feature](windows-defender-antivirus/configure-block-at-first-sight-windows-defender-antivirus.md) +##### [Configure the cloud block timeout period](windows-defender-antivirus/configure-cloud-block-timeout-period-windows-defender-antivirus.md) +#### [Configure behavioral, heuristic, and real-time protection](windows-defender-antivirus/configure-protection-features-windows-defender-antivirus.md) +##### [Detect and block Potentially Unwanted Applications](windows-defender-antivirus/detect-block-potentially-unwanted-apps-windows-defender-antivirus.md) +##### [Enable and configure always-on protection and monitoring](windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md) +#### [Configure end-user interaction with Windows Defender AV](windows-defender-antivirus/configure-end-user-interaction-windows-defender-antivirus.md) +##### [Configure the notifications that appear on endpoints](windows-defender-antivirus/configure-notifications-windows-defender-antivirus.md) +##### [Prevent users from seeing or interacting with the user interface](windows-defender-antivirus/prevent-end-user-interaction-windows-defender-antivirus.md) +##### [Prevent or allow users to locally modify policy settings](windows-defender-antivirus/configure-local-policy-overrides-windows-defender-antivirus.md) -### [Customize, initiate, and review the results of scans and remediation](windows-defender-antivirus\customize-run-review-remediate-scans-windows-defender-antivirus.md) -#### [Configure and validate exclusions in Windows Defender AV scans](windows-defender-antivirus\configure-exclusions-windows-defender-antivirus.md) -##### [Configure and validate exclusions based on file name, extension, and folder location](windows-defender-antivirus\configure-extension-file-exclusions-windows-defender-antivirus.md) -##### [Configure and validate exclusions for files opened by processes](windows-defender-antivirus\configure-process-opened-file-exclusions-windows-defender-antivirus.md) -##### [Configure exclusions in Windows Defender AV on Windows Server 2016](windows-defender-antivirus\configure-server-exclusions-windows-defender-antivirus.md) -#### [Configure scanning options in Windows Defender AV](windows-defender-antivirus\configure-advanced-scan-types-windows-defender-antivirus.md) -#### [Configure remediation for scans](windows-defender-antivirus\configure-remediation-windows-defender-antivirus.md) -#### [Configure scheduled scans](windows-defender-antivirus\scheduled-catch-up-scans-windows-defender-antivirus.md) -#### [Configure and run scans](windows-defender-antivirus\run-scan-windows-defender-antivirus.md) -#### [Review scan results](windows-defender-antivirus\review-scan-results-windows-defender-antivirus.md) -#### [Run and review the results of a Windows Defender Offline scan](windows-defender-antivirus\windows-defender-offline.md) +### [Customize, initiate, and review the results of scans and remediation](windows-defender-antivirus/customize-run-review-remediate-scans-windows-defender-antivirus.md) +#### [Configure and validate exclusions in Windows Defender AV scans](windows-defender-antivirus/configure-exclusions-windows-defender-antivirus.md) +##### [Configure and validate exclusions based on file name, extension, and folder location](windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus.md) +##### [Configure and validate exclusions for files opened by processes](windows-defender-antivirus/configure-process-opened-file-exclusions-windows-defender-antivirus.md) +##### [Configure exclusions in Windows Defender AV on Windows Server 2016](windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md) +#### [Configure scanning options in Windows Defender AV](windows-defender-antivirus/configure-advanced-scan-types-windows-defender-antivirus.md) +#### [Configure remediation for scans](windows-defender-antivirus/configure-remediation-windows-defender-antivirus.md) +#### [Configure scheduled scans](windows-defender-antivirus/scheduled-catch-up-scans-windows-defender-antivirus.md) +#### [Configure and run scans](windows-defender-antivirus/run-scan-windows-defender-antivirus.md) +#### [Review scan results](windows-defender-antivirus/review-scan-results-windows-defender-antivirus.md) +#### [Run and review the results of a Windows Defender Offline scan](windows-defender-antivirus/windows-defender-offline.md) -### [Review event logs and error codes to troubleshoot issues](windows-defender-antivirus\troubleshoot-windows-defender-antivirus.md) +### [Review event logs and error codes to troubleshoot issues](windows-defender-antivirus/troubleshoot-windows-defender-antivirus.md) -### [Reference topics for management and configuration tools](windows-defender-antivirus\configuration-management-reference-windows-defender-antivirus.md) -#### [Use Group Policy settings to configure and manage Windows Defender AV](windows-defender-antivirus\use-group-policy-windows-defender-antivirus.md) -#### [Use System Center Configuration Manager and Microsoft Intune to configure and manage Windows Defender AV](windows-defender-antivirus\use-intune-config-manager-windows-defender-antivirus.md) -#### [Use PowerShell cmdlets to configure and manage Windows Defender AV](windows-defender-antivirus\use-powershell-cmdlets-windows-defender-antivirus.md) -#### [Use Windows Management Instrumentation (WMI) to configure and manage Windows Defender AV](windows-defender-antivirus\use-wmi-windows-defender-antivirus.md) -#### [Use the mpcmdrun.exe commandline tool to configure and manage Windows Defender AV](windows-defender-antivirus\command-line-arguments-windows-defender-antivirus.md) +### [Reference topics for management and configuration tools](windows-defender-antivirus/configuration-management-reference-windows-defender-antivirus.md) +#### [Use Group Policy settings to configure and manage Windows Defender AV](windows-defender-antivirus/use-group-policy-windows-defender-antivirus.md) +#### [Use System Center Configuration Manager and Microsoft Intune to configure and manage Windows Defender AV](windows-defender-antivirus/use-intune-config-manager-windows-defender-antivirus.md) +#### [Use PowerShell cmdlets to configure and manage Windows Defender AV](windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md) +#### [Use Windows Management Instrumentation (WMI) to configure and manage Windows Defender AV](windows-defender-antivirus/use-wmi-windows-defender-antivirus.md) +#### [Use the mpcmdrun.exe commandline tool to configure and manage Windows Defender AV](windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md) -## [Windows Defender Exploit Guard](windows-defender-exploit-guard\windows-defender-exploit-guard.md) -### [Evaluate Windows Defender Exploit Guard](windows-defender-exploit-guard\evaluate-windows-defender-exploit-guard.md) -#### [Use auditing mode to evaluate Windows Defender Exploit Guard](windows-defender-exploit-guard\audit-windows-defender-exploit-guard.md) -#### [View Exploit Guard events](windows-defender-exploit-guard\event-views-exploit-guard.md) +## [Windows Defender Exploit Guard](windows-defender-exploit-guard/windows-defender-exploit-guard.md) +### [Evaluate Windows Defender Exploit Guard](windows-defender-exploit-guard/evaluate-windows-defender-exploit-guard.md) +#### [Use auditing mode to evaluate Windows Defender Exploit Guard](windows-defender-exploit-guard/audit-windows-defender-exploit-guard.md) +#### [View Exploit Guard events](windows-defender-exploit-guard/event-views-exploit-guard.md) -### [Exploit protection](windows-defender-exploit-guard\exploit-protection-exploit-guard.md) -#### [Comparison with Enhanced Mitigation Experience Toolkit](windows-defender-exploit-guard\emet-exploit-protection-exploit-guard.md) -#### [Evaluate Exploit protection](windows-defender-exploit-guard\evaluate-exploit-protection.md) -#### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) -#### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) -##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard\import-export-exploit-protection-emet-xml.md) -#### [Memory integrity](memory-integrity.md) +### [Exploit protection](windows-defender-exploit-guard/exploit-protection-exploit-guard.md) +#### [Comparison with Enhanced Mitigation Experience Toolkit](windows-defender-exploit-guard/emet-exploit-protection-exploit-guard.md) +#### [Evaluate Exploit protection](windows-defender-exploit-guard/evaluate-exploit-protection.md) +#### [Enable Exploit protection](windows-defender-exploit-guard/enable-exploit-protection.md) +#### [Customize Exploit protection](windows-defender-exploit-guard/customize-exploit-protection.md) +##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md) +#### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) ##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) ##### [Enable virtualization-based protection of code integrity](device-guard/deploy-device-guard-enable-virtualization-based-security.md) -### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) -#### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) -#### [Enable Attack surface reduction](windows-defender-exploit-guard\enable-attack-surface-reduction.md) -#### [Customize Attack surface reduction](windows-defender-exploit-guard\customize-attack-surface-reduction.md) -#### [Troubleshoot Attack surface reduction rules](windows-defender-exploit-guard\troubleshoot-asr.md) -### [Network Protection](windows-defender-exploit-guard\network-protection-exploit-guard.md) -#### [Evaluate Network Protection](windows-defender-exploit-guard\evaluate-network-protection.md) -#### [Enable Network Protection](windows-defender-exploit-guard\enable-network-protection.md) -#### [Troubleshoot Network protection](windows-defender-exploit-guard\troubleshoot-np.md) -### [Controlled folder access](windows-defender-exploit-guard\controlled-folders-exploit-guard.md) -#### [Evaluate Controlled folder access](windows-defender-exploit-guard\evaluate-controlled-folder-access.md) -#### [Enable Controlled folder access](windows-defender-exploit-guard\enable-controlled-folders-exploit-guard.md) -#### [Customize Controlled folder access](windows-defender-exploit-guard\customize-controlled-folders-exploit-guard.md) +### [Attack surface reduction](windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md) +#### [Evaluate Attack surface reduction](windows-defender-exploit-guard/evaluate-attack-surface-reduction.md) +#### [Enable Attack surface reduction](windows-defender-exploit-guard/enable-attack-surface-reduction.md) +#### [Customize Attack surface reduction](windows-defender-exploit-guard/customize-attack-surface-reduction.md) +#### [Troubleshoot Attack surface reduction rules](windows-defender-exploit-guard/troubleshoot-asr.md) +### [Network Protection](windows-defender-exploit-guard/network-protection-exploit-guard.md) +#### [Evaluate Network Protection](windows-defender-exploit-guard/evaluate-network-protection.md) +#### [Enable Network Protection](windows-defender-exploit-guard/enable-network-protection.md) +#### [Troubleshoot Network protection](windows-defender-exploit-guard/troubleshoot-np.md) +### [Controlled folder access](windows-defender-exploit-guard/controlled-folders-exploit-guard.md) +#### [Evaluate Controlled folder access](windows-defender-exploit-guard/evaluate-controlled-folder-access.md) +#### [Enable Controlled folder access](windows-defender-exploit-guard/enable-controlled-folders-exploit-guard.md) +#### [Customize Controlled folder access](windows-defender-exploit-guard/customize-controlled-folders-exploit-guard.md) -## [Windows Defender Application Control](windows-defender-application-control\windows-defender-application-control.md) +## [Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md) ### [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) ### [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) -#### [Deploy WDAC policies](windows-defender-application-control\deploy-windows-defender-application-control-policies.md) +#### [Deploy WDAC policies](windows-defender-application-control/deploy-windows-defender-application-control-policies.md) ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) -### [Windows Defender Application Control and AppLocker](windows-defender-application-control\windows-defender-application-control-and-applocker.md) -### [AppLocker](windows-defender-application-control\applocker\applocker-overview.md) -#### [Administer AppLocker](windows-defender-application-control\applocker\administer-applocker.md) -##### [Maintain AppLocker policies](windows-defender-application-control\applocker\maintain-applocker-policies.md) -##### [Edit an AppLocker policy](windows-defender-application-control\applocker\edit-an-applocker-policy.md) -##### [Test and update an AppLocker policy](windows-defender-application-control\applocker\test-and-update-an-applocker-policy.md) -##### [Deploy AppLocker policies by using the enforce rules setting](windows-defender-application-control\applocker\deploy-applocker-policies-by-using-the-enforce-rules-setting.md) -##### [Use the AppLocker Windows PowerShell cmdlets](windows-defender-application-control\applocker\use-the-applocker-windows-powershell-cmdlets.md) -##### [Use AppLocker and Software Restriction Policies in the same domain](windows-defender-application-control\applocker\use-applocker-and-software-restriction-policies-in-the-same-domain.md) -##### [Optimize AppLocker performance](windows-defender-application-control\applocker\optimize-applocker-performance.md) -##### [Monitor app usage with AppLocker](windows-defender-application-control\applocker\monitor-application-usage-with-applocker.md) -##### [Manage packaged apps with AppLocker](windows-defender-application-control\applocker\manage-packaged-apps-with-applocker.md) -##### [Working with AppLocker rules](windows-defender-application-control\applocker\working-with-applocker-rules.md) -###### [Create a rule that uses a file hash condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-file-hash-condition.md) -###### [Create a rule that uses a path condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-path-condition.md) -###### [Create a rule that uses a publisher condition](windows-defender-application-control\applocker\create-a-rule-that-uses-a-publisher-condition.md) -###### [Create AppLocker default rules](windows-defender-application-control\applocker\create-applocker-default-rules.md) -###### [Add exceptions for an AppLocker rule](windows-defender-application-control\applocker\configure-exceptions-for-an-applocker-rule.md) -###### [Create a rule for packaged apps](windows-defender-application-control\applocker\create-a-rule-for-packaged-apps.md) -###### [Delete an AppLocker rule](windows-defender-application-control\applocker\delete-an-applocker-rule.md) -###### [Edit AppLocker rules](windows-defender-application-control\applocker\edit-applocker-rules.md) -###### [Enable the DLL rule collection](windows-defender-application-control\applocker\enable-the-dll-rule-collection.md) -###### [Enforce AppLocker rules](windows-defender-application-control\applocker\enforce-applocker-rules.md) -###### [Run the Automatically Generate Rules wizard](windows-defender-application-control\applocker\run-the-automatically-generate-rules-wizard.md) -##### [Working with AppLocker policies](windows-defender-application-control\applocker\working-with-applocker-policies.md) -###### [Configure the Application Identity service](windows-defender-application-control\applocker\configure-the-application-identity-service.md) -###### [Configure an AppLocker policy for audit only](windows-defender-application-control\applocker\configure-an-applocker-policy-for-audit-only.md) -###### [Configure an AppLocker policy for enforce rules](windows-defender-application-control\applocker\configure-an-applocker-policy-for-enforce-rules.md) -###### [Display a custom URL message when users try to run a blocked app](windows-defender-application-control\applocker\display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) -###### [Export an AppLocker policy from a GPO](windows-defender-application-control\applocker\export-an-applocker-policy-from-a-gpo.md) -###### [Export an AppLocker policy to an XML file](windows-defender-application-control\applocker\export-an-applocker-policy-to-an-xml-file.md) -###### [Import an AppLocker policy from another computer](windows-defender-application-control\applocker\import-an-applocker-policy-from-another-computer.md) -###### [Import an AppLocker policy into a GPO](windows-defender-application-control\applocker\import-an-applocker-policy-into-a-gpo.md) -###### [Add rules for packaged apps to existing AppLocker rule-set](windows-defender-application-control\applocker\add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) -###### [Merge AppLocker policies by using Set-ApplockerPolicy](windows-defender-application-control\applocker\merge-applocker-policies-by-using-set-applockerpolicy.md) -###### [Merge AppLocker policies manually](windows-defender-application-control\applocker\merge-applocker-policies-manually.md) -###### [Refresh an AppLocker policy](windows-defender-application-control\applocker\refresh-an-applocker-policy.md) -###### [Test an AppLocker policy by using Test-AppLockerPolicy](windows-defender-application-control\applocker\test-an-applocker-policy-by-using-test-applockerpolicy.md) -#### [AppLocker design guide](windows-defender-application-control\applocker\applocker-policies-design-guide.md) -##### [Understand AppLocker policy design decisions](windows-defender-application-control\applocker\understand-applocker-policy-design-decisions.md) -##### [Determine your application control objectives](windows-defender-application-control\applocker\determine-your-application-control-objectives.md) -##### [Create a list of apps deployed to each business group](windows-defender-application-control\applocker\create-list-of-applications-deployed-to-each-business-group.md) -###### [Document your app list](windows-defender-application-control\applocker\document-your-application-list.md) -##### [Select the types of rules to create](windows-defender-application-control\applocker\select-types-of-rules-to-create.md) -###### [Document your AppLocker rules](windows-defender-application-control\applocker\document-your-applocker-rules.md) -##### [Determine the Group Policy structure and rule enforcement](windows-defender-application-control\applocker\determine-group-policy-structure-and-rule-enforcement.md) -###### [Understand AppLocker enforcement settings](windows-defender-application-control\applocker\understand-applocker-enforcement-settings.md) -###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](windows-defender-application-control\applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) -###### [Document the Group Policy structure and AppLocker rule enforcement](windows-defender-application-control\applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) -##### [Plan for AppLocker policy management](windows-defender-application-control\applocker\plan-for-applocker-policy-management.md) -###### [Document your application control management processes](windows-defender-application-control\applocker\document-your-application-control-management-processes.md) -##### [Create your AppLocker planning document](windows-defender-application-control\applocker\create-your-applocker-planning-document.md) -#### [AppLocker deployment guide](windows-defender-application-control\applocker\applocker-policies-deployment-guide.md) -##### [Understand the AppLocker policy deployment process](windows-defender-application-control\applocker\understand-the-applocker-policy-deployment-process.md) -##### [Requirements for Deploying AppLocker Policies](windows-defender-application-control\applocker\requirements-for-deploying-applocker-policies.md) -##### [Use Software Restriction Policies and AppLocker policies](windows-defender-application-control\applocker\using-software-restriction-policies-and-applocker-policies.md) -##### [Create Your AppLocker policies](windows-defender-application-control\applocker\create-your-applocker-policies.md) -###### [Create Your AppLocker rules](windows-defender-application-control\applocker\create-your-applocker-rules.md) -##### [Deploy the AppLocker policy into production](windows-defender-application-control\applocker\deploy-the-applocker-policy-into-production.md) -###### [Use a reference device to create and maintain AppLocker policies](windows-defender-application-control\applocker\use-a-reference-computer-to-create-and-maintain-applocker-policies.md) -####### [Determine which apps are digitally signed on a reference device](windows-defender-application-control\applocker\determine-which-applications-are-digitally-signed-on-a-reference-computer.md) -####### [Configure the AppLocker reference device](windows-defender-application-control\applocker\configure-the-appLocker-reference-device.md) -#### [AppLocker technical reference](windows-defender-application-control\applocker\applocker-technical-reference.md) -##### [What Is AppLocker?](windows-defender-application-control\applocker\what-is-applocker.md) -##### [Requirements to use AppLocker](windows-defender-application-control\applocker\requirements-to-use-applocker.md) -##### [AppLocker policy use scenarios](windows-defender-application-control\applocker\applocker-policy-use-scenarios.md) -##### [How AppLocker works](windows-defender-application-control\applocker\how-applocker-works-techref.md) -###### [Understanding AppLocker rule behavior](windows-defender-application-control\applocker\understanding-applocker-rule-behavior.md) -###### [Understanding AppLocker rule exceptions](windows-defender-application-control\applocker\understanding-applocker-rule-exceptions.md) -###### [Understanding AppLocker rule collections](windows-defender-application-control\applocker\understanding-applocker-rule-collections.md) -###### [Understanding AppLocker allow and deny actions on rules](windows-defender-application-control\applocker\understanding-applocker-allow-and-deny-actions-on-rules.md) -###### [Understanding AppLocker rule condition types](windows-defender-application-control\applocker\understanding-applocker-rule-condition-types.md) -####### [Understanding the publisher rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-publisher-rule-condition-in-applocker.md) -####### [Understanding the path rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-path-rule-condition-in-applocker.md) -####### [Understanding the file hash rule condition in AppLocker](windows-defender-application-control\applocker\understanding-the-file-hash-rule-condition-in-applocker.md) -###### [Understanding AppLocker default rules](windows-defender-application-control\applocker\understanding-applocker-default-rules.md) -####### [Executable rules in AppLocker](windows-defender-application-control\applocker\executable-rules-in-applocker.md) -####### [Windows Installer rules in AppLocker](windows-defender-application-control\applocker\windows-installer-rules-in-applocker.md) -####### [Script rules in AppLocker](windows-defender-application-control\applocker\script-rules-in-applocker.md) -####### [DLL rules in AppLocker](windows-defender-application-control\applocker\dll-rules-in-applocker.md) -####### [Packaged apps and packaged app installer rules in AppLocker](windows-defender-application-control\applocker\packaged-apps-and-packaged-app-installer-rules-in-applocker.md) -##### [AppLocker architecture and components](windows-defender-application-control\applocker\applocker-architecture-and-components.md) -##### [AppLocker processes and interactions](windows-defender-application-control\applocker\applocker-processes-and-interactions.md) -##### [AppLocker functions](windows-defender-application-control\applocker\applocker-functions.md) -##### [Security considerations for AppLocker](windows-defender-application-control\applocker\security-considerations-for-applocker.md) -##### [Tools to Use with AppLocker](windows-defender-application-control\applocker\tools-to-use-with-applocker.md) -###### [Using Event Viewer with AppLocker](windows-defender-application-control\applocker\using-event-viewer-with-applocker.md) -##### [AppLocker Settings](windows-defender-application-control\applocker\applocker-settings.md) +### [Windows Defender Application Control and AppLocker](windows-defender-application-control/windows-defender-application-control-and-applocker.md) +### [AppLocker](windows-defender-application-control/applocker/applocker-overview.md) +#### [Administer AppLocker](windows-defender-application-control/applocker/administer-applocker.md) +##### [Maintain AppLocker policies](windows-defender-application-control/applocker/maintain-applocker-policies.md) +##### [Edit an AppLocker policy](windows-defender-application-control/applocker/edit-an-applocker-policy.md) +##### [Test and update an AppLocker policy](windows-defender-application-control/applocker/test-and-update-an-applocker-policy.md) +##### [Deploy AppLocker policies by using the enforce rules setting](windows-defender-application-control/applocker/deploy-applocker-policies-by-using-the-enforce-rules-setting.md) +##### [Use the AppLocker Windows PowerShell cmdlets](windows-defender-application-control/applocker/use-the-applocker-windows-powershell-cmdlets.md) +##### [Use AppLocker and Software Restriction Policies in the same domain](windows-defender-application-control/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain.md) +##### [Optimize AppLocker performance](windows-defender-application-control/applocker/optimize-applocker-performance.md) +##### [Monitor app usage with AppLocker](windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md) +##### [Manage packaged apps with AppLocker](windows-defender-application-control/applocker/manage-packaged-apps-with-applocker.md) +##### [Working with AppLocker rules](windows-defender-application-control/applocker/working-with-applocker-rules.md) +###### [Create a rule that uses a file hash condition](windows-defender-application-control/applocker/create-a-rule-that-uses-a-file-hash-condition.md) +###### [Create a rule that uses a path condition](windows-defender-application-control/applocker/create-a-rule-that-uses-a-path-condition.md) +###### [Create a rule that uses a publisher condition](windows-defender-application-control/applocker/create-a-rule-that-uses-a-publisher-condition.md) +###### [Create AppLocker default rules](windows-defender-application-control/applocker/create-applocker-default-rules.md) +###### [Add exceptions for an AppLocker rule](windows-defender-application-control/applocker/configure-exceptions-for-an-applocker-rule.md) +###### [Create a rule for packaged apps](windows-defender-application-control/applocker/create-a-rule-for-packaged-apps.md) +###### [Delete an AppLocker rule](windows-defender-application-control/applocker/delete-an-applocker-rule.md) +###### [Edit AppLocker rules](windows-defender-application-control/applocker/edit-applocker-rules.md) +###### [Enable the DLL rule collection](windows-defender-application-control/applocker/enable-the-dll-rule-collection.md) +###### [Enforce AppLocker rules](windows-defender-application-control/applocker/enforce-applocker-rules.md) +###### [Run the Automatically Generate Rules wizard](windows-defender-application-control/applocker/run-the-automatically-generate-rules-wizard.md) +##### [Working with AppLocker policies](windows-defender-application-control/applocker/working-with-applocker-policies.md) +###### [Configure the Application Identity service](windows-defender-application-control/applocker/configure-the-application-identity-service.md) +###### [Configure an AppLocker policy for audit only](windows-defender-application-control/applocker/configure-an-applocker-policy-for-audit-only.md) +###### [Configure an AppLocker policy for enforce rules](windows-defender-application-control/applocker/configure-an-applocker-policy-for-enforce-rules.md) +###### [Display a custom URL message when users try to run a blocked app](windows-defender-application-control/applocker/display-a-custom-url-message-when-users-try-to-run-a-blocked-application.md) +###### [Export an AppLocker policy from a GPO](windows-defender-application-control/applocker/export-an-applocker-policy-from-a-gpo.md) +###### [Export an AppLocker policy to an XML file](windows-defender-application-control/applocker/export-an-applocker-policy-to-an-xml-file.md) +###### [Import an AppLocker policy from another computer](windows-defender-application-control/applocker/import-an-applocker-policy-from-another-computer.md) +###### [Import an AppLocker policy into a GPO](windows-defender-application-control/applocker/import-an-applocker-policy-into-a-gpo.md) +###### [Add rules for packaged apps to existing AppLocker rule-set](windows-defender-application-control/applocker/add-rules-for-packaged-apps-to-existing-applocker-rule-set.md) +###### [Merge AppLocker policies by using Set-ApplockerPolicy](windows-defender-application-control/applocker/merge-applocker-policies-by-using-set-applockerpolicy.md) +###### [Merge AppLocker policies manually](windows-defender-application-control/applocker/merge-applocker-policies-manually.md) +###### [Refresh an AppLocker policy](windows-defender-application-control/applocker/refresh-an-applocker-policy.md) +###### [Test an AppLocker policy by using Test-AppLockerPolicy](windows-defender-application-control/applocker/test-an-applocker-policy-by-using-test-applockerpolicy.md) +#### [AppLocker design guide](windows-defender-application-control/applocker/applocker-policies-design-guide.md) +##### [Understand AppLocker policy design decisions](windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md) +##### [Determine your application control objectives](windows-defender-application-control/applocker/determine-your-application-control-objectives.md) +##### [Create a list of apps deployed to each business group](windows-defender-application-control/applocker/create-list-of-applications-deployed-to-each-business-group.md) +###### [Document your app list](windows-defender-application-control/applocker/document-your-application-list.md) +##### [Select the types of rules to create](windows-defender-application-control/applocker/select-types-of-rules-to-create.md) +###### [Document your AppLocker rules](windows-defender-application-control/applocker/document-your-applocker-rules.md) +##### [Determine the Group Policy structure and rule enforcement](windows-defender-application-control/applocker/determine-group-policy-structure-and-rule-enforcement.md) +###### [Understand AppLocker enforcement settings](windows-defender-application-control/applocker/understand-applocker-enforcement-settings.md) +###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](windows-defender-application-control/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) +###### [Document the Group Policy structure and AppLocker rule enforcement](windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md) +##### [Plan for AppLocker policy management](windows-defender-application-control/applocker/plan-for-applocker-policy-management.md) +###### [Document your application control management processes](windows-defender-application-control/applocker/document-your-application-control-management-processes.md) +##### [Create your AppLocker planning document](windows-defender-application-control/applocker/create-your-applocker-planning-document.md) +#### [AppLocker deployment guide](windows-defender-application-control/applocker/applocker-policies-deployment-guide.md) +##### [Understand the AppLocker policy deployment process](windows-defender-application-control/applocker/understand-the-applocker-policy-deployment-process.md) +##### [Requirements for Deploying AppLocker Policies](windows-defender-application-control/applocker/requirements-for-deploying-applocker-policies.md) +##### [Use Software Restriction Policies and AppLocker policies](windows-defender-application-control/applocker/using-software-restriction-policies-and-applocker-policies.md) +##### [Create Your AppLocker policies](windows-defender-application-control/applocker/create-your-applocker-policies.md) +###### [Create Your AppLocker rules](windows-defender-application-control/applocker/create-your-applocker-rules.md) +##### [Deploy the AppLocker policy into production](windows-defender-application-control/applocker/deploy-the-applocker-policy-into-production.md) +###### [Use a reference device to create and maintain AppLocker policies](windows-defender-application-control/applocker/use-a-reference-computer-to-create-and-maintain-applocker-policies.md) +####### [Determine which apps are digitally signed on a reference device](windows-defender-application-control/applocker/determine-which-applications-are-digitally-signed-on-a-reference-computer.md) +####### [Configure the AppLocker reference device](windows-defender-application-control/applocker/configure-the-appLocker-reference-device.md) +#### [AppLocker technical reference](windows-defender-application-control/applocker/applocker-technical-reference.md) +##### [What Is AppLocker?](windows-defender-application-control/applocker/what-is-applocker.md) +##### [Requirements to use AppLocker](windows-defender-application-control/applocker/requirements-to-use-applocker.md) +##### [AppLocker policy use scenarios](windows-defender-application-control/applocker/applocker-policy-use-scenarios.md) +##### [How AppLocker works](windows-defender-application-control/applocker/how-applocker-works-techref.md) +###### [Understanding AppLocker rule behavior](windows-defender-application-control/applocker/understanding-applocker-rule-behavior.md) +###### [Understanding AppLocker rule exceptions](windows-defender-application-control/applocker/understanding-applocker-rule-exceptions.md) +###### [Understanding AppLocker rule collections](windows-defender-application-control/applocker/understanding-applocker-rule-collections.md) +###### [Understanding AppLocker allow and deny actions on rules](windows-defender-application-control/applocker/understanding-applocker-allow-and-deny-actions-on-rules.md) +###### [Understanding AppLocker rule condition types](windows-defender-application-control/applocker/understanding-applocker-rule-condition-types.md) +####### [Understanding the publisher rule condition in AppLocker](windows-defender-application-control/applocker/understanding-the-publisher-rule-condition-in-applocker.md) +####### [Understanding the path rule condition in AppLocker](windows-defender-application-control/applocker/understanding-the-path-rule-condition-in-applocker.md) +####### [Understanding the file hash rule condition in AppLocker](windows-defender-application-control/applocker/understanding-the-file-hash-rule-condition-in-applocker.md) +###### [Understanding AppLocker default rules](windows-defender-application-control/applocker/understanding-applocker-default-rules.md) +####### [Executable rules in AppLocker](windows-defender-application-control/applocker/executable-rules-in-applocker.md) +####### [Windows Installer rules in AppLocker](windows-defender-application-control/applocker/windows-installer-rules-in-applocker.md) +####### [Script rules in AppLocker](windows-defender-application-control/applocker/script-rules-in-applocker.md) +####### [DLL rules in AppLocker](windows-defender-application-control/applocker/dll-rules-in-applocker.md) +####### [Packaged apps and packaged app installer rules in AppLocker](windows-defender-application-control/applocker/packaged-apps-and-packaged-app-installer-rules-in-applocker.md) +##### [AppLocker architecture and components](windows-defender-application-control/applocker/applocker-architecture-and-components.md) +##### [AppLocker processes and interactions](windows-defender-application-control/applocker/applocker-processes-and-interactions.md) +##### [AppLocker functions](windows-defender-application-control/applocker/applocker-functions.md) +##### [Security considerations for AppLocker](windows-defender-application-control/applocker/security-considerations-for-applocker.md) +##### [Tools to Use with AppLocker](windows-defender-application-control/applocker/tools-to-use-with-applocker.md) +###### [Using Event Viewer with AppLocker](windows-defender-application-control/applocker/using-event-viewer-with-applocker.md) +##### [AppLocker Settings](windows-defender-application-control/applocker/applocker-settings.md) ## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) @@ -395,16 +395,16 @@ ### [Deploy Device Guard: enable virtualization-based security](device-guard/deploy-device-guard-enable-virtualization-based-security.md) -## [Windows Defender SmartScreen](windows-defender-smartscreen\windows-defender-smartscreen-overview.md) -### [Available Windows Defender SmartScreen Group Policy and mobile device management (MDM) settings](windows-defender-smartscreen\windows-defender-smartscreen-available-settings.md) -### [Set up and use Windows Defender SmartScreen on individual devices](windows-defender-smartscreen\windows-defender-smartscreen-set-individual-device.md) +## [Windows Defender SmartScreen](windows-defender-smartscreen/windows-defender-smartscreen-overview.md) +### [Available Windows Defender SmartScreen Group Policy and mobile device management (MDM) settings](windows-defender-smartscreen/windows-defender-smartscreen-available-settings.md) +### [Set up and use Windows Defender SmartScreen on individual devices](windows-defender-smartscreen/windows-defender-smartscreen-set-individual-device.md) -##[Windows Defender Application Guard](windows-defender-application-guard\wd-app-guard-overview.md) -###[System requirements for Windows Defender Application Guard](windows-defender-application-guard\reqs-wd-app-guard.md) -###[Prepare and install Windows Defender Application Guard](windows-defender-application-guard\install-wd-app-guard.md) -###[Configure the Group Policy settings for Windows Defender Application Guard](windows-defender-application-guard\configure-wd-app-guard.md) -###[Testing scenarios using Windows Defender Application Guard in your business or organization](windows-defender-application-guard\test-scenarios-wd-app-guard.md) -###[Frequently Asked Questions - Windows Defender Application Guard](windows-defender-application-guard\faq-wd-app-guard.md) +##[Windows Defender Application Guard](windows-defender-application-guard/wd-app-guard-overview.md) +###[System requirements for Windows Defender Application Guard](windows-defender-application-guard/reqs-wd-app-guard.md) +###[Prepare and install Windows Defender Application Guard](windows-defender-application-guard/install-wd-app-guard.md) +###[Configure the Group Policy settings for Windows Defender Application Guard](windows-defender-application-guard/configure-wd-app-guard.md) +###[Testing scenarios using Windows Defender Application Guard in your business or organization](windows-defender-application-guard/test-scenarios-wd-app-guard.md) +###[Frequently Asked Questions - Windows Defender Application Guard](windows-defender-application-guard/faq-wd-app-guard.md) ## [Mitigate threats by using Windows 10 security features](overview-of-threat-mitigations-in-windows-10.md) @@ -414,358 +414,358 @@ ## [Block untrusted fonts in an enterprise](block-untrusted-fonts-in-enterprise.md) -## [Security auditing](auditing\security-auditing-overview.md) -### [Basic security audit policies](auditing\basic-security-audit-policies.md) -#### [Create a basic audit policy for an event category](auditing\create-a-basic-audit-policy-settings-for-an-event-category.md) -#### [Apply a basic audit policy on a file or folder](auditing\apply-a-basic-audit-policy-on-a-file-or-folder.md) -#### [View the security event log](auditing\view-the-security-event-log.md) -#### [Basic security audit policy settings](auditing\basic-security-audit-policy-settings.md) -##### [Audit account logon events](auditing\basic-audit-account-logon-events.md) -##### [Audit account management](auditing\basic-audit-account-management.md) -##### [Audit directory service access](auditing\basic-audit-directory-service-access.md) -##### [Audit logon events](auditing\basic-audit-logon-events.md) -##### [Audit object access](auditing\basic-audit-object-access.md) -##### [Audit policy change](auditing\basic-audit-policy-change.md) -##### [Audit privilege use](auditing\basic-audit-privilege-use.md) -##### [Audit process tracking](auditing\basic-audit-process-tracking.md) -##### [Audit system events](auditing\basic-audit-system-events.md) -### [Advanced security audit policies](auditing\advanced-security-auditing.md) -#### [Planning and deploying advanced security audit policies](auditing\planning-and-deploying-advanced-security-audit-policies.md) -#### [Advanced security auditing FAQ](auditing\advanced-security-auditing-faq.md) -##### [Which editions of Windows support advanced audit policy configuration](auditing\which-editions-of-windows-support-advanced-audit-policy-configuration.md) -#### [Using advanced security auditing options to monitor dynamic access control objects](auditing\using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) -##### [Monitor the central access policies that apply on a file server](auditing\monitor-the-central-access-policies-that-apply-on-a-file-server.md) -##### [Monitor the use of removable storage devices](auditing\monitor-the-use-of-removable-storage-devices.md) -##### [Monitor resource attribute definitions](auditing\monitor-resource-attribute-definitions.md) -##### [Monitor central access policy and rule definitions](auditing\monitor-central-access-policy-and-rule-definitions.md) -##### [Monitor user and device claims during sign-in](auditing\monitor-user-and-device-claims-during-sign-in.md) -##### [Monitor the resource attributes on files and folders](auditing\monitor-the-resource-attributes-on-files-and-folders.md) -##### [Monitor the central access policies associated with files and folders](auditing\monitor-the-central-access-policies-associated-with-files-and-folders.md) -##### [Monitor claim types](auditing\monitor-claim-types.md) -#### [Advanced security audit policy settings](auditing\advanced-security-audit-policy-settings.md) -##### [Audit Credential Validation](auditing\audit-credential-validation.md) -###### [Event 4774 S, F: An account was mapped for logon.](auditing\event-4774.md) -###### [Event 4775 F: An account could not be mapped for logon.](auditing\event-4775.md) -###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](auditing\event-4776.md) -###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](auditing\event-4777.md) -##### [Audit Kerberos Authentication Service](auditing\audit-kerberos-authentication-service.md) -###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](auditing\event-4768.md) -###### [Event 4771 F: Kerberos pre-authentication failed.](auditing\event-4771.md) -###### [Event 4772 F: A Kerberos authentication ticket request failed.](auditing\event-4772.md) -##### [Audit Kerberos Service Ticket Operations](auditing\audit-kerberos-service-ticket-operations.md) -###### [Event 4769 S, F: A Kerberos service ticket was requested.](auditing\event-4769.md) -###### [Event 4770 S: A Kerberos service ticket was renewed.](auditing\event-4770.md) -###### [Event 4773 F: A Kerberos service ticket request failed.](auditing\event-4773.md) -##### [Audit Other Account Logon Events](auditing\audit-other-account-logon-events.md) -##### [Audit Application Group Management](auditing\audit-application-group-management.md) -##### [Audit Computer Account Management](auditing\audit-computer-account-management.md) -###### [Event 4741 S: A computer account was created.](auditing\event-4741.md) -###### [Event 4742 S: A computer account was changed.](auditing\event-4742.md) -###### [Event 4743 S: A computer account was deleted.](auditing\event-4743.md) -##### [Audit Distribution Group Management](auditing\audit-distribution-group-management.md) -###### [Event 4749 S: A security-disabled global group was created.](auditing\event-4749.md) -###### [Event 4750 S: A security-disabled global group was changed.](auditing\event-4750.md) -###### [Event 4751 S: A member was added to a security-disabled global group.](auditing\event-4751.md) -###### [Event 4752 S: A member was removed from a security-disabled global group.](auditing\event-4752.md) -###### [Event 4753 S: A security-disabled global group was deleted.](auditing\event-4753.md) -##### [Audit Other Account Management Events](auditing\audit-other-account-management-events.md) -###### [Event 4782 S: The password hash an account was accessed.](auditing\event-4782.md) -###### [Event 4793 S: The Password Policy Checking API was called.](auditing\event-4793.md) -##### [Audit Security Group Management](auditing\audit-security-group-management.md) -###### [Event 4731 S: A security-enabled local group was created.](auditing\event-4731.md) -###### [Event 4732 S: A member was added to a security-enabled local group.](auditing\event-4732.md) -###### [Event 4733 S: A member was removed from a security-enabled local group.](auditing\event-4733.md) -###### [Event 4734 S: A security-enabled local group was deleted.](auditing\event-4734.md) -###### [Event 4735 S: A security-enabled local group was changed.](auditing\event-4735.md) -###### [Event 4764 S: A group’s type was changed.](auditing\event-4764.md) -###### [Event 4799 S: A security-enabled local group membership was enumerated.](auditing\event-4799.md) -##### [Audit User Account Management](auditing\audit-user-account-management.md) -###### [Event 4720 S: A user account was created.](auditing\event-4720.md) -###### [Event 4722 S: A user account was enabled.](auditing\event-4722.md) -###### [Event 4723 S, F: An attempt was made to change an account's password.](auditing\event-4723.md) -###### [Event 4724 S, F: An attempt was made to reset an account's password.](auditing\event-4724.md) -###### [Event 4725 S: A user account was disabled.](auditing\event-4725.md) -###### [Event 4726 S: A user account was deleted.](auditing\event-4726.md) -###### [Event 4738 S: A user account was changed.](auditing\event-4738.md) -###### [Event 4740 S: A user account was locked out.](auditing\event-4740.md) -###### [Event 4765 S: SID History was added to an account.](auditing\event-4765.md) -###### [Event 4766 F: An attempt to add SID History to an account failed.](auditing\event-4766.md) -###### [Event 4767 S: A user account was unlocked.](auditing\event-4767.md) -###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](auditing\event-4780.md) -###### [Event 4781 S: The name of an account was changed.](auditing\event-4781.md) -###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](auditing\event-4794.md) -###### [Event 4798 S: A user's local group membership was enumerated.](auditing\event-4798.md) -###### [Event 5376 S: Credential Manager credentials were backed up.](auditing\event-5376.md) -###### [Event 5377 S: Credential Manager credentials were restored from a backup.](auditing\event-5377.md) -##### [Audit DPAPI Activity](auditing\audit-dpapi-activity.md) -###### [Event 4692 S, F: Backup of data protection master key was attempted.](auditing\event-4692.md) -###### [Event 4693 S, F: Recovery of data protection master key was attempted.](auditing\event-4693.md) -###### [Event 4694 S, F: Protection of auditable protected data was attempted.](auditing\event-4694.md) -###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](auditing\event-4695.md) -##### [Audit PNP Activity](auditing\audit-pnp-activity.md) -###### [Event 6416 S: A new external device was recognized by the System.](auditing\event-6416.md) -###### [Event 6419 S: A request was made to disable a device.](auditing\event-6419.md) -###### [Event 6420 S: A device was disabled.](auditing\event-6420.md) -###### [Event 6421 S: A request was made to enable a device.](auditing\event-6421.md) -###### [Event 6422 S: A device was enabled.](auditing\event-6422.md) -###### [Event 6423 S: The installation of this device is forbidden by system policy.](auditing\event-6423.md) -###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](auditing\event-6424.md) -##### [Audit Process Creation](auditing\audit-process-creation.md) -###### [Event 4688 S: A new process has been created.](auditing\event-4688.md) -###### [Event 4696 S: A primary token was assigned to process.](auditing\event-4696.md) -##### [Audit Process Termination](auditing\audit-process-termination.md) -###### [Event 4689 S: A process has exited.](auditing\event-4689.md) -##### [Audit RPC Events](auditing\audit-rpc-events.md) -###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](auditing\event-5712.md) -##### [Audit Detailed Directory Service Replication](auditing\audit-detailed-directory-service-replication.md) -###### [Event 4928 S, F: An Active Directory replica source naming context was established.](auditing\event-4928.md) -###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](auditing\event-4929.md) -###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](auditing\event-4930.md) -###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](auditing\event-4931.md) -###### [Event 4934 S: Attributes of an Active Directory object were replicated.](auditing\event-4934.md) -###### [Event 4935 F: Replication failure begins.](auditing\event-4935.md) -###### [Event 4936 S: Replication failure ends.](auditing\event-4936.md) -###### [Event 4937 S: A lingering object was removed from a replica.](auditing\event-4937.md) -##### [Audit Directory Service Access](auditing\audit-directory-service-access.md) -###### [Event 4662 S, F: An operation was performed on an object.](auditing\event-4662.md) -###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) -##### [Audit Directory Service Changes](auditing\audit-directory-service-changes.md) -###### [Event 5136 S: A directory service object was modified.](auditing\event-5136.md) -###### [Event 5137 S: A directory service object was created.](auditing\event-5137.md) -###### [Event 5138 S: A directory service object was undeleted.](auditing\event-5138.md) -###### [Event 5139 S: A directory service object was moved.](auditing\event-5139.md) -###### [Event 5141 S: A directory service object was deleted.](auditing\event-5141.md) -##### [Audit Directory Service Replication](auditing\audit-directory-service-replication.md) -###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](auditing\event-4932.md) -###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](auditing\event-4933.md) -##### [Audit Account Lockout](auditing\audit-account-lockout.md) -###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) -##### [Audit User/Device Claims](auditing\audit-user-device-claims.md) -###### [Event 4626 S: User/Device claims information.](auditing\event-4626.md) -##### [Audit Group Membership](auditing\audit-group-membership.md) -###### [Event 4627 S: Group membership information.](auditing\event-4627.md) -##### [Audit IPsec Extended Mode](auditing\audit-ipsec-extended-mode.md) -##### [Audit IPsec Main Mode](auditing\audit-ipsec-main-mode.md) -##### [Audit IPsec Quick Mode](auditing\audit-ipsec-quick-mode.md) -##### [Audit Logoff](auditing\audit-logoff.md) -###### [Event 4634 S: An account was logged off.](auditing\event-4634.md) -###### [Event 4647 S: User initiated logoff.](auditing\event-4647.md) -##### [Audit Logon](auditing\audit-logon.md) -###### [Event 4624 S: An account was successfully logged on.](auditing\event-4624.md) -###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) -###### [Event 4648 S: A logon was attempted using explicit credentials.](auditing\event-4648.md) -###### [Event 4675 S: SIDs were filtered.](auditing\event-4675.md) -##### [Audit Network Policy Server](auditing\audit-network-policy-server.md) -##### [Audit Other Logon/Logoff Events](auditing\audit-other-logonlogoff-events.md) -###### [Event 4649 S: A replay attack was detected.](auditing\event-4649.md) -###### [Event 4778 S: A session was reconnected to a Window Station.](auditing\event-4778.md) -###### [Event 4779 S: A session was disconnected from a Window Station.](auditing\event-4779.md) -###### [Event 4800 S: The workstation was locked.](auditing\event-4800.md) -###### [Event 4801 S: The workstation was unlocked.](auditing\event-4801.md) -###### [Event 4802 S: The screen saver was invoked.](auditing\event-4802.md) -###### [Event 4803 S: The screen saver was dismissed.](auditing\event-4803.md) -###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](auditing\event-5378.md) -###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](auditing\event-5632.md) -###### [Event 5633 S, F: A request was made to authenticate to a wired network.](auditing\event-5633.md) -##### [Audit Special Logon](auditing\audit-special-logon.md) -###### [Event 4964 S: Special groups have been assigned to a new logon.](auditing\event-4964.md) -###### [Event 4672 S: Special privileges assigned to new logon.](auditing\event-4672.md) -##### [Audit Application Generated](auditing\audit-application-generated.md) -##### [Audit Certification Services](auditing\audit-certification-services.md) -##### [Audit Detailed File Share](auditing\audit-detailed-file-share.md) -###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](auditing\event-5145.md) -##### [Audit File Share](auditing\audit-file-share.md) -###### [Event 5140 S, F: A network share object was accessed.](auditing\event-5140.md) -###### [Event 5142 S: A network share object was added.](auditing\event-5142.md) -###### [Event 5143 S: A network share object was modified.](auditing\event-5143.md) -###### [Event 5144 S: A network share object was deleted.](auditing\event-5144.md) -###### [Event 5168 F: SPN check for SMB/SMB2 failed.](auditing\event-5168.md) -##### [Audit File System](auditing\audit-file-system.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -###### [Event 4664 S: An attempt was made to create a hard link.](auditing\event-4664.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -###### [Event 5051: A file was virtualized.](auditing\event-5051.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -##### [Audit Filtering Platform Connection](auditing\audit-filtering-platform-connection.md) -###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](auditing\event-5031.md) -###### [Event 5150: The Windows Filtering Platform blocked a packet.](auditing\event-5150.md) -###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5151.md) -###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](auditing\event-5154.md) -###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](auditing\event-5155.md) -###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](auditing\event-5156.md) -###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](auditing\event-5157.md) -###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](auditing\event-5158.md) -###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](auditing\event-5159.md) -##### [Audit Filtering Platform Packet Drop](auditing\audit-filtering-platform-packet-drop.md) -###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](auditing\event-5152.md) -###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5153.md) -##### [Audit Handle Manipulation](auditing\audit-handle-manipulation.md) -###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](auditing\event-4690.md) -##### [Audit Kernel Object](auditing\audit-kernel-object.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -##### [Audit Other Object Access Events](auditing\audit-other-object-access-events.md) -###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](auditing\event-4671.md) -###### [Event 4691 S: Indirect access to an object was requested.](auditing\event-4691.md) -###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](auditing\event-5148.md) -###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](auditing\event-5149.md) -###### [Event 4698 S: A scheduled task was created.](auditing\event-4698.md) -###### [Event 4699 S: A scheduled task was deleted.](auditing\event-4699.md) -###### [Event 4700 S: A scheduled task was enabled.](auditing\event-4700.md) -###### [Event 4701 S: A scheduled task was disabled.](auditing\event-4701.md) -###### [Event 4702 S: A scheduled task was updated.](auditing\event-4702.md) -###### [Event 5888 S: An object in the COM+ Catalog was modified.](auditing\event-5888.md) -###### [Event 5889 S: An object was deleted from the COM+ Catalog.](auditing\event-5889.md) -###### [Event 5890 S: An object was added to the COM+ Catalog.](auditing\event-5890.md) -##### [Audit Registry](auditing\audit-registry.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4657 S: A registry value was modified.](auditing\event-4657.md) -###### [Event 5039: A registry key was virtualized.](auditing\event-5039.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -##### [Audit Removable Storage](auditing\audit-removable-storage.md) -##### [Audit SAM](auditing\audit-sam.md) -###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) -##### [Audit Central Access Policy Staging](auditing\audit-central-access-policy-staging.md) -###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](auditing\event-4818.md) -##### [Audit Audit Policy Change](auditing\audit-audit-policy-change.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -###### [Event 4715 S: The audit policy, SACL, on an object was changed.](auditing\event-4715.md) -###### [Event 4719 S: System audit policy was changed.](auditing\event-4719.md) -###### [Event 4817 S: Auditing settings on object were changed.](auditing\event-4817.md) -###### [Event 4902 S: The Per-user audit policy table was created.](auditing\event-4902.md) -###### [Event 4906 S: The CrashOnAuditFail value has changed.](auditing\event-4906.md) -###### [Event 4907 S: Auditing settings on object were changed.](auditing\event-4907.md) -###### [Event 4908 S: Special Groups Logon table modified.](auditing\event-4908.md) -###### [Event 4912 S: Per User Audit Policy was changed.](auditing\event-4912.md) -###### [Event 4904 S: An attempt was made to register a security event source.](auditing\event-4904.md) -###### [Event 4905 S: An attempt was made to unregister a security event source.](auditing\event-4905.md) -##### [Audit Authentication Policy Change](auditing\audit-authentication-policy-change.md) -###### [Event 4706 S: A new trust was created to a domain.](auditing\event-4706.md) -###### [Event 4707 S: A trust to a domain was removed.](auditing\event-4707.md) -###### [Event 4716 S: Trusted domain information was modified.](auditing\event-4716.md) -###### [Event 4713 S: Kerberos policy was changed.](auditing\event-4713.md) -###### [Event 4717 S: System security access was granted to an account.](auditing\event-4717.md) -###### [Event 4718 S: System security access was removed from an account.](auditing\event-4718.md) -###### [Event 4739 S: Domain Policy was changed.](auditing\event-4739.md) -###### [Event 4864 S: A namespace collision was detected.](auditing\event-4864.md) -###### [Event 4865 S: A trusted forest information entry was added.](auditing\event-4865.md) -###### [Event 4866 S: A trusted forest information entry was removed.](auditing\event-4866.md) -###### [Event 4867 S: A trusted forest information entry was modified.](auditing\event-4867.md) -##### [Audit Authorization Policy Change](auditing\audit-authorization-policy-change.md) -###### [Event 4703 S: A user right was adjusted.](auditing\event-4703.md) -###### [Event 4704 S: A user right was assigned.](auditing\event-4704.md) -###### [Event 4705 S: A user right was removed.](auditing\event-4705.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -###### [Event 4911 S: Resource attributes of the object were changed.](auditing\event-4911.md) -###### [Event 4913 S: Central Access Policy on the object was changed.](auditing\event-4913.md) -##### [Audit Filtering Platform Policy Change](auditing\audit-filtering-platform-policy-change.md) -##### [Audit MPSSVC Rule-Level Policy Change](auditing\audit-mpssvc-rule-level-policy-change.md) -###### [Event 4944 S: The following policy was active when the Windows Firewall started.](auditing\event-4944.md) -###### [Event 4945 S: A rule was listed when the Windows Firewall started.](auditing\event-4945.md) -###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](auditing\event-4946.md) -###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](auditing\event-4947.md) -###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](auditing\event-4948.md) -###### [Event 4949 S: Windows Firewall settings were restored to the default values.](auditing\event-4949.md) -###### [Event 4950 S: A Windows Firewall setting has changed.](auditing\event-4950.md) -###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](auditing\event-4951.md) -###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](auditing\event-4952.md) -###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](auditing\event-4953.md) -###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](auditing\event-4954.md) -###### [Event 4956 S: Windows Firewall has changed the active profile.](auditing\event-4956.md) -###### [Event 4957 F: Windows Firewall did not apply the following rule.](auditing\event-4957.md) -###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](auditing\event-4958.md) -##### [Audit Other Policy Change Events](auditing\audit-other-policy-change-events.md) -###### [Event 4714 S: Encrypted data recovery policy was changed.](auditing\event-4714.md) -###### [Event 4819 S: Central Access Policies on the machine have been changed.](auditing\event-4819.md) -###### [Event 4826 S: Boot Configuration Data loaded.](auditing\event-4826.md) -###### [Event 4909: The local policy settings for the TBS were changed.](auditing\event-4909.md) -###### [Event 4910: The group policy settings for the TBS were changed.](auditing\event-4910.md) -###### [Event 5063 S, F: A cryptographic provider operation was attempted.](auditing\event-5063.md) -###### [Event 5064 S, F: A cryptographic context operation was attempted.](auditing\event-5064.md) -###### [Event 5065 S, F: A cryptographic context modification was attempted.](auditing\event-5065.md) -###### [Event 5066 S, F: A cryptographic function operation was attempted.](auditing\event-5066.md) -###### [Event 5067 S, F: A cryptographic function modification was attempted.](auditing\event-5067.md) -###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](auditing\event-5068.md) -###### [Event 5069 S, F: A cryptographic function property operation was attempted.](auditing\event-5069.md) -###### [Event 5070 S, F: A cryptographic function property modification was attempted.](auditing\event-5070.md) -###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](auditing\event-5447.md) -###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](auditing\event-6144.md) -###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](auditing\event-6145.md) -##### [Audit Sensitive Privilege Use](auditing\audit-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit Non Sensitive Privilege Use](auditing\audit-non-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit Other Privilege Use Events](auditing\audit-other-privilege-use-events.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit IPsec Driver](auditing\audit-ipsec-driver.md) -##### [Audit Other System Events](auditing\audit-other-system-events.md) -###### [Event 5024 S: The Windows Firewall Service has started successfully.](auditing\event-5024.md) -###### [Event 5025 S: The Windows Firewall Service has been stopped.](auditing\event-5025.md) -###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](auditing\event-5027.md) -###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](auditing\event-5028.md) -###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](auditing\event-5029.md) -###### [Event 5030 F: The Windows Firewall Service failed to start.](auditing\event-5030.md) -###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](auditing\event-5032.md) -###### [Event 5033 S: The Windows Firewall Driver has started successfully.](auditing\event-5033.md) -###### [Event 5034 S: The Windows Firewall Driver was stopped.](auditing\event-5034.md) -###### [Event 5035 F: The Windows Firewall Driver failed to start.](auditing\event-5035.md) -###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](auditing\event-5037.md) -###### [Event 5058 S, F: Key file operation.](auditing\event-5058.md) -###### [Event 5059 S, F: Key migration operation.](auditing\event-5059.md) -###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](auditing\event-6400.md) -###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](auditing\event-6401.md) -###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](auditing\event-6402.md) -###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](auditing\event-6403.md) -###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](auditing\event-6404.md) -###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](auditing\event-6405.md) -###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](auditing\event-6406.md) -###### [Event 6407: 1%.](auditing\event-6407.md) -###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](auditing\event-6408.md) -###### [Event 6409: BranchCache: A service connection point object could not be parsed.](auditing\event-6409.md) -##### [Audit Security State Change](auditing\audit-security-state-change.md) -###### [Event 4608 S: Windows is starting up.](auditing\event-4608.md) -###### [Event 4616 S: The system time was changed.](auditing\event-4616.md) -###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](auditing\event-4621.md) -##### [Audit Security System Extension](auditing\audit-security-system-extension.md) -###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](auditing\event-4610.md) -###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](auditing\event-4611.md) -###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](auditing\event-4614.md) -###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](auditing\event-4622.md) -###### [Event 4697 S: A service was installed in the system.](auditing\event-4697.md) -##### [Audit System Integrity](auditing\audit-system-integrity.md) -###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](auditing\event-4612.md) -###### [Event 4615 S: Invalid use of LPC port.](auditing\event-4615.md) -###### [Event 4618 S: A monitored security event pattern has occurred.](auditing\event-4618.md) -###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](auditing\event-4816.md) -###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](auditing\event-5038.md) -###### [Event 5056 S: A cryptographic self-test was performed.](auditing\event-5056.md) -###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](auditing\event-5062.md) -###### [Event 5057 F: A cryptographic primitive operation failed.](auditing\event-5057.md) -###### [Event 5060 F: Verification operation failed.](auditing\event-5060.md) -###### [Event 5061 S, F: Cryptographic operation.](auditing\event-5061.md) -###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](auditing\event-6281.md) -###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](auditing\event-6410.md) -##### [Other Events](auditing\other-events.md) -###### [Event 1100 S: The event logging service has shut down.](auditing\event-1100.md) -###### [Event 1102 S: The audit log was cleared.](auditing\event-1102.md) -###### [Event 1104 S: The security log is now full.](auditing\event-1104.md) -###### [Event 1105 S: Event log automatic backup.](auditing\event-1105.md) -###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](auditing\event-1108.md) -##### [Appendix A: Security monitoring recommendations for many audit events](auditing\appendix-a-security-monitoring-recommendations-for-many-audit-events.md) -##### [Registry (Global Object Access Auditing) ](auditing\registry-global-object-access-auditing.md) -##### [File System (Global Object Access Auditing) ](auditing\file-system-global-object-access-auditing.md) +## [Security auditing](auditing/security-auditing-overview.md) +### [Basic security audit policies](auditing/basic-security-audit-policies.md) +#### [Create a basic audit policy for an event category](auditing/create-a-basic-audit-policy-settings-for-an-event-category.md) +#### [Apply a basic audit policy on a file or folder](auditing/apply-a-basic-audit-policy-on-a-file-or-folder.md) +#### [View the security event log](auditing/view-the-security-event-log.md) +#### [Basic security audit policy settings](auditing/basic-security-audit-policy-settings.md) +##### [Audit account logon events](auditing/basic-audit-account-logon-events.md) +##### [Audit account management](auditing/basic-audit-account-management.md) +##### [Audit directory service access](auditing/basic-audit-directory-service-access.md) +##### [Audit logon events](auditing/basic-audit-logon-events.md) +##### [Audit object access](auditing/basic-audit-object-access.md) +##### [Audit policy change](auditing/basic-audit-policy-change.md) +##### [Audit privilege use](auditing/basic-audit-privilege-use.md) +##### [Audit process tracking](auditing/basic-audit-process-tracking.md) +##### [Audit system events](auditing/basic-audit-system-events.md) +### [Advanced security audit policies](auditing/advanced-security-auditing.md) +#### [Planning and deploying advanced security audit policies](auditing/planning-and-deploying-advanced-security-audit-policies.md) +#### [Advanced security auditing FAQ](auditing/advanced-security-auditing-faq.md) +##### [Which editions of Windows support advanced audit policy configuration](auditing/which-editions-of-windows-support-advanced-audit-policy-configuration.md) +#### [Using advanced security auditing options to monitor dynamic access control objects](auditing/using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) +##### [Monitor the central access policies that apply on a file server](auditing/monitor-the-central-access-policies-that-apply-on-a-file-server.md) +##### [Monitor the use of removable storage devices](auditing/monitor-the-use-of-removable-storage-devices.md) +##### [Monitor resource attribute definitions](auditing/monitor-resource-attribute-definitions.md) +##### [Monitor central access policy and rule definitions](auditing/monitor-central-access-policy-and-rule-definitions.md) +##### [Monitor user and device claims during sign-in](auditing/monitor-user-and-device-claims-during-sign-in.md) +##### [Monitor the resource attributes on files and folders](auditing/monitor-the-resource-attributes-on-files-and-folders.md) +##### [Monitor the central access policies associated with files and folders](auditing/monitor-the-central-access-policies-associated-with-files-and-folders.md) +##### [Monitor claim types](auditing/monitor-claim-types.md) +#### [Advanced security audit policy settings](auditing/advanced-security-audit-policy-settings.md) +##### [Audit Credential Validation](auditing/audit-credential-validation.md) +###### [Event 4774 S, F: An account was mapped for logon.](auditing/event-4774.md) +###### [Event 4775 F: An account could not be mapped for logon.](auditing/event-4775.md) +###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](auditing/event-4776.md) +###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](auditing/event-4777.md) +##### [Audit Kerberos Authentication Service](auditing/audit-kerberos-authentication-service.md) +###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](auditing/event-4768.md) +###### [Event 4771 F: Kerberos pre-authentication failed.](auditing/event-4771.md) +###### [Event 4772 F: A Kerberos authentication ticket request failed.](auditing/event-4772.md) +##### [Audit Kerberos Service Ticket Operations](auditing/audit-kerberos-service-ticket-operations.md) +###### [Event 4769 S, F: A Kerberos service ticket was requested.](auditing/event-4769.md) +###### [Event 4770 S: A Kerberos service ticket was renewed.](auditing/event-4770.md) +###### [Event 4773 F: A Kerberos service ticket request failed.](auditing/event-4773.md) +##### [Audit Other Account Logon Events](auditing/audit-other-account-logon-events.md) +##### [Audit Application Group Management](auditing/audit-application-group-management.md) +##### [Audit Computer Account Management](auditing/audit-computer-account-management.md) +###### [Event 4741 S: A computer account was created.](auditing/event-4741.md) +###### [Event 4742 S: A computer account was changed.](auditing/event-4742.md) +###### [Event 4743 S: A computer account was deleted.](auditing/event-4743.md) +##### [Audit Distribution Group Management](auditing/audit-distribution-group-management.md) +###### [Event 4749 S: A security-disabled global group was created.](auditing/event-4749.md) +###### [Event 4750 S: A security-disabled global group was changed.](auditing/event-4750.md) +###### [Event 4751 S: A member was added to a security-disabled global group.](auditing/event-4751.md) +###### [Event 4752 S: A member was removed from a security-disabled global group.](auditing/event-4752.md) +###### [Event 4753 S: A security-disabled global group was deleted.](auditing/event-4753.md) +##### [Audit Other Account Management Events](auditing/audit-other-account-management-events.md) +###### [Event 4782 S: The password hash an account was accessed.](auditing/event-4782.md) +###### [Event 4793 S: The Password Policy Checking API was called.](auditing/event-4793.md) +##### [Audit Security Group Management](auditing/audit-security-group-management.md) +###### [Event 4731 S: A security-enabled local group was created.](auditing/event-4731.md) +###### [Event 4732 S: A member was added to a security-enabled local group.](auditing/event-4732.md) +###### [Event 4733 S: A member was removed from a security-enabled local group.](auditing/event-4733.md) +###### [Event 4734 S: A security-enabled local group was deleted.](auditing/event-4734.md) +###### [Event 4735 S: A security-enabled local group was changed.](auditing/event-4735.md) +###### [Event 4764 S: A group’s type was changed.](auditing/event-4764.md) +###### [Event 4799 S: A security-enabled local group membership was enumerated.](auditing/event-4799.md) +##### [Audit User Account Management](auditing/audit-user-account-management.md) +###### [Event 4720 S: A user account was created.](auditing/event-4720.md) +###### [Event 4722 S: A user account was enabled.](auditing/event-4722.md) +###### [Event 4723 S, F: An attempt was made to change an account's password.](auditing/event-4723.md) +###### [Event 4724 S, F: An attempt was made to reset an account's password.](auditing/event-4724.md) +###### [Event 4725 S: A user account was disabled.](auditing/event-4725.md) +###### [Event 4726 S: A user account was deleted.](auditing/event-4726.md) +###### [Event 4738 S: A user account was changed.](auditing/event-4738.md) +###### [Event 4740 S: A user account was locked out.](auditing/event-4740.md) +###### [Event 4765 S: SID History was added to an account.](auditing/event-4765.md) +###### [Event 4766 F: An attempt to add SID History to an account failed.](auditing/event-4766.md) +###### [Event 4767 S: A user account was unlocked.](auditing/event-4767.md) +###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](auditing/event-4780.md) +###### [Event 4781 S: The name of an account was changed.](auditing/event-4781.md) +###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](auditing/event-4794.md) +###### [Event 4798 S: A user's local group membership was enumerated.](auditing/event-4798.md) +###### [Event 5376 S: Credential Manager credentials were backed up.](auditing/event-5376.md) +###### [Event 5377 S: Credential Manager credentials were restored from a backup.](auditing/event-5377.md) +##### [Audit DPAPI Activity](auditing/audit-dpapi-activity.md) +###### [Event 4692 S, F: Backup of data protection master key was attempted.](auditing/event-4692.md) +###### [Event 4693 S, F: Recovery of data protection master key was attempted.](auditing/event-4693.md) +###### [Event 4694 S, F: Protection of auditable protected data was attempted.](auditing/event-4694.md) +###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](auditing/event-4695.md) +##### [Audit PNP Activity](auditing/audit-pnp-activity.md) +###### [Event 6416 S: A new external device was recognized by the System.](auditing/event-6416.md) +###### [Event 6419 S: A request was made to disable a device.](auditing/event-6419.md) +###### [Event 6420 S: A device was disabled.](auditing/event-6420.md) +###### [Event 6421 S: A request was made to enable a device.](auditing/event-6421.md) +###### [Event 6422 S: A device was enabled.](auditing/event-6422.md) +###### [Event 6423 S: The installation of this device is forbidden by system policy.](auditing/event-6423.md) +###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](auditing/event-6424.md) +##### [Audit Process Creation](auditing/audit-process-creation.md) +###### [Event 4688 S: A new process has been created.](auditing/event-4688.md) +###### [Event 4696 S: A primary token was assigned to process.](auditing/event-4696.md) +##### [Audit Process Termination](auditing/audit-process-termination.md) +###### [Event 4689 S: A process has exited.](auditing/event-4689.md) +##### [Audit RPC Events](auditing/audit-rpc-events.md) +###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](auditing/event-5712.md) +##### [Audit Detailed Directory Service Replication](auditing/audit-detailed-directory-service-replication.md) +###### [Event 4928 S, F: An Active Directory replica source naming context was established.](auditing/event-4928.md) +###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](auditing/event-4929.md) +###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](auditing/event-4930.md) +###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](auditing/event-4931.md) +###### [Event 4934 S: Attributes of an Active Directory object were replicated.](auditing/event-4934.md) +###### [Event 4935 F: Replication failure begins.](auditing/event-4935.md) +###### [Event 4936 S: Replication failure ends.](auditing/event-4936.md) +###### [Event 4937 S: A lingering object was removed from a replica.](auditing/event-4937.md) +##### [Audit Directory Service Access](auditing/audit-directory-service-access.md) +###### [Event 4662 S, F: An operation was performed on an object.](auditing/event-4662.md) +###### [Event 4661 S, F: A handle to an object was requested.](auditing/event-4661.md) +##### [Audit Directory Service Changes](auditing/audit-directory-service-changes.md) +###### [Event 5136 S: A directory service object was modified.](auditing/event-5136.md) +###### [Event 5137 S: A directory service object was created.](auditing/event-5137.md) +###### [Event 5138 S: A directory service object was undeleted.](auditing/event-5138.md) +###### [Event 5139 S: A directory service object was moved.](auditing/event-5139.md) +###### [Event 5141 S: A directory service object was deleted.](auditing/event-5141.md) +##### [Audit Directory Service Replication](auditing/audit-directory-service-replication.md) +###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](auditing/event-4932.md) +###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](auditing/event-4933.md) +##### [Audit Account Lockout](auditing/audit-account-lockout.md) +###### [Event 4625 F: An account failed to log on.](auditing/event-4625.md) +##### [Audit User/Device Claims](auditing/audit-user-device-claims.md) +###### [Event 4626 S: User/Device claims information.](auditing/event-4626.md) +##### [Audit Group Membership](auditing/audit-group-membership.md) +###### [Event 4627 S: Group membership information.](auditing/event-4627.md) +##### [Audit IPsec Extended Mode](auditing/audit-ipsec-extended-mode.md) +##### [Audit IPsec Main Mode](auditing/audit-ipsec-main-mode.md) +##### [Audit IPsec Quick Mode](auditing/audit-ipsec-quick-mode.md) +##### [Audit Logoff](auditing/audit-logoff.md) +###### [Event 4634 S: An account was logged off.](auditing/event-4634.md) +###### [Event 4647 S: User initiated logoff.](auditing/event-4647.md) +##### [Audit Logon](auditing/audit-logon.md) +###### [Event 4624 S: An account was successfully logged on.](auditing/event-4624.md) +###### [Event 4625 F: An account failed to log on.](auditing/event-4625.md) +###### [Event 4648 S: A logon was attempted using explicit credentials.](auditing/event-4648.md) +###### [Event 4675 S: SIDs were filtered.](auditing/event-4675.md) +##### [Audit Network Policy Server](auditing/audit-network-policy-server.md) +##### [Audit Other Logon/Logoff Events](auditing/audit-other-logonlogoff-events.md) +###### [Event 4649 S: A replay attack was detected.](auditing/event-4649.md) +###### [Event 4778 S: A session was reconnected to a Window Station.](auditing/event-4778.md) +###### [Event 4779 S: A session was disconnected from a Window Station.](auditing/event-4779.md) +###### [Event 4800 S: The workstation was locked.](auditing/event-4800.md) +###### [Event 4801 S: The workstation was unlocked.](auditing/event-4801.md) +###### [Event 4802 S: The screen saver was invoked.](auditing/event-4802.md) +###### [Event 4803 S: The screen saver was dismissed.](auditing/event-4803.md) +###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](auditing/event-5378.md) +###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](auditing/event-5632.md) +###### [Event 5633 S, F: A request was made to authenticate to a wired network.](auditing/event-5633.md) +##### [Audit Special Logon](auditing/audit-special-logon.md) +###### [Event 4964 S: Special groups have been assigned to a new logon.](auditing/event-4964.md) +###### [Event 4672 S: Special privileges assigned to new logon.](auditing/event-4672.md) +##### [Audit Application Generated](auditing/audit-application-generated.md) +##### [Audit Certification Services](auditing/audit-certification-services.md) +##### [Audit Detailed File Share](auditing/audit-detailed-file-share.md) +###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](auditing/event-5145.md) +##### [Audit File Share](auditing/audit-file-share.md) +###### [Event 5140 S, F: A network share object was accessed.](auditing/event-5140.md) +###### [Event 5142 S: A network share object was added.](auditing/event-5142.md) +###### [Event 5143 S: A network share object was modified.](auditing/event-5143.md) +###### [Event 5144 S: A network share object was deleted.](auditing/event-5144.md) +###### [Event 5168 F: SPN check for SMB/SMB2 failed.](auditing/event-5168.md) +##### [Audit File System](auditing/audit-file-system.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing/event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing/event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing/event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing/event-4663.md) +###### [Event 4664 S: An attempt was made to create a hard link.](auditing/event-4664.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing/event-4985.md) +###### [Event 5051: A file was virtualized.](auditing/event-5051.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing/event-4670.md) +##### [Audit Filtering Platform Connection](auditing/audit-filtering-platform-connection.md) +###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](auditing/event-5031.md) +###### [Event 5150: The Windows Filtering Platform blocked a packet.](auditing/event-5150.md) +###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing/event-5151.md) +###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](auditing/event-5154.md) +###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](auditing/event-5155.md) +###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](auditing/event-5156.md) +###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](auditing/event-5157.md) +###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](auditing/event-5158.md) +###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](auditing/event-5159.md) +##### [Audit Filtering Platform Packet Drop](auditing/audit-filtering-platform-packet-drop.md) +###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](auditing/event-5152.md) +###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing/event-5153.md) +##### [Audit Handle Manipulation](auditing/audit-handle-manipulation.md) +###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](auditing/event-4690.md) +##### [Audit Kernel Object](auditing/audit-kernel-object.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing/event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing/event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing/event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing/event-4663.md) +##### [Audit Other Object Access Events](auditing/audit-other-object-access-events.md) +###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](auditing/event-4671.md) +###### [Event 4691 S: Indirect access to an object was requested.](auditing/event-4691.md) +###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](auditing/event-5148.md) +###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](auditing/event-5149.md) +###### [Event 4698 S: A scheduled task was created.](auditing/event-4698.md) +###### [Event 4699 S: A scheduled task was deleted.](auditing/event-4699.md) +###### [Event 4700 S: A scheduled task was enabled.](auditing/event-4700.md) +###### [Event 4701 S: A scheduled task was disabled.](auditing/event-4701.md) +###### [Event 4702 S: A scheduled task was updated.](auditing/event-4702.md) +###### [Event 5888 S: An object in the COM+ Catalog was modified.](auditing/event-5888.md) +###### [Event 5889 S: An object was deleted from the COM+ Catalog.](auditing/event-5889.md) +###### [Event 5890 S: An object was added to the COM+ Catalog.](auditing/event-5890.md) +##### [Audit Registry](auditing/audit-registry.md) +###### [Event 4663 S: An attempt was made to access an object.](auditing/event-4663.md) +###### [Event 4656 S, F: A handle to an object was requested.](auditing/event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](auditing/event-4658.md) +###### [Event 4660 S: An object was deleted.](auditing/event-4660.md) +###### [Event 4657 S: A registry value was modified.](auditing/event-4657.md) +###### [Event 5039: A registry key was virtualized.](auditing/event-5039.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing/event-4670.md) +##### [Audit Removable Storage](auditing/audit-removable-storage.md) +##### [Audit SAM](auditing/audit-sam.md) +###### [Event 4661 S, F: A handle to an object was requested.](auditing/event-4661.md) +##### [Audit Central Access Policy Staging](auditing/audit-central-access-policy-staging.md) +###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](auditing/event-4818.md) +##### [Audit Audit Policy Change](auditing/audit-audit-policy-change.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing/event-4670.md) +###### [Event 4715 S: The audit policy, SACL, on an object was changed.](auditing/event-4715.md) +###### [Event 4719 S: System audit policy was changed.](auditing/event-4719.md) +###### [Event 4817 S: Auditing settings on object were changed.](auditing/event-4817.md) +###### [Event 4902 S: The Per-user audit policy table was created.](auditing/event-4902.md) +###### [Event 4906 S: The CrashOnAuditFail value has changed.](auditing/event-4906.md) +###### [Event 4907 S: Auditing settings on object were changed.](auditing/event-4907.md) +###### [Event 4908 S: Special Groups Logon table modified.](auditing/event-4908.md) +###### [Event 4912 S: Per User Audit Policy was changed.](auditing/event-4912.md) +###### [Event 4904 S: An attempt was made to register a security event source.](auditing/event-4904.md) +###### [Event 4905 S: An attempt was made to unregister a security event source.](auditing/event-4905.md) +##### [Audit Authentication Policy Change](auditing/audit-authentication-policy-change.md) +###### [Event 4706 S: A new trust was created to a domain.](auditing/event-4706.md) +###### [Event 4707 S: A trust to a domain was removed.](auditing/event-4707.md) +###### [Event 4716 S: Trusted domain information was modified.](auditing/event-4716.md) +###### [Event 4713 S: Kerberos policy was changed.](auditing/event-4713.md) +###### [Event 4717 S: System security access was granted to an account.](auditing/event-4717.md) +###### [Event 4718 S: System security access was removed from an account.](auditing/event-4718.md) +###### [Event 4739 S: Domain Policy was changed.](auditing/event-4739.md) +###### [Event 4864 S: A namespace collision was detected.](auditing/event-4864.md) +###### [Event 4865 S: A trusted forest information entry was added.](auditing/event-4865.md) +###### [Event 4866 S: A trusted forest information entry was removed.](auditing/event-4866.md) +###### [Event 4867 S: A trusted forest information entry was modified.](auditing/event-4867.md) +##### [Audit Authorization Policy Change](auditing/audit-authorization-policy-change.md) +###### [Event 4703 S: A user right was adjusted.](auditing/event-4703.md) +###### [Event 4704 S: A user right was assigned.](auditing/event-4704.md) +###### [Event 4705 S: A user right was removed.](auditing/event-4705.md) +###### [Event 4670 S: Permissions on an object were changed.](auditing/event-4670.md) +###### [Event 4911 S: Resource attributes of the object were changed.](auditing/event-4911.md) +###### [Event 4913 S: Central Access Policy on the object was changed.](auditing/event-4913.md) +##### [Audit Filtering Platform Policy Change](auditing/audit-filtering-platform-policy-change.md) +##### [Audit MPSSVC Rule-Level Policy Change](auditing/audit-mpssvc-rule-level-policy-change.md) +###### [Event 4944 S: The following policy was active when the Windows Firewall started.](auditing/event-4944.md) +###### [Event 4945 S: A rule was listed when the Windows Firewall started.](auditing/event-4945.md) +###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](auditing/event-4946.md) +###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](auditing/event-4947.md) +###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](auditing/event-4948.md) +###### [Event 4949 S: Windows Firewall settings were restored to the default values.](auditing/event-4949.md) +###### [Event 4950 S: A Windows Firewall setting has changed.](auditing/event-4950.md) +###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](auditing/event-4951.md) +###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](auditing/event-4952.md) +###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](auditing/event-4953.md) +###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](auditing/event-4954.md) +###### [Event 4956 S: Windows Firewall has changed the active profile.](auditing/event-4956.md) +###### [Event 4957 F: Windows Firewall did not apply the following rule.](auditing/event-4957.md) +###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](auditing/event-4958.md) +##### [Audit Other Policy Change Events](auditing/audit-other-policy-change-events.md) +###### [Event 4714 S: Encrypted data recovery policy was changed.](auditing/event-4714.md) +###### [Event 4819 S: Central Access Policies on the machine have been changed.](auditing/event-4819.md) +###### [Event 4826 S: Boot Configuration Data loaded.](auditing/event-4826.md) +###### [Event 4909: The local policy settings for the TBS were changed.](auditing/event-4909.md) +###### [Event 4910: The group policy settings for the TBS were changed.](auditing/event-4910.md) +###### [Event 5063 S, F: A cryptographic provider operation was attempted.](auditing/event-5063.md) +###### [Event 5064 S, F: A cryptographic context operation was attempted.](auditing/event-5064.md) +###### [Event 5065 S, F: A cryptographic context modification was attempted.](auditing/event-5065.md) +###### [Event 5066 S, F: A cryptographic function operation was attempted.](auditing/event-5066.md) +###### [Event 5067 S, F: A cryptographic function modification was attempted.](auditing/event-5067.md) +###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](auditing/event-5068.md) +###### [Event 5069 S, F: A cryptographic function property operation was attempted.](auditing/event-5069.md) +###### [Event 5070 S, F: A cryptographic function property modification was attempted.](auditing/event-5070.md) +###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](auditing/event-5447.md) +###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](auditing/event-6144.md) +###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](auditing/event-6145.md) +##### [Audit Sensitive Privilege Use](auditing/audit-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](auditing/event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing/event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing/event-4985.md) +##### [Audit Non Sensitive Privilege Use](auditing/audit-non-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](auditing/event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing/event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing/event-4985.md) +##### [Audit Other Privilege Use Events](auditing/audit-other-privilege-use-events.md) +###### [Event 4985 S: The state of a transaction has changed.](auditing/event-4985.md) +##### [Audit IPsec Driver](auditing/audit-ipsec-driver.md) +##### [Audit Other System Events](auditing/audit-other-system-events.md) +###### [Event 5024 S: The Windows Firewall Service has started successfully.](auditing/event-5024.md) +###### [Event 5025 S: The Windows Firewall Service has been stopped.](auditing/event-5025.md) +###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](auditing/event-5027.md) +###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](auditing/event-5028.md) +###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](auditing/event-5029.md) +###### [Event 5030 F: The Windows Firewall Service failed to start.](auditing/event-5030.md) +###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](auditing/event-5032.md) +###### [Event 5033 S: The Windows Firewall Driver has started successfully.](auditing/event-5033.md) +###### [Event 5034 S: The Windows Firewall Driver was stopped.](auditing/event-5034.md) +###### [Event 5035 F: The Windows Firewall Driver failed to start.](auditing/event-5035.md) +###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](auditing/event-5037.md) +###### [Event 5058 S, F: Key file operation.](auditing/event-5058.md) +###### [Event 5059 S, F: Key migration operation.](auditing/event-5059.md) +###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](auditing/event-6400.md) +###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](auditing/event-6401.md) +###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](auditing/event-6402.md) +###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](auditing/event-6403.md) +###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](auditing/event-6404.md) +###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](auditing/event-6405.md) +###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](auditing/event-6406.md) +###### [Event 6407: 1%.](auditing/event-6407.md) +###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](auditing/event-6408.md) +###### [Event 6409: BranchCache: A service connection point object could not be parsed.](auditing/event-6409.md) +##### [Audit Security State Change](auditing/audit-security-state-change.md) +###### [Event 4608 S: Windows is starting up.](auditing/event-4608.md) +###### [Event 4616 S: The system time was changed.](auditing/event-4616.md) +###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](auditing/event-4621.md) +##### [Audit Security System Extension](auditing/audit-security-system-extension.md) +###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](auditing/event-4610.md) +###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](auditing/event-4611.md) +###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](auditing/event-4614.md) +###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](auditing/event-4622.md) +###### [Event 4697 S: A service was installed in the system.](auditing/event-4697.md) +##### [Audit System Integrity](auditing/audit-system-integrity.md) +###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](auditing/event-4612.md) +###### [Event 4615 S: Invalid use of LPC port.](auditing/event-4615.md) +###### [Event 4618 S: A monitored security event pattern has occurred.](auditing/event-4618.md) +###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](auditing/event-4816.md) +###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](auditing/event-5038.md) +###### [Event 5056 S: A cryptographic self-test was performed.](auditing/event-5056.md) +###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](auditing/event-5062.md) +###### [Event 5057 F: A cryptographic primitive operation failed.](auditing/event-5057.md) +###### [Event 5060 F: Verification operation failed.](auditing/event-5060.md) +###### [Event 5061 S, F: Cryptographic operation.](auditing/event-5061.md) +###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](auditing/event-6281.md) +###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](auditing/event-6410.md) +##### [Other Events](auditing/other-events.md) +###### [Event 1100 S: The event logging service has shut down.](auditing/event-1100.md) +###### [Event 1102 S: The audit log was cleared.](auditing/event-1102.md) +###### [Event 1104 S: The security log is now full.](auditing/event-1104.md) +###### [Event 1105 S: Event log automatic backup.](auditing/event-1105.md) +###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](auditing/event-1108.md) +##### [Appendix A: Security monitoring recommendations for many audit events](auditing/appendix-a-security-monitoring-recommendations-for-many-audit-events.md) +##### [Registry (Global Object Access Auditing) ](auditing/registry-global-object-access-auditing.md) +##### [File System (Global Object Access Auditing) ](auditing/file-system-global-object-access-auditing.md) ## [Security policy settings](security-policy-settings/security-policy-settings.md) ### [Administer security policy settings](security-policy-settings/administer-security-policy-settings.md) From 24d152fb032ed675803b4a92b4dbd1f03df88bd3 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 21 Feb 2018 16:52:23 -0800 Subject: [PATCH 011/212] fixing links --- windows/security/threat-protection/TOC.md | 2 +- ...ender-application-control-and-applocker.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-and-applocker.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index bf67de1ba0..26c73ffcaa 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -284,7 +284,7 @@ ## [Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md) -### [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) +### [Windows Defender Application Control design guide](windows-defender-application-control/windows-defender-application-control-design-guide.md) ### [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) #### [Deploy WDAC policies](windows-defender-application-control/deploy-windows-defender-application-control-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-and-applocker.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-and-applocker.md new file mode 100644 index 0000000000..241de1c37b --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-and-applocker.md @@ -0,0 +1,19 @@ +--- +title: Windows Defender Application Control and AppLocker (Windows 10) +description: Windows Defender Application Control and AppLocker. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 01/24/2018 +--- + +# Windows Defender Application Control and AppLocker + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + From 129108d1ac9549681fb60c2b38ac15c565b54897 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 09:49:56 -0800 Subject: [PATCH 012/212] added links to applocker topics --- windows/security/threat-protection/TOC.md | 2 +- ...create-your-applocker-planning-document.md | 379 ++++++++++++++++++ ...pplication-control-management-processes.md | 236 +++++++++++ 3 files changed, 616 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 26c73ffcaa..d696520fe5 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -286,7 +286,7 @@ ## [Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md) ### [Windows Defender Application Control design guide](windows-defender-application-control/windows-defender-application-control-design-guide.md) -### [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) +### [Windows Defender Application Control deployment guide](windows-defender-application-control/windows-defender-application-control-deployment-guide.md) #### [Deploy WDAC policies](windows-defender-application-control/deploy-windows-defender-application-control-policies.md) ## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md new file mode 100644 index 0000000000..4f0f43ced7 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md @@ -0,0 +1,379 @@ +--- +title: Create your AppLocker planning document (Windows 10) +description: This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. +ms.assetid: 41e49644-baf4-4514-b089-88adae2d624e +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: brianlic-msft +ms.date: 09/21/2017 +--- + +# Create your AppLocker planning document + +**Applies to** + - Windows 10 + - Windows Server + +This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. + +## The AppLocker deployment design + +The design process and the planning document help you investigate application usage in your organization and record your findings so you can effectively deploy and maintain application control policies by using AppLocker. + +You should have completed these steps in the design and planning process: + +1. [Determine your application control objectives](determine-your-application-control-objectives.md) +2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) +3. [Select types of rules to create](select-types-of-rules-to-create.md) +4. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) +5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) + +### AppLocker planning document contents + +Your planning document should contain: + +- A list of business groups that will participate in the application control policy project, their requirements, a description of their business processes, and contact information. +- Application control policy project target dates, both for planning and deployment. +- A complete list of apps used by each business group (or organizational unit), including version information and installation paths. +- What condition to apply to rules governing each application (or whether to use the default set provided by AppLocker). +- A strategy for using Group Policy to deploy the AppLocker policies. +- A strategy in processing the application usage events generated by AppLocker. +- A strategy to maintain and manage AppLocker polices after deployment. + +### Sample template for an AppLocker planning document + +You can use the following form to construct your own AppLocker planning document. + +**Business group**: + +**Operating system environment**: (Windows and non-Windows) + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Contacts

Business contact:

Technical contact:

Other departments

In this business group:

Affected by this project:

Security policies

Internal:

Regulatory/compliance:

Business goals

Primary:

Secondary:

Project target dates

Design signoff date:

Policy deployment date:

+  +**Rules** + + +++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupOrganizational unitImplement AppLocker?AppsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

 

+  +**Event processing** + + +++++++ + + + + + + + + + + + + + + + + + + +
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

 

+  +**Policy maintenance** + + +++++++ + + + + + + + + + + + + + + + + + + +
Business groupRule update policyApp decommission policyApp version policyApp deployment policy

 

Planned:

+

Emergency:

+  +### Example of an AppLocker planning document + +**Rules** + + +++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupOrganizational unitImplement AppLocker?ApplicationsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

Bank Tellers

Teller-East and Teller-West

Yes

Teller Software

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

Tellers-AppLockerTellerRules

Web help

Windows files

+

C:\Windows

Create a path exception to the default rule to exclude \Windows\Temp

Allow

Help desk

Human Resources

HR-All

Yes

Check Payout

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

Web help

Time Sheet Organizer

C:\Program Files\Woodgrove\HR\Timesheet.exe

File is not signed; create a file hash condition

Allow

Web help

Internet Explorer 7

C:\Program Files\Internet Explorer\

File is signed; create a publisher condition

Deny

Web help

+

Windows files

C:\Windows

Use the default rule for the Windows path

Allow

Help desk

+  +**Event processing** + + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

Bank Tellers

Forwarded to: AppLocker Event Repository on srvBT093

Standard

None

Standard

Human Resources

DO NOT FORWARD. srvHR004

60 months

Yes, summary reports monthly to managers

Standard

+  +**Policy maintenance** + + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupRule update policyApp decommission policyApp version policyApp deployment policy

Bank Tellers

Planned: Monthly through business office triage

+

Emergency: Request through help desk

Through business office triage

+

30-day notice required

General policy: Keep past versions for 12 months

+

List policies for each application

Coordinated through business office

+

30-day notice required

Human Resources

Planned: Monthly through HR triage

+

Emergency: Request through help desk

Through HR triage

+

30-day notice required

General policy: Keep past versions for 60 months

+

List policies for each application

Coordinated through HR

+

30-day notice required

+  +### Additional resources + +- The AppLocker Policies Design Guide is the predecessor to the AppLocker Policies Deployment Guide. When planning is complete, see the [AppLocker policies deployment guide](applocker-policies-deployment-guide.md). +- For more general info, see [AppLocker](applocker-overview.md). +  +  diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md new file mode 100644 index 0000000000..a0b879a4c5 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md @@ -0,0 +1,236 @@ +--- +title: Document your application control management processes (Windows 10) +description: This planning topic describes the AppLocker policy maintenance information to record for your design document. +ms.assetid: 6397f789-0e36-4933-9f86-f3f6489cf1fb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: brianlic-msft +ms.date: 09/21/2017 +--- + +# Document your application control management processes + +**Applies to** + - Windows 10 + - Windows Server + +This planning topic describes the AppLocker policy maintenance information to record for your design document. + +## Record your findings + +To complete this AppLocker planning document, you should first complete the following steps: + +1. [Determine your application control objectives](determine-your-application-control-objectives.md) +2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) +3. [Select the types of rules to create](select-types-of-rules-to-create.md) +4. [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) +5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) + +The three key areas to determine for AppLocker policy management are: + +1. Support policy + + Document the process that you will use for handling calls from users who have attempted to run a blocked app, and ensure that support personnel know recommended troubleshooting steps and escalation points for your policy. + +2. Event processing + + Document whether events will be collected in a central location, how that store will be archived, and whether the events will be processed for analysis. + +3. Policy maintenance + + Detail how rules will be added to the policy, in which Group Policy Object (GPO) the rules should be defined, and how to modify rules when apps are retired, updated, or added. + +The following table contains the added sample data that was collected when determining how to maintain and manage AppLocker policies. + + +++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupOrganizational unitImplement AppLocker?AppsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

Bank Tellers

Teller-East and Teller-West

Yes

Teller Software

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

Tellers-AppLockerTellerRules

Web help

Windows files

+

C:\Windows

Create a path exception to the default rule to exclude \Windows\Temp

Allow

Help desk

Human Resources

HR-All

Yes

Check Payout

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

Web help

Time Sheet Organizer

C:\Program Files\Woodgrove\HR\Timesheet.exe

File is not signed; create a file hash condition

Allow

Web help

Internet Explorer 7

C:\Program Files\Internet Explorer\

File is signed; create a publisher condition

Deny

Web help

+

Windows files

C:\Windows

Use the default rule for the Windows path

Allow

Help desk

+  +The following two tables illustrate examples of documenting considerations to maintain and manage AppLocker policies. + +**Event processing policy** + +One discovery method for app usage is to set the AppLocker enforcement mode to **Audit only**. This will write events to the AppLocker logs, which can be managed and analyzed like other Windows logs. After apps have been identified, you can begin to develop policies regarding the processing and access to AppLocker events. + +The following table is an example of what to consider and record. + + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

Bank Tellers

Forwarded to: AppLocker Event Repository on srvBT093

Standard

None

Standard

Human Resources

DO NOT FORWARD. srvHR004

60 months

Yes, summary reports monthly to managers

Standard

+  +**Policy maintenance policy** +When applications are identified and policies are created for application control, then you can begin documenting how you intend to update those policies. +The following table is an example of what to consider and record. + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupRule update policyApplication decommission policyApplication version policyApplication deployment policy

Bank Tellers

Planned: Monthly through business office triage

+

Emergency: Request through help desk

Through business office triage

+

30-day notice required

General policy: Keep past versions for 12 months

+

List policies for each application

Coordinated through business office

+

30-day notice required

Human Resources

Planned: Monthly through HR triage

+

Emergency: Request through help desk

Through HR triage

+

30-day notice required

General policy: Keep past versions for 60 months

+

List policies for each application

Coordinated through HR

+

30-day notice required

+  +## Next steps + +After you have determined your application control management strategy for each of the business group's applications, the following task remains: +- [Create your AppLocker planning document](create-your-applocker-planning-document.md) From 072caa0556da3ea4b0b625b3ebdcefac66386d91 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 09:58:23 -0800 Subject: [PATCH 013/212] added links to applocker topics --- .../{select-rules.md => select-types-of-rules-to-create.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename windows/security/threat-protection/windows-defender-application-control/{select-rules.md => select-types-of-rules-to-create.md} (100%) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-rules.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md similarity index 100% rename from windows/security/threat-protection/windows-defender-application-control/select-rules.md rename to windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md From 5aa06a7869d931cb2a1b3c9925d0e87788903104 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 10:17:32 -0800 Subject: [PATCH 014/212] added links to applocker topics --- ...er-application-control-deployment-guide.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md new file mode 100644 index 0000000000..1d4a6a9c21 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -0,0 +1,78 @@ +--- +title: Planning and getting started on the Windows Defender Application Control deployment process (Windows 10) +description: To help you plan and begin the initial test stages of a deployment of Microsoft Windows Defender Application Comntrol, this article outlines how to gather information, create a plan, and begin to create and test initial code integrity policies. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: brianlic-msft +ms.date: 10/20/2017 +--- + +# Planning and getting started on the Windows Defender Application Control deployment process + +**Applies to** +- Windows 10 +- Windows Server 2016 + +This topic provides a roadmap for planning and getting started on the Windows Defender Application Control (WDAC) deployment process, with links to topics that provide additional detail. Planning for WDAC deployment involves looking at both the end-user and the IT pro impact of your choices. Use the following steps to guide you. + +## Planning + +1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). Then you can assess your end-user systems to see how many support the VBS features you are interested in, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). + +2. **Group devices by degree of control needed**. Group devices according to the table in [Windows Defender Device Guard deployment in different scenarios: types of devices](requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. + +3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: + - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. + + - What software does each department or role need? Should they be able to install and run other departments’ software?
If multiple departments are allowed to run the same list of software, you might be able to merge several WDAC policies to simplify management. + + - Are there departments or roles where unique, restricted software is used?
If one department needs to run an application that no other department is allowed, it might require a separate WDAC policy. Similarly, if only one department must run an old version of an application (while other departments allow only the newer version), it might require a separate WDAC policy. + + - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). + + - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? + In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). + + Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. + + For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. + + Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md). + + + + + + +4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For a basic description of catalog files, see the table in [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). For more background information about catalog files, see [Reviewing your applications: application signing and catalog files](requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files). + +## Getting started on the deployment process + +1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). + +2. **Create WDAC policies from “golden” computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. For more information, see: + - [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md) + - [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md)
+ +3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#audit-windows-defender-application-control-policies). + +4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. + +6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see: + - [Create a Windows Defender Application Control policy that captures audit information from the event log](steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-that-captures-audit-information-from-the-event-log) + - [Merge Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#merge-windows-defender-application-control-policies)
+ +7. **Deploy WDAC policies and catalog files**. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. For more information, see: + - [Enforce Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#enforce-windows-defender-application-control-policies) + - [Deploy and manage Windows Defender Application Control with Group Policy](steps-to-deploy-windows-defender-application-control.md#deploy-and-manage-windows-defender-application-control-with-group-policy)
+ +8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by Windows Defender Application Control, as described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). + + > [!WARNING] + > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). + + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md). + +
From ee32a48194dac9ccfc6dd8c15416e901a14509e4 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 10:28:51 -0800 Subject: [PATCH 015/212] added links to applocker topics --- ...r-application-control-planning-document.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md index 4f0f43ced7..fefef36e9f 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md @@ -1,5 +1,5 @@ --- -title: Create your AppLocker planning document (Windows 10) +title: Create your Windows Defender Aaplication Control (WDAC) planning document (Windows 10) description: This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. ms.assetid: 41e49644-baf4-4514-b089-88adae2d624e ms.prod: w10 @@ -10,17 +10,17 @@ author: brianlic-msft ms.date: 09/21/2017 --- -# Create your AppLocker planning document +# Create your Windows Defender Aaplication Control (WDAC) planning document **Applies to** - Windows 10 - Windows Server -This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. +This planning topic for the IT professional summarizes the information you need to research and include in your WDAC planning document. -## The AppLocker deployment design +## The WDAC deployment design -The design process and the planning document help you investigate application usage in your organization and record your findings so you can effectively deploy and maintain application control policies by using AppLocker. +The design process and the planning document help you investigate application usage in your organization and record your findings so you can effectively deploy and maintain application control policies by using WDAC. You should have completed these steps in the design and planning process: @@ -28,23 +28,23 @@ You should have completed these steps in the design and planning process: 2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) 3. [Select types of rules to create](select-types-of-rules-to-create.md) 4. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) +5. [Plan for WDAC policy management](document-your-windows-defender-application-control-management-processes.md) -### AppLocker planning document contents +### WDAC planning document contents Your planning document should contain: - A list of business groups that will participate in the application control policy project, their requirements, a description of their business processes, and contact information. - Application control policy project target dates, both for planning and deployment. - A complete list of apps used by each business group (or organizational unit), including version information and installation paths. -- What condition to apply to rules governing each application (or whether to use the default set provided by AppLocker). -- A strategy for using Group Policy to deploy the AppLocker policies. -- A strategy in processing the application usage events generated by AppLocker. -- A strategy to maintain and manage AppLocker polices after deployment. +- What condition to apply to rules governing each application (or whether to use the default set provided by WDAC). +- A strategy for using Group Policy to deploy the WDAC policies. +- A strategy in processing the application usage events generated by WDAC. +- A strategy to maintain and manage WDAC polices after deployment. -### Sample template for an AppLocker planning document +### Sample template for an WDAC planning document -You can use the following form to construct your own AppLocker planning document. +You can use the following form to construct your own WDAC planning document. **Business group**: @@ -103,7 +103,7 @@ You can use the following form to construct your own AppLocker planning document Business group Organizational unit -Implement AppLocker? +Implement WDAC? Apps Installation path Use default rule or define new rule condition @@ -140,7 +140,7 @@ You can use the following form to construct your own AppLocker planning document Business group -AppLocker event collection location +WDAC event collection location Archival policy Analyzed? Security policy @@ -188,7 +188,7 @@ You can use the following form to construct your own AppLocker planning document   -### Example of an AppLocker planning document +### Example of a WDAC planning document **Rules** @@ -208,7 +208,7 @@ You can use the following form to construct your own AppLocker planning document Business group Organizational unit -Implement AppLocker? +Implement WDAC? Applications Installation path Use default rule or define new rule condition @@ -226,7 +226,7 @@ You can use the following form to construct your own AppLocker planning document

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

-

Tellers-AppLockerTellerRules

+

Tellers-WDACTellerRules

Web help

@@ -249,7 +249,7 @@ You can use the following form to construct your own AppLocker planning document

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

-

HR-AppLockerHRRules

+

HR-WDACHRRules

Web help

@@ -302,7 +302,7 @@ You can use the following form to construct your own AppLocker planning document Business group -AppLocker event collection location +WDAC event collection location Archival policy Analyzed? Security policy @@ -311,7 +311,7 @@ You can use the following form to construct your own AppLocker planning document

Bank Tellers

-

Forwarded to: AppLocker Event Repository on srvBT093

+

Forwarded to: WDAC Event Repository on srvBT093

Standard

None

Standard

@@ -373,7 +373,7 @@ You can use the following form to construct your own AppLocker planning document   ### Additional resources -- The AppLocker Policies Design Guide is the predecessor to the AppLocker Policies Deployment Guide. When planning is complete, see the [AppLocker policies deployment guide](applocker-policies-deployment-guide.md). -- For more general info, see [AppLocker](applocker-overview.md). +- [Deploy Windows Defender Application Control Policies](deploy-windows-defender-application-control-policies.md) +- [Windows Defender Application Control](windows-defender-application-control.md)     From 4c392f946c04a16624ff758f103f1ddff5503747 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 10:36:02 -0800 Subject: [PATCH 016/212] added links to applocker topics --- .../windows-defender-application-control/TOC.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index c34d77c3cc..216f60c9e8 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -1,11 +1,11 @@ # [Windows Defender Application Control](windows-defender-application-control.md) ## [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) -### [Understand Windows Defender Application Control policy design decisions](understand-windows=defender-application-control-policy-design-decisions.md) -### [Select the types of rules to create](select-rules.md) -### [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md) -#### [Document your application control management processes](document-your-application-control-management-processes.md) -### [Create your AppLocker planning document](create-your-indows-defender-application-control-planning-document.md) +### [Understand WDAC policy design decisions](understand-windows=defender-application-control-policy-design-decisions.md) +### [Select the types of rules to create](select-types-of-rules-to-create.md) +### [Plan for WDAC policy management](plan-windows-defender-application-control-management.md) +#### [Document your application control management processes](document-your-windows-defender-application-control-management-processes.md) +### [Create your WDAC planning document](create-your-windows-defender-application-control-planning-document.md) From 5b3c6af883a0c6d4f410fcbe8a139f484ec7c02b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 12:20:05 -0800 Subject: [PATCH 017/212] fixed links to auditing topics --- ...er-application-control-deployment-guide.md | 4 +- .../windows-defender-exploit-guard/TOC.md | 704 +++++++++--------- 2 files changed, 354 insertions(+), 354 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 1d4a6a9c21..34ed60715b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,9 +19,9 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). Then you can assess your end-user systems to see how many support the VBS features you are interested in, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) and corresponding [hardware, firmware, and software requirements](windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). -2. **Group devices by degree of control needed**. Group devices according to the table in [Windows Defender Device Guard deployment in different scenarios: types of devices](requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. +2. **Group devices by degree of control needed**. [Group devices](windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. 3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index 81f42709ab..deebbb6e0a 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -62,358 +62,358 @@ ## [Block untrusted fonts in an enterprise](block-untrusted-fonts-in-enterprise.md) -## [Security auditing](auditing\security-auditing-overview.md) -### [Basic security audit policies](auditing\basic-security-audit-policies.md) -#### [Create a basic audit policy for an event category](auditing\create-a-basic-audit-policy-settings-for-an-event-category.md) -#### [Apply a basic audit policy on a file or folder](auditing\apply-a-basic-audit-policy-on-a-file-or-folder.md) -#### [View the security event log](auditing\view-the-security-event-log.md) -#### [Basic security audit policy settings](auditing\basic-security-audit-policy-settings.md) -##### [Audit account logon events](auditing\basic-audit-account-logon-events.md) -##### [Audit account management](auditing\basic-audit-account-management.md) -##### [Audit directory service access](auditing\basic-audit-directory-service-access.md) -##### [Audit logon events](auditing\basic-audit-logon-events.md) -##### [Audit object access](auditing\basic-audit-object-access.md) -##### [Audit policy change](auditing\basic-audit-policy-change.md) -##### [Audit privilege use](auditing\basic-audit-privilege-use.md) -##### [Audit process tracking](auditing\basic-audit-process-tracking.md) -##### [Audit system events](auditing\basic-audit-system-events.md) -### [Advanced security audit policies](auditing\advanced-security-auditing.md) -#### [Planning and deploying advanced security audit policies](auditing\planning-and-deploying-advanced-security-audit-policies.md) -#### [Advanced security auditing FAQ](auditing\advanced-security-auditing-faq.md) -##### [Which editions of Windows support advanced audit policy configuration](auditing\which-editions-of-windows-support-advanced-audit-policy-configuration.md) -#### [Using advanced security auditing options to monitor dynamic access control objects](auditing\using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) -##### [Monitor the central access policies that apply on a file server](auditing\monitor-the-central-access-policies-that-apply-on-a-file-server.md) -##### [Monitor the use of removable storage devices](auditing\monitor-the-use-of-removable-storage-devices.md) -##### [Monitor resource attribute definitions](auditing\monitor-resource-attribute-definitions.md) -##### [Monitor central access policy and rule definitions](auditing\monitor-central-access-policy-and-rule-definitions.md) -##### [Monitor user and device claims during sign-in](auditing\monitor-user-and-device-claims-during-sign-in.md) -##### [Monitor the resource attributes on files and folders](auditing\monitor-the-resource-attributes-on-files-and-folders.md) -##### [Monitor the central access policies associated with files and folders](auditing\monitor-the-central-access-policies-associated-with-files-and-folders.md) -##### [Monitor claim types](auditing\monitor-claim-types.md) -#### [Advanced security audit policy settings](auditing\advanced-security-audit-policy-settings.md) -##### [Audit Credential Validation](auditing\audit-credential-validation.md) -###### [Event 4774 S, F: An account was mapped for logon.](auditing\event-4774.md) -###### [Event 4775 F: An account could not be mapped for logon.](auditing\event-4775.md) -###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](auditing\event-4776.md) -###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](auditing\event-4777.md) -##### [Audit Kerberos Authentication Service](auditing\audit-kerberos-authentication-service.md) -###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](auditing\event-4768.md) -###### [Event 4771 F: Kerberos pre-authentication failed.](auditing\event-4771.md) -###### [Event 4772 F: A Kerberos authentication ticket request failed.](auditing\event-4772.md) -##### [Audit Kerberos Service Ticket Operations](auditing\audit-kerberos-service-ticket-operations.md) -###### [Event 4769 S, F: A Kerberos service ticket was requested.](auditing\event-4769.md) -###### [Event 4770 S: A Kerberos service ticket was renewed.](auditing\event-4770.md) -###### [Event 4773 F: A Kerberos service ticket request failed.](auditing\event-4773.md) -##### [Audit Other Account Logon Events](auditing\audit-other-account-logon-events.md) -##### [Audit Application Group Management](auditing\audit-application-group-management.md) -##### [Audit Computer Account Management](auditing\audit-computer-account-management.md) -###### [Event 4741 S: A computer account was created.](auditing\event-4741.md) -###### [Event 4742 S: A computer account was changed.](auditing\event-4742.md) -###### [Event 4743 S: A computer account was deleted.](auditing\event-4743.md) -##### [Audit Distribution Group Management](auditing\audit-distribution-group-management.md) -###### [Event 4749 S: A security-disabled global group was created.](auditing\event-4749.md) -###### [Event 4750 S: A security-disabled global group was changed.](auditing\event-4750.md) -###### [Event 4751 S: A member was added to a security-disabled global group.](auditing\event-4751.md) -###### [Event 4752 S: A member was removed from a security-disabled global group.](auditing\event-4752.md) -###### [Event 4753 S: A security-disabled global group was deleted.](auditing\event-4753.md) -##### [Audit Other Account Management Events](auditing\audit-other-account-management-events.md) -###### [Event 4782 S: The password hash an account was accessed.](auditing\event-4782.md) -###### [Event 4793 S: The Password Policy Checking API was called.](auditing\event-4793.md) -##### [Audit Security Group Management](auditing\audit-security-group-management.md) -###### [Event 4731 S: A security-enabled local group was created.](auditing\event-4731.md) -###### [Event 4732 S: A member was added to a security-enabled local group.](auditing\event-4732.md) -###### [Event 4733 S: A member was removed from a security-enabled local group.](auditing\event-4733.md) -###### [Event 4734 S: A security-enabled local group was deleted.](auditing\event-4734.md) -###### [Event 4735 S: A security-enabled local group was changed.](auditing\event-4735.md) -###### [Event 4764 S: A group’s type was changed.](auditing\event-4764.md) -###### [Event 4799 S: A security-enabled local group membership was enumerated.](auditing\event-4799.md) -##### [Audit User Account Management](auditing\audit-user-account-management.md) -###### [Event 4720 S: A user account was created.](auditing\event-4720.md) -###### [Event 4722 S: A user account was enabled.](auditing\event-4722.md) -###### [Event 4723 S, F: An attempt was made to change an account's password.](auditing\event-4723.md) -###### [Event 4724 S, F: An attempt was made to reset an account's password.](auditing\event-4724.md) -###### [Event 4725 S: A user account was disabled.](auditing\event-4725.md) -###### [Event 4726 S: A user account was deleted.](auditing\event-4726.md) -###### [Event 4738 S: A user account was changed.](auditing\event-4738.md) -###### [Event 4740 S: A user account was locked out.](auditing\event-4740.md) -###### [Event 4765 S: SID History was added to an account.](auditing\event-4765.md) -###### [Event 4766 F: An attempt to add SID History to an account failed.](auditing\event-4766.md) -###### [Event 4767 S: A user account was unlocked.](auditing\event-4767.md) -###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](auditing\event-4780.md) -###### [Event 4781 S: The name of an account was changed.](auditing\event-4781.md) -###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](auditing\event-4794.md) -###### [Event 4798 S: A user's local group membership was enumerated.](auditing\event-4798.md) -###### [Event 5376 S: Credential Manager credentials were backed up.](auditing\event-5376.md) -###### [Event 5377 S: Credential Manager credentials were restored from a backup.](auditing\event-5377.md) -##### [Audit DPAPI Activity](auditing\audit-dpapi-activity.md) -###### [Event 4692 S, F: Backup of data protection master key was attempted.](auditing\event-4692.md) -###### [Event 4693 S, F: Recovery of data protection master key was attempted.](auditing\event-4693.md) -###### [Event 4694 S, F: Protection of auditable protected data was attempted.](auditing\event-4694.md) -###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](auditing\event-4695.md) -##### [Audit PNP Activity](auditing\audit-pnp-activity.md) -###### [Event 6416 S: A new external device was recognized by the System.](auditing\event-6416.md) -###### [Event 6419 S: A request was made to disable a device.](auditing\event-6419.md) -###### [Event 6420 S: A device was disabled.](auditing\event-6420.md) -###### [Event 6421 S: A request was made to enable a device.](auditing\event-6421.md) -###### [Event 6422 S: A device was enabled.](auditing\event-6422.md) -###### [Event 6423 S: The installation of this device is forbidden by system policy.](auditing\event-6423.md) -###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](auditing\event-6424.md) -##### [Audit Process Creation](auditing\audit-process-creation.md) -###### [Event 4688 S: A new process has been created.](auditing\event-4688.md) -###### [Event 4696 S: A primary token was assigned to process.](auditing\event-4696.md) -##### [Audit Process Termination](auditing\audit-process-termination.md) -###### [Event 4689 S: A process has exited.](auditing\event-4689.md) -##### [Audit RPC Events](auditing\audit-rpc-events.md) -###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](auditing\event-5712.md) -##### [Audit Detailed Directory Service Replication](auditing\audit-detailed-directory-service-replication.md) -###### [Event 4928 S, F: An Active Directory replica source naming context was established.](auditing\event-4928.md) -###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](auditing\event-4929.md) -###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](auditing\event-4930.md) -###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](auditing\event-4931.md) -###### [Event 4934 S: Attributes of an Active Directory object were replicated.](auditing\event-4934.md) -###### [Event 4935 F: Replication failure begins.](auditing\event-4935.md) -###### [Event 4936 S: Replication failure ends.](auditing\event-4936.md) -###### [Event 4937 S: A lingering object was removed from a replica.](auditing\event-4937.md) -##### [Audit Directory Service Access](auditing\audit-directory-service-access.md) -###### [Event 4662 S, F: An operation was performed on an object.](auditing\event-4662.md) -###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) -##### [Audit Directory Service Changes](auditing\audit-directory-service-changes.md) -###### [Event 5136 S: A directory service object was modified.](auditing\event-5136.md) -###### [Event 5137 S: A directory service object was created.](auditing\event-5137.md) -###### [Event 5138 S: A directory service object was undeleted.](auditing\event-5138.md) -###### [Event 5139 S: A directory service object was moved.](auditing\event-5139.md) -###### [Event 5141 S: A directory service object was deleted.](auditing\event-5141.md) -##### [Audit Directory Service Replication](auditing\audit-directory-service-replication.md) -###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](auditing\event-4932.md) -###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](auditing\event-4933.md) -##### [Audit Account Lockout](auditing\audit-account-lockout.md) -###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) -##### [Audit User/Device Claims](auditing\audit-user-device-claims.md) -###### [Event 4626 S: User/Device claims information.](auditing\event-4626.md) -##### [Audit Group Membership](auditing\audit-group-membership.md) -###### [Event 4627 S: Group membership information.](auditing\event-4627.md) -##### [Audit IPsec Extended Mode](auditing\audit-ipsec-extended-mode.md) -##### [Audit IPsec Main Mode](auditing\audit-ipsec-main-mode.md) -##### [Audit IPsec Quick Mode](auditing\audit-ipsec-quick-mode.md) -##### [Audit Logoff](auditing\audit-logoff.md) -###### [Event 4634 S: An account was logged off.](auditing\event-4634.md) -###### [Event 4647 S: User initiated logoff.](auditing\event-4647.md) -##### [Audit Logon](auditing\audit-logon.md) -###### [Event 4624 S: An account was successfully logged on.](auditing\event-4624.md) -###### [Event 4625 F: An account failed to log on.](auditing\event-4625.md) -###### [Event 4648 S: A logon was attempted using explicit credentials.](auditing\event-4648.md) -###### [Event 4675 S: SIDs were filtered.](auditing\event-4675.md) -##### [Audit Network Policy Server](auditing\audit-network-policy-server.md) -##### [Audit Other Logon/Logoff Events](auditing\audit-other-logonlogoff-events.md) -###### [Event 4649 S: A replay attack was detected.](auditing\event-4649.md) -###### [Event 4778 S: A session was reconnected to a Window Station.](auditing\event-4778.md) -###### [Event 4779 S: A session was disconnected from a Window Station.](auditing\event-4779.md) -###### [Event 4800 S: The workstation was locked.](auditing\event-4800.md) -###### [Event 4801 S: The workstation was unlocked.](auditing\event-4801.md) -###### [Event 4802 S: The screen saver was invoked.](auditing\event-4802.md) -###### [Event 4803 S: The screen saver was dismissed.](auditing\event-4803.md) -###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](auditing\event-5378.md) -###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](auditing\event-5632.md) -###### [Event 5633 S, F: A request was made to authenticate to a wired network.](auditing\event-5633.md) -##### [Audit Special Logon](auditing\audit-special-logon.md) -###### [Event 4964 S: Special groups have been assigned to a new logon.](auditing\event-4964.md) -###### [Event 4672 S: Special privileges assigned to new logon.](auditing\event-4672.md) -##### [Audit Application Generated](auditing\audit-application-generated.md) -##### [Audit Certification Services](auditing\audit-certification-services.md) -##### [Audit Detailed File Share](auditing\audit-detailed-file-share.md) -###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](auditing\event-5145.md) -##### [Audit File Share](auditing\audit-file-share.md) -###### [Event 5140 S, F: A network share object was accessed.](auditing\event-5140.md) -###### [Event 5142 S: A network share object was added.](auditing\event-5142.md) -###### [Event 5143 S: A network share object was modified.](auditing\event-5143.md) -###### [Event 5144 S: A network share object was deleted.](auditing\event-5144.md) -###### [Event 5168 F: SPN check for SMB/SMB2 failed.](auditing\event-5168.md) -##### [Audit File System](auditing\audit-file-system.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -###### [Event 4664 S: An attempt was made to create a hard link.](auditing\event-4664.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -###### [Event 5051: A file was virtualized.](auditing\event-5051.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -##### [Audit Filtering Platform Connection](auditing\audit-filtering-platform-connection.md) -###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](auditing\event-5031.md) -###### [Event 5150: The Windows Filtering Platform blocked a packet.](auditing\event-5150.md) -###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5151.md) -###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](auditing\event-5154.md) -###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](auditing\event-5155.md) -###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](auditing\event-5156.md) -###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](auditing\event-5157.md) -###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](auditing\event-5158.md) -###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](auditing\event-5159.md) -##### [Audit Filtering Platform Packet Drop](auditing\audit-filtering-platform-packet-drop.md) -###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](auditing\event-5152.md) -###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](auditing\event-5153.md) -##### [Audit Handle Manipulation](auditing\audit-handle-manipulation.md) -###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](auditing\event-4690.md) -##### [Audit Kernel Object](auditing\audit-kernel-object.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -##### [Audit Other Object Access Events](auditing\audit-other-object-access-events.md) -###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](auditing\event-4671.md) -###### [Event 4691 S: Indirect access to an object was requested.](auditing\event-4691.md) -###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](auditing\event-5148.md) -###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](auditing\event-5149.md) -###### [Event 4698 S: A scheduled task was created.](auditing\event-4698.md) -###### [Event 4699 S: A scheduled task was deleted.](auditing\event-4699.md) -###### [Event 4700 S: A scheduled task was enabled.](auditing\event-4700.md) -###### [Event 4701 S: A scheduled task was disabled.](auditing\event-4701.md) -###### [Event 4702 S: A scheduled task was updated.](auditing\event-4702.md) -###### [Event 5888 S: An object in the COM+ Catalog was modified.](auditing\event-5888.md) -###### [Event 5889 S: An object was deleted from the COM+ Catalog.](auditing\event-5889.md) -###### [Event 5890 S: An object was added to the COM+ Catalog.](auditing\event-5890.md) -##### [Audit Registry](auditing\audit-registry.md) -###### [Event 4663 S: An attempt was made to access an object.](auditing\event-4663.md) -###### [Event 4656 S, F: A handle to an object was requested.](auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](auditing\event-4660.md) -###### [Event 4657 S: A registry value was modified.](auditing\event-4657.md) -###### [Event 5039: A registry key was virtualized.](auditing\event-5039.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -##### [Audit Removable Storage](auditing\audit-removable-storage.md) -##### [Audit SAM](auditing\audit-sam.md) -###### [Event 4661 S, F: A handle to an object was requested.](auditing\event-4661.md) -##### [Audit Central Access Policy Staging](auditing\audit-central-access-policy-staging.md) -###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](auditing\event-4818.md) -##### [Audit Audit Policy Change](auditing\audit-audit-policy-change.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -###### [Event 4715 S: The audit policy, SACL, on an object was changed.](auditing\event-4715.md) -###### [Event 4719 S: System audit policy was changed.](auditing\event-4719.md) -###### [Event 4817 S: Auditing settings on object were changed.](auditing\event-4817.md) -###### [Event 4902 S: The Per-user audit policy table was created.](auditing\event-4902.md) -###### [Event 4906 S: The CrashOnAuditFail value has changed.](auditing\event-4906.md) -###### [Event 4907 S: Auditing settings on object were changed.](auditing\event-4907.md) -###### [Event 4908 S: Special Groups Logon table modified.](auditing\event-4908.md) -###### [Event 4912 S: Per User Audit Policy was changed.](auditing\event-4912.md) -###### [Event 4904 S: An attempt was made to register a security event source.](auditing\event-4904.md) -###### [Event 4905 S: An attempt was made to unregister a security event source.](auditing\event-4905.md) -##### [Audit Authentication Policy Change](auditing\audit-authentication-policy-change.md) -###### [Event 4706 S: A new trust was created to a domain.](auditing\event-4706.md) -###### [Event 4707 S: A trust to a domain was removed.](auditing\event-4707.md) -###### [Event 4716 S: Trusted domain information was modified.](auditing\event-4716.md) -###### [Event 4713 S: Kerberos policy was changed.](auditing\event-4713.md) -###### [Event 4717 S: System security access was granted to an account.](auditing\event-4717.md) -###### [Event 4718 S: System security access was removed from an account.](auditing\event-4718.md) -###### [Event 4739 S: Domain Policy was changed.](auditing\event-4739.md) -###### [Event 4864 S: A namespace collision was detected.](auditing\event-4864.md) -###### [Event 4865 S: A trusted forest information entry was added.](auditing\event-4865.md) -###### [Event 4866 S: A trusted forest information entry was removed.](auditing\event-4866.md) -###### [Event 4867 S: A trusted forest information entry was modified.](auditing\event-4867.md) -##### [Audit Authorization Policy Change](auditing\audit-authorization-policy-change.md) -###### [Event 4703 S: A user right was adjusted.](auditing\event-4703.md) -###### [Event 4704 S: A user right was assigned.](auditing\event-4704.md) -###### [Event 4705 S: A user right was removed.](auditing\event-4705.md) -###### [Event 4670 S: Permissions on an object were changed.](auditing\event-4670.md) -###### [Event 4911 S: Resource attributes of the object were changed.](auditing\event-4911.md) -###### [Event 4913 S: Central Access Policy on the object was changed.](auditing\event-4913.md) -##### [Audit Filtering Platform Policy Change](auditing\audit-filtering-platform-policy-change.md) -##### [Audit MPSSVC Rule-Level Policy Change](auditing\audit-mpssvc-rule-level-policy-change.md) -###### [Event 4944 S: The following policy was active when the Windows Firewall started.](auditing\event-4944.md) -###### [Event 4945 S: A rule was listed when the Windows Firewall started.](auditing\event-4945.md) -###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](auditing\event-4946.md) -###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](auditing\event-4947.md) -###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](auditing\event-4948.md) -###### [Event 4949 S: Windows Firewall settings were restored to the default values.](auditing\event-4949.md) -###### [Event 4950 S: A Windows Firewall setting has changed.](auditing\event-4950.md) -###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](auditing\event-4951.md) -###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](auditing\event-4952.md) -###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](auditing\event-4953.md) -###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](auditing\event-4954.md) -###### [Event 4956 S: Windows Firewall has changed the active profile.](auditing\event-4956.md) -###### [Event 4957 F: Windows Firewall did not apply the following rule.](auditing\event-4957.md) -###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](auditing\event-4958.md) -##### [Audit Other Policy Change Events](auditing\audit-other-policy-change-events.md) -###### [Event 4714 S: Encrypted data recovery policy was changed.](auditing\event-4714.md) -###### [Event 4819 S: Central Access Policies on the machine have been changed.](auditing\event-4819.md) -###### [Event 4826 S: Boot Configuration Data loaded.](auditing\event-4826.md) -###### [Event 4909: The local policy settings for the TBS were changed.](auditing\event-4909.md) -###### [Event 4910: The group policy settings for the TBS were changed.](auditing\event-4910.md) -###### [Event 5063 S, F: A cryptographic provider operation was attempted.](auditing\event-5063.md) -###### [Event 5064 S, F: A cryptographic context operation was attempted.](auditing\event-5064.md) -###### [Event 5065 S, F: A cryptographic context modification was attempted.](auditing\event-5065.md) -###### [Event 5066 S, F: A cryptographic function operation was attempted.](auditing\event-5066.md) -###### [Event 5067 S, F: A cryptographic function modification was attempted.](auditing\event-5067.md) -###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](auditing\event-5068.md) -###### [Event 5069 S, F: A cryptographic function property operation was attempted.](auditing\event-5069.md) -###### [Event 5070 S, F: A cryptographic function property modification was attempted.](auditing\event-5070.md) -###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](auditing\event-5447.md) -###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](auditing\event-6144.md) -###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](auditing\event-6145.md) -##### [Audit Sensitive Privilege Use](auditing\audit-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit Non Sensitive Privilege Use](auditing\audit-non-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit Other Privilege Use Events](auditing\audit-other-privilege-use-events.md) -###### [Event 4985 S: The state of a transaction has changed.](auditing\event-4985.md) -##### [Audit IPsec Driver](auditing\audit-ipsec-driver.md) -##### [Audit Other System Events](auditing\audit-other-system-events.md) -###### [Event 5024 S: The Windows Firewall Service has started successfully.](auditing\event-5024.md) -###### [Event 5025 S: The Windows Firewall Service has been stopped.](auditing\event-5025.md) -###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](auditing\event-5027.md) -###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](auditing\event-5028.md) -###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](auditing\event-5029.md) -###### [Event 5030 F: The Windows Firewall Service failed to start.](auditing\event-5030.md) -###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](auditing\event-5032.md) -###### [Event 5033 S: The Windows Firewall Driver has started successfully.](auditing\event-5033.md) -###### [Event 5034 S: The Windows Firewall Driver was stopped.](auditing\event-5034.md) -###### [Event 5035 F: The Windows Firewall Driver failed to start.](auditing\event-5035.md) -###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](auditing\event-5037.md) -###### [Event 5058 S, F: Key file operation.](auditing\event-5058.md) -###### [Event 5059 S, F: Key migration operation.](auditing\event-5059.md) -###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](auditing\event-6400.md) -###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](auditing\event-6401.md) -###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](auditing\event-6402.md) -###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](auditing\event-6403.md) -###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](auditing\event-6404.md) -###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](auditing\event-6405.md) -###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](auditing\event-6406.md) -###### [Event 6407: 1%.](auditing\event-6407.md) -###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](auditing\event-6408.md) -###### [Event 6409: BranchCache: A service connection point object could not be parsed.](auditing\event-6409.md) -##### [Audit Security State Change](auditing\audit-security-state-change.md) -###### [Event 4608 S: Windows is starting up.](auditing\event-4608.md) -###### [Event 4616 S: The system time was changed.](auditing\event-4616.md) -###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](auditing\event-4621.md) -##### [Audit Security System Extension](auditing\audit-security-system-extension.md) -###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](auditing\event-4610.md) -###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](auditing\event-4611.md) -###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](auditing\event-4614.md) -###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](auditing\event-4622.md) -###### [Event 4697 S: A service was installed in the system.](auditing\event-4697.md) -##### [Audit System Integrity](auditing\audit-system-integrity.md) -###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](auditing\event-4612.md) -###### [Event 4615 S: Invalid use of LPC port.](auditing\event-4615.md) -###### [Event 4618 S: A monitored security event pattern has occurred.](auditing\event-4618.md) -###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](auditing\event-4816.md) -###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](auditing\event-5038.md) -###### [Event 5056 S: A cryptographic self-test was performed.](auditing\event-5056.md) -###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](auditing\event-5062.md) -###### [Event 5057 F: A cryptographic primitive operation failed.](auditing\event-5057.md) -###### [Event 5060 F: Verification operation failed.](auditing\event-5060.md) -###### [Event 5061 S, F: Cryptographic operation.](auditing\event-5061.md) -###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](auditing\event-6281.md) -###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](auditing\event-6410.md) -##### [Other Events](auditing\other-events.md) -###### [Event 1100 S: The event logging service has shut down.](auditing\event-1100.md) -###### [Event 1102 S: The audit log was cleared.](auditing\event-1102.md) -###### [Event 1104 S: The security log is now full.](auditing\event-1104.md) -###### [Event 1105 S: Event log automatic backup.](auditing\event-1105.md) -###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](auditing\event-1108.md) -##### [Appendix A: Security monitoring recommendations for many audit events](auditing\appendix-a-security-monitoring-recommendations-for-many-audit-events.md) -##### [Registry (Global Object Access Auditing) ](auditing\registry-global-object-access-auditing.md) -##### [File System (Global Object Access Auditing) ](auditing\file-system-global-object-access-auditing.md) +## [Security auditing](windows\security\threat-protection\auditing\security-auditing-overview.md) +### [Basic security audit policies](windows\security\threat-protection\auditing\basic-security-audit-policies.md) +#### [Create a basic audit policy for an event category](windows\security\threat-protection\auditing\create-a-basic-audit-policy-settings-for-an-event-category.md) +#### [Apply a basic audit policy on a file or folder](windows\security\threat-protection\auditing\apply-a-basic-audit-policy-on-a-file-or-folder.md) +#### [View the security event log](windows\security\threat-protection\auditing\view-the-security-event-log.md) +#### [Basic security audit policy settings](windows\security\threat-protection\auditing\basic-security-audit-policy-settings.md) +##### [Audit account logon events](windows\security\threat-protection\auditing\basic-audit-account-logon-events.md) +##### [Audit account management](windows\security\threat-protection\auditing\basic-audit-account-management.md) +##### [Audit directory service access](windows\security\threat-protection\auditing\basic-audit-directory-service-access.md) +##### [Audit logon events](windows\security\threat-protection\auditing\basic-audit-logon-events.md) +##### [Audit object access](windows\security\threat-protection\auditing\basic-audit-object-access.md) +##### [Audit policy change](windows\security\threat-protection\auditing\basic-audit-policy-change.md) +##### [Audit privilege use](windows\security\threat-protection\auditing\basic-audit-privilege-use.md) +##### [Audit process tracking](windows\security\threat-protection\auditing\basic-audit-process-tracking.md) +##### [Audit system events](windows\security\threat-protection\auditing\basic-audit-system-events.md) +### [Advanced security audit policies](windows\security\threat-protection\auditing\advanced-security-auditing.md) +#### [Planning and deploying advanced security audit policies](windows\security\threat-protection\auditing\planning-and-deploying-advanced-security-audit-policies.md) +#### [Advanced security auditing FAQ](windows\security\threat-protection\auditing\advanced-security-auditing-faq.md) +##### [Which editions of Windows support advanced audit policy configuration](windows\security\threat-protection\auditing\which-editions-of-windows-support-advanced-audit-policy-configuration.md) +#### [Using advanced security auditing options to monitor dynamic access control objects](windows\security\threat-protection\auditing\using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) +##### [Monitor the central access policies that apply on a file server](windows\security\threat-protection\auditing\monitor-the-central-access-policies-that-apply-on-a-file-server.md) +##### [Monitor the use of removable storage devices](windows\security\threat-protection\auditing\monitor-the-use-of-removable-storage-devices.md) +##### [Monitor resource attribute definitions](windows\security\threat-protection\auditing\monitor-resource-attribute-definitions.md) +##### [Monitor central access policy and rule definitions](windows\security\threat-protection\auditing\monitor-central-access-policy-and-rule-definitions.md) +##### [Monitor user and device claims during sign-in](windows\security\threat-protection\auditing\monitor-user-and-device-claims-during-sign-in.md) +##### [Monitor the resource attributes on files and folders](windows\security\threat-protection\auditing\monitor-the-resource-attributes-on-files-and-folders.md) +##### [Monitor the central access policies associated with files and folders](windows\security\threat-protection\auditing\monitor-the-central-access-policies-associated-with-files-and-folders.md) +##### [Monitor claim types](windows\security\threat-protection\auditing\monitor-claim-types.md) +#### [Advanced security audit policy settings](windows\security\threat-protection\auditing\advanced-security-audit-policy-settings.md) +##### [Audit Credential Validation](windows\security\threat-protection\auditing\audit-credential-validation.md) +###### [Event 4774 S, F: An account was mapped for logon.](windows\security\threat-protection\auditing\event-4774.md) +###### [Event 4775 F: An account could not be mapped for logon.](windows\security\threat-protection\auditing\event-4775.md) +###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](windows\security\threat-protection\auditing\event-4776.md) +###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](windows\security\threat-protection\auditing\event-4777.md) +##### [Audit Kerberos Authentication Service](windows\security\threat-protection\auditing\audit-kerberos-authentication-service.md) +###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](windows\security\threat-protection\auditing\event-4768.md) +###### [Event 4771 F: Kerberos pre-authentication failed.](windows\security\threat-protection\auditing\event-4771.md) +###### [Event 4772 F: A Kerberos authentication ticket request failed.](windows\security\threat-protection\auditing\event-4772.md) +##### [Audit Kerberos Service Ticket Operations](windows\security\threat-protection\auditing\audit-kerberos-service-ticket-operations.md) +###### [Event 4769 S, F: A Kerberos service ticket was requested.](windows\security\threat-protection\auditing\event-4769.md) +###### [Event 4770 S: A Kerberos service ticket was renewed.](windows\security\threat-protection\auditing\event-4770.md) +###### [Event 4773 F: A Kerberos service ticket request failed.](windows\security\threat-protection\auditing\event-4773.md) +##### [Audit Other Account Logon Events](windows\security\threat-protection\auditing\audit-other-account-logon-events.md) +##### [Audit Application Group Management](windows\security\threat-protection\auditing\audit-application-group-management.md) +##### [Audit Computer Account Management](windows\security\threat-protection\auditing\audit-computer-account-management.md) +###### [Event 4741 S: A computer account was created.](windows\security\threat-protection\auditing\event-4741.md) +###### [Event 4742 S: A computer account was changed.](windows\security\threat-protection\auditing\event-4742.md) +###### [Event 4743 S: A computer account was deleted.](windows\security\threat-protection\auditing\event-4743.md) +##### [Audit Distribution Group Management](windows\security\threat-protection\auditing\audit-distribution-group-management.md) +###### [Event 4749 S: A security-disabled global group was created.](windows\security\threat-protection\auditing\event-4749.md) +###### [Event 4750 S: A security-disabled global group was changed.](windows\security\threat-protection\auditing\event-4750.md) +###### [Event 4751 S: A member was added to a security-disabled global group.](windows\security\threat-protection\auditing\event-4751.md) +###### [Event 4752 S: A member was removed from a security-disabled global group.](windows\security\threat-protection\auditing\event-4752.md) +###### [Event 4753 S: A security-disabled global group was deleted.](windows\security\threat-protection\auditing\event-4753.md) +##### [Audit Other Account Management Events](windows\security\threat-protection\auditing\audit-other-account-management-events.md) +###### [Event 4782 S: The password hash an account was accessed.](windows\security\threat-protection\auditing\event-4782.md) +###### [Event 4793 S: The Password Policy Checking API was called.](windows\security\threat-protection\auditing\event-4793.md) +##### [Audit Security Group Management](windows\security\threat-protection\auditing\audit-security-group-management.md) +###### [Event 4731 S: A security-enabled local group was created.](windows\security\threat-protection\auditing\event-4731.md) +###### [Event 4732 S: A member was added to a security-enabled local group.](windows\security\threat-protection\auditing\event-4732.md) +###### [Event 4733 S: A member was removed from a security-enabled local group.](windows\security\threat-protection\auditing\event-4733.md) +###### [Event 4734 S: A security-enabled local group was deleted.](windows\security\threat-protection\auditing\event-4734.md) +###### [Event 4735 S: A security-enabled local group was changed.](windows\security\threat-protection\auditing\event-4735.md) +###### [Event 4764 S: A group’s type was changed.](windows\security\threat-protection\auditing\event-4764.md) +###### [Event 4799 S: A security-enabled local group membership was enumerated.](windows\security\threat-protection\auditing\event-4799.md) +##### [Audit User Account Management](windows\security\threat-protection\auditing\audit-user-account-management.md) +###### [Event 4720 S: A user account was created.](windows\security\threat-protection\auditing\event-4720.md) +###### [Event 4722 S: A user account was enabled.](windows\security\threat-protection\auditing\event-4722.md) +###### [Event 4723 S, F: An attempt was made to change an account's password.](windows\security\threat-protection\auditing\event-4723.md) +###### [Event 4724 S, F: An attempt was made to reset an account's password.](windows\security\threat-protection\auditing\event-4724.md) +###### [Event 4725 S: A user account was disabled.](windows\security\threat-protection\auditing\event-4725.md) +###### [Event 4726 S: A user account was deleted.](windows\security\threat-protection\auditing\event-4726.md) +###### [Event 4738 S: A user account was changed.](windows\security\threat-protection\auditing\event-4738.md) +###### [Event 4740 S: A user account was locked out.](windows\security\threat-protection\auditing\event-4740.md) +###### [Event 4765 S: SID History was added to an account.](windows\security\threat-protection\auditing\event-4765.md) +###### [Event 4766 F: An attempt to add SID History to an account failed.](windows\security\threat-protection\auditing\event-4766.md) +###### [Event 4767 S: A user account was unlocked.](windows\security\threat-protection\auditing\event-4767.md) +###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](windows\security\threat-protection\auditing\event-4780.md) +###### [Event 4781 S: The name of an account was changed.](windows\security\threat-protection\auditing\event-4781.md) +###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](windows\security\threat-protection\auditing\event-4794.md) +###### [Event 4798 S: A user's local group membership was enumerated.](windows\security\threat-protection\auditing\event-4798.md) +###### [Event 5376 S: Credential Manager credentials were backed up.](windows\security\threat-protection\auditing\event-5376.md) +###### [Event 5377 S: Credential Manager credentials were restored from a backup.](windows\security\threat-protection\auditing\event-5377.md) +##### [Audit DPAPI Activity](windows\security\threat-protection\auditing\audit-dpapi-activity.md) +###### [Event 4692 S, F: Backup of data protection master key was attempted.](windows\security\threat-protection\auditing\event-4692.md) +###### [Event 4693 S, F: Recovery of data protection master key was attempted.](windows\security\threat-protection\auditing\event-4693.md) +###### [Event 4694 S, F: Protection of auditable protected data was attempted.](windows\security\threat-protection\auditing\event-4694.md) +###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](windows\security\threat-protection\auditing\event-4695.md) +##### [Audit PNP Activity](windows\security\threat-protection\auditing\audit-pnp-activity.md) +###### [Event 6416 S: A new external device was recognized by the System.](windows\security\threat-protection\auditing\event-6416.md) +###### [Event 6419 S: A request was made to disable a device.](windows\security\threat-protection\auditing\event-6419.md) +###### [Event 6420 S: A device was disabled.](windows\security\threat-protection\auditing\event-6420.md) +###### [Event 6421 S: A request was made to enable a device.](windows\security\threat-protection\auditing\event-6421.md) +###### [Event 6422 S: A device was enabled.](windows\security\threat-protection\auditing\event-6422.md) +###### [Event 6423 S: The installation of this device is forbidden by system policy.](windows\security\threat-protection\auditing\event-6423.md) +###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](windows\security\threat-protection\auditing\event-6424.md) +##### [Audit Process Creation](windows\security\threat-protection\auditing\audit-process-creation.md) +###### [Event 4688 S: A new process has been created.](windows\security\threat-protection\auditing\event-4688.md) +###### [Event 4696 S: A primary token was assigned to process.](windows\security\threat-protection\auditing\event-4696.md) +##### [Audit Process Termination](windows\security\threat-protection\auditing\audit-process-termination.md) +###### [Event 4689 S: A process has exited.](windows\security\threat-protection\auditing\event-4689.md) +##### [Audit RPC Events](windows\security\threat-protection\auditing\audit-rpc-events.md) +###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](windows\security\threat-protection\auditing\event-5712.md) +##### [Audit Detailed Directory Service Replication](windows\security\threat-protection\auditing\audit-detailed-directory-service-replication.md) +###### [Event 4928 S, F: An Active Directory replica source naming context was established.](windows\security\threat-protection\auditing\event-4928.md) +###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](windows\security\threat-protection\auditing\event-4929.md) +###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](windows\security\threat-protection\auditing\event-4930.md) +###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](windows\security\threat-protection\auditing\event-4931.md) +###### [Event 4934 S: Attributes of an Active Directory object were replicated.](windows\security\threat-protection\auditing\event-4934.md) +###### [Event 4935 F: Replication failure begins.](windows\security\threat-protection\auditing\event-4935.md) +###### [Event 4936 S: Replication failure ends.](windows\security\threat-protection\auditing\event-4936.md) +###### [Event 4937 S: A lingering object was removed from a replica.](windows\security\threat-protection\auditing\event-4937.md) +##### [Audit Directory Service Access](windows\security\threat-protection\auditing\audit-directory-service-access.md) +###### [Event 4662 S, F: An operation was performed on an object.](windows\security\threat-protection\auditing\event-4662.md) +###### [Event 4661 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4661.md) +##### [Audit Directory Service Changes](windows\security\threat-protection\auditing\audit-directory-service-changes.md) +###### [Event 5136 S: A directory service object was modified.](windows\security\threat-protection\auditing\event-5136.md) +###### [Event 5137 S: A directory service object was created.](windows\security\threat-protection\auditing\event-5137.md) +###### [Event 5138 S: A directory service object was undeleted.](windows\security\threat-protection\auditing\event-5138.md) +###### [Event 5139 S: A directory service object was moved.](windows\security\threat-protection\auditing\event-5139.md) +###### [Event 5141 S: A directory service object was deleted.](windows\security\threat-protection\auditing\event-5141.md) +##### [Audit Directory Service Replication](windows\security\threat-protection\auditing\audit-directory-service-replication.md) +###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](windows\security\threat-protection\auditing\event-4932.md) +###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](windows\security\threat-protection\auditing\event-4933.md) +##### [Audit Account Lockout](windows\security\threat-protection\auditing\audit-account-lockout.md) +###### [Event 4625 F: An account failed to log on.](windows\security\threat-protection\auditing\event-4625.md) +##### [Audit User/Device Claims](windows\security\threat-protection\auditing\audit-user-device-claims.md) +###### [Event 4626 S: User/Device claims information.](windows\security\threat-protection\auditing\event-4626.md) +##### [Audit Group Membership](windows\security\threat-protection\auditing\audit-group-membership.md) +###### [Event 4627 S: Group membership information.](windows\security\threat-protection\auditing\event-4627.md) +##### [Audit IPsec Extended Mode](windows\security\threat-protection\auditing\audit-ipsec-extended-mode.md) +##### [Audit IPsec Main Mode](windows\security\threat-protection\auditing\audit-ipsec-main-mode.md) +##### [Audit IPsec Quick Mode](windows\security\threat-protection\auditing\audit-ipsec-quick-mode.md) +##### [Audit Logoff](windows\security\threat-protection\auditing\audit-logoff.md) +###### [Event 4634 S: An account was logged off.](windows\security\threat-protection\auditing\event-4634.md) +###### [Event 4647 S: User initiated logoff.](windows\security\threat-protection\auditing\event-4647.md) +##### [Audit Logon](windows\security\threat-protection\auditing\audit-logon.md) +###### [Event 4624 S: An account was successfully logged on.](windows\security\threat-protection\auditing\event-4624.md) +###### [Event 4625 F: An account failed to log on.](windows\security\threat-protection\auditing\event-4625.md) +###### [Event 4648 S: A logon was attempted using explicit credentials.](windows\security\threat-protection\auditing\event-4648.md) +###### [Event 4675 S: SIDs were filtered.](windows\security\threat-protection\auditing\event-4675.md) +##### [Audit Network Policy Server](windows\security\threat-protection\auditing\audit-network-policy-server.md) +##### [Audit Other Logon/Logoff Events](windows\security\threat-protection\auditing\audit-other-logonlogoff-events.md) +###### [Event 4649 S: A replay attack was detected.](windows\security\threat-protection\auditing\event-4649.md) +###### [Event 4778 S: A session was reconnected to a Window Station.](windows\security\threat-protection\auditing\event-4778.md) +###### [Event 4779 S: A session was disconnected from a Window Station.](windows\security\threat-protection\auditing\event-4779.md) +###### [Event 4800 S: The workstation was locked.](windows\security\threat-protection\auditing\event-4800.md) +###### [Event 4801 S: The workstation was unlocked.](windows\security\threat-protection\auditing\event-4801.md) +###### [Event 4802 S: The screen saver was invoked.](windows\security\threat-protection\auditing\event-4802.md) +###### [Event 4803 S: The screen saver was dismissed.](windows\security\threat-protection\auditing\event-4803.md) +###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](windows\security\threat-protection\auditing\event-5378.md) +###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](windows\security\threat-protection\auditing\event-5632.md) +###### [Event 5633 S, F: A request was made to authenticate to a wired network.](windows\security\threat-protection\auditing\event-5633.md) +##### [Audit Special Logon](windows\security\threat-protection\auditing\audit-special-logon.md) +###### [Event 4964 S: Special groups have been assigned to a new logon.](windows\security\threat-protection\auditing\event-4964.md) +###### [Event 4672 S: Special privileges assigned to new logon.](windows\security\threat-protection\auditing\event-4672.md) +##### [Audit Application Generated](windows\security\threat-protection\auditing\audit-application-generated.md) +##### [Audit Certification Services](windows\security\threat-protection\auditing\audit-certification-services.md) +##### [Audit Detailed File Share](windows\security\threat-protection\auditing\audit-detailed-file-share.md) +###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](windows\security\threat-protection\auditing\event-5145.md) +##### [Audit File Share](windows\security\threat-protection\auditing\audit-file-share.md) +###### [Event 5140 S, F: A network share object was accessed.](windows\security\threat-protection\auditing\event-5140.md) +###### [Event 5142 S: A network share object was added.](windows\security\threat-protection\auditing\event-5142.md) +###### [Event 5143 S: A network share object was modified.](windows\security\threat-protection\auditing\event-5143.md) +###### [Event 5144 S: A network share object was deleted.](windows\security\threat-protection\auditing\event-5144.md) +###### [Event 5168 F: SPN check for SMB/SMB2 failed.](windows\security\threat-protection\auditing\event-5168.md) +##### [Audit File System](windows\security\threat-protection\auditing\audit-file-system.md) +###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) +###### [Event 4664 S: An attempt was made to create a hard link.](windows\security\threat-protection\auditing\event-4664.md) +###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) +###### [Event 5051: A file was virtualized.](windows\security\threat-protection\auditing\event-5051.md) +###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) +##### [Audit Filtering Platform Connection](windows\security\threat-protection\auditing\audit-filtering-platform-connection.md) +###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](windows\security\threat-protection\auditing\event-5031.md) +###### [Event 5150: The Windows Filtering Platform blocked a packet.](windows\security\threat-protection\auditing\event-5150.md) +###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](windows\security\threat-protection\auditing\event-5151.md) +###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](windows\security\threat-protection\auditing\event-5154.md) +###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](windows\security\threat-protection\auditing\event-5155.md) +###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](windows\security\threat-protection\auditing\event-5156.md) +###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](windows\security\threat-protection\auditing\event-5157.md) +###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](windows\security\threat-protection\auditing\event-5158.md) +###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](windows\security\threat-protection\auditing\event-5159.md) +##### [Audit Filtering Platform Packet Drop](windows\security\threat-protection\auditing\audit-filtering-platform-packet-drop.md) +###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](windows\security\threat-protection\auditing\event-5152.md) +###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](windows\security\threat-protection\auditing\event-5153.md) +##### [Audit Handle Manipulation](windows\security\threat-protection\auditing\audit-handle-manipulation.md) +###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](windows\security\threat-protection\auditing\event-4690.md) +##### [Audit Kernel Object](windows\security\threat-protection\auditing\audit-kernel-object.md) +###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) +###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) +##### [Audit Other Object Access Events](windows\security\threat-protection\auditing\audit-other-object-access-events.md) +###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](windows\security\threat-protection\auditing\event-4671.md) +###### [Event 4691 S: Indirect access to an object was requested.](windows\security\threat-protection\auditing\event-4691.md) +###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](windows\security\threat-protection\auditing\event-5148.md) +###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](windows\security\threat-protection\auditing\event-5149.md) +###### [Event 4698 S: A scheduled task was created.](windows\security\threat-protection\auditing\event-4698.md) +###### [Event 4699 S: A scheduled task was deleted.](windows\security\threat-protection\auditing\event-4699.md) +###### [Event 4700 S: A scheduled task was enabled.](windows\security\threat-protection\auditing\event-4700.md) +###### [Event 4701 S: A scheduled task was disabled.](windows\security\threat-protection\auditing\event-4701.md) +###### [Event 4702 S: A scheduled task was updated.](windows\security\threat-protection\auditing\event-4702.md) +###### [Event 5888 S: An object in the COM+ Catalog was modified.](windows\security\threat-protection\auditing\event-5888.md) +###### [Event 5889 S: An object was deleted from the COM+ Catalog.](windows\security\threat-protection\auditing\event-5889.md) +###### [Event 5890 S: An object was added to the COM+ Catalog.](windows\security\threat-protection\auditing\event-5890.md) +##### [Audit Registry](windows\security\threat-protection\auditing\audit-registry.md) +###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) +###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) +###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) +###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) +###### [Event 4657 S: A registry value was modified.](windows\security\threat-protection\auditing\event-4657.md) +###### [Event 5039: A registry key was virtualized.](windows\security\threat-protection\auditing\event-5039.md) +###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) +##### [Audit Removable Storage](windows\security\threat-protection\auditing\audit-removable-storage.md) +##### [Audit SAM](windows\security\threat-protection\auditing\audit-sam.md) +###### [Event 4661 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4661.md) +##### [Audit Central Access Policy Staging](windows\security\threat-protection\auditing\audit-central-access-policy-staging.md) +###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](windows\security\threat-protection\auditing\event-4818.md) +##### [Audit Audit Policy Change](windows\security\threat-protection\auditing\audit-audit-policy-change.md) +###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) +###### [Event 4715 S: The audit policy, SACL, on an object was changed.](windows\security\threat-protection\auditing\event-4715.md) +###### [Event 4719 S: System audit policy was changed.](windows\security\threat-protection\auditing\event-4719.md) +###### [Event 4817 S: Auditing settings on object were changed.](windows\security\threat-protection\auditing\event-4817.md) +###### [Event 4902 S: The Per-user audit policy table was created.](windows\security\threat-protection\auditing\event-4902.md) +###### [Event 4906 S: The CrashOnAuditFail value has changed.](windows\security\threat-protection\auditing\event-4906.md) +###### [Event 4907 S: Auditing settings on object were changed.](windows\security\threat-protection\auditing\event-4907.md) +###### [Event 4908 S: Special Groups Logon table modified.](windows\security\threat-protection\auditing\event-4908.md) +###### [Event 4912 S: Per User Audit Policy was changed.](windows\security\threat-protection\auditing\event-4912.md) +###### [Event 4904 S: An attempt was made to register a security event source.](windows\security\threat-protection\auditing\event-4904.md) +###### [Event 4905 S: An attempt was made to unregister a security event source.](windows\security\threat-protection\auditing\event-4905.md) +##### [Audit Authentication Policy Change](windows\security\threat-protection\auditing\audit-authentication-policy-change.md) +###### [Event 4706 S: A new trust was created to a domain.](windows\security\threat-protection\auditing\event-4706.md) +###### [Event 4707 S: A trust to a domain was removed.](windows\security\threat-protection\auditing\event-4707.md) +###### [Event 4716 S: Trusted domain information was modified.](windows\security\threat-protection\auditing\event-4716.md) +###### [Event 4713 S: Kerberos policy was changed.](windows\security\threat-protection\auditing\event-4713.md) +###### [Event 4717 S: System security access was granted to an account.](windows\security\threat-protection\auditing\event-4717.md) +###### [Event 4718 S: System security access was removed from an account.](windows\security\threat-protection\auditing\event-4718.md) +###### [Event 4739 S: Domain Policy was changed.](windows\security\threat-protection\auditing\event-4739.md) +###### [Event 4864 S: A namespace collision was detected.](windows\security\threat-protection\auditing\event-4864.md) +###### [Event 4865 S: A trusted forest information entry was added.](windows\security\threat-protection\auditing\event-4865.md) +###### [Event 4866 S: A trusted forest information entry was removed.](windows\security\threat-protection\auditing\event-4866.md) +###### [Event 4867 S: A trusted forest information entry was modified.](windows\security\threat-protection\auditing\event-4867.md) +##### [Audit Authorization Policy Change](windows\security\threat-protection\auditing\audit-authorization-policy-change.md) +###### [Event 4703 S: A user right was adjusted.](windows\security\threat-protection\auditing\event-4703.md) +###### [Event 4704 S: A user right was assigned.](windows\security\threat-protection\auditing\event-4704.md) +###### [Event 4705 S: A user right was removed.](windows\security\threat-protection\auditing\event-4705.md) +###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) +###### [Event 4911 S: Resource attributes of the object were changed.](windows\security\threat-protection\auditing\event-4911.md) +###### [Event 4913 S: Central Access Policy on the object was changed.](windows\security\threat-protection\auditing\event-4913.md) +##### [Audit Filtering Platform Policy Change](windows\security\threat-protection\auditing\audit-filtering-platform-policy-change.md) +##### [Audit MPSSVC Rule-Level Policy Change](windows\security\threat-protection\auditing\audit-mpssvc-rule-level-policy-change.md) +###### [Event 4944 S: The following policy was active when the Windows Firewall started.](windows\security\threat-protection\auditing\event-4944.md) +###### [Event 4945 S: A rule was listed when the Windows Firewall started.](windows\security\threat-protection\auditing\event-4945.md) +###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](windows\security\threat-protection\auditing\event-4946.md) +###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](windows\security\threat-protection\auditing\event-4947.md) +###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](windows\security\threat-protection\auditing\event-4948.md) +###### [Event 4949 S: Windows Firewall settings were restored to the default values.](windows\security\threat-protection\auditing\event-4949.md) +###### [Event 4950 S: A Windows Firewall setting has changed.](windows\security\threat-protection\auditing\event-4950.md) +###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](windows\security\threat-protection\auditing\event-4951.md) +###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](windows\security\threat-protection\auditing\event-4952.md) +###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](windows\security\threat-protection\auditing\event-4953.md) +###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](windows\security\threat-protection\auditing\event-4954.md) +###### [Event 4956 S: Windows Firewall has changed the active profile.](windows\security\threat-protection\auditing\event-4956.md) +###### [Event 4957 F: Windows Firewall did not apply the following rule.](windows\security\threat-protection\auditing\event-4957.md) +###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](windows\security\threat-protection\auditing\event-4958.md) +##### [Audit Other Policy Change Events](windows\security\threat-protection\auditing\audit-other-policy-change-events.md) +###### [Event 4714 S: Encrypted data recovery policy was changed.](windows\security\threat-protection\auditing\event-4714.md) +###### [Event 4819 S: Central Access Policies on the machine have been changed.](windows\security\threat-protection\auditing\event-4819.md) +###### [Event 4826 S: Boot Configuration Data loaded.](windows\security\threat-protection\auditing\event-4826.md) +###### [Event 4909: The local policy settings for the TBS were changed.](windows\security\threat-protection\auditing\event-4909.md) +###### [Event 4910: The group policy settings for the TBS were changed.](windows\security\threat-protection\auditing\event-4910.md) +###### [Event 5063 S, F: A cryptographic provider operation was attempted.](windows\security\threat-protection\auditing\event-5063.md) +###### [Event 5064 S, F: A cryptographic context operation was attempted.](windows\security\threat-protection\auditing\event-5064.md) +###### [Event 5065 S, F: A cryptographic context modification was attempted.](windows\security\threat-protection\auditing\event-5065.md) +###### [Event 5066 S, F: A cryptographic function operation was attempted.](windows\security\threat-protection\auditing\event-5066.md) +###### [Event 5067 S, F: A cryptographic function modification was attempted.](windows\security\threat-protection\auditing\event-5067.md) +###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](windows\security\threat-protection\auditing\event-5068.md) +###### [Event 5069 S, F: A cryptographic function property operation was attempted.](windows\security\threat-protection\auditing\event-5069.md) +###### [Event 5070 S, F: A cryptographic function property modification was attempted.](windows\security\threat-protection\auditing\event-5070.md) +###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](windows\security\threat-protection\auditing\event-5447.md) +###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](windows\security\threat-protection\auditing\event-6144.md) +###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](windows\security\threat-protection\auditing\event-6145.md) +##### [Audit Sensitive Privilege Use](windows\security\threat-protection\auditing\audit-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](windows\security\threat-protection\auditing\event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](windows\security\threat-protection\auditing\event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) +##### [Audit Non Sensitive Privilege Use](windows\security\threat-protection\auditing\audit-non-sensitive-privilege-use.md) +###### [Event 4673 S, F: A privileged service was called.](windows\security\threat-protection\auditing\event-4673.md) +###### [Event 4674 S, F: An operation was attempted on a privileged object.](windows\security\threat-protection\auditing\event-4674.md) +###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) +##### [Audit Other Privilege Use Events](windows\security\threat-protection\auditing\audit-other-privilege-use-events.md) +###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) +##### [Audit IPsec Driver](windows\security\threat-protection\auditing\audit-ipsec-driver.md) +##### [Audit Other System Events](windows\security\threat-protection\auditing\audit-other-system-events.md) +###### [Event 5024 S: The Windows Firewall Service has started successfully.](windows\security\threat-protection\auditing\event-5024.md) +###### [Event 5025 S: The Windows Firewall Service has been stopped.](windows\security\threat-protection\auditing\event-5025.md) +###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](windows\security\threat-protection\auditing\event-5027.md) +###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](windows\security\threat-protection\auditing\event-5028.md) +###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](windows\security\threat-protection\auditing\event-5029.md) +###### [Event 5030 F: The Windows Firewall Service failed to start.](windows\security\threat-protection\auditing\event-5030.md) +###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](windows\security\threat-protection\auditing\event-5032.md) +###### [Event 5033 S: The Windows Firewall Driver has started successfully.](windows\security\threat-protection\auditing\event-5033.md) +###### [Event 5034 S: The Windows Firewall Driver was stopped.](windows\security\threat-protection\auditing\event-5034.md) +###### [Event 5035 F: The Windows Firewall Driver failed to start.](windows\security\threat-protection\auditing\event-5035.md) +###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](windows\security\threat-protection\auditing\event-5037.md) +###### [Event 5058 S, F: Key file operation.](windows\security\threat-protection\auditing\event-5058.md) +###### [Event 5059 S, F: Key migration operation.](windows\security\threat-protection\auditing\event-5059.md) +###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](windows\security\threat-protection\auditing\event-6400.md) +###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](windows\security\threat-protection\auditing\event-6401.md) +###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](windows\security\threat-protection\auditing\event-6402.md) +###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](windows\security\threat-protection\auditing\event-6403.md) +###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](windows\security\threat-protection\auditing\event-6404.md) +###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](windows\security\threat-protection\auditing\event-6405.md) +###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](windows\security\threat-protection\auditing\event-6406.md) +###### [Event 6407: 1%.](windows\security\threat-protection\auditing\event-6407.md) +###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](windows\security\threat-protection\auditing\event-6408.md) +###### [Event 6409: BranchCache: A service connection point object could not be parsed.](windows\security\threat-protection\auditing\event-6409.md) +##### [Audit Security State Change](windows\security\threat-protection\auditing\audit-security-state-change.md) +###### [Event 4608 S: Windows is starting up.](windows\security\threat-protection\auditing\event-4608.md) +###### [Event 4616 S: The system time was changed.](windows\security\threat-protection\auditing\event-4616.md) +###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](windows\security\threat-protection\auditing\event-4621.md) +##### [Audit Security System Extension](windows\security\threat-protection\auditing\audit-security-system-extension.md) +###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](windows\security\threat-protection\auditing\event-4610.md) +###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](windows\security\threat-protection\auditing\event-4611.md) +###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](windows\security\threat-protection\auditing\event-4614.md) +###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](windows\security\threat-protection\auditing\event-4622.md) +###### [Event 4697 S: A service was installed in the system.](windows\security\threat-protection\auditing\event-4697.md) +##### [Audit System Integrity](windows\security\threat-protection\auditing\audit-system-integrity.md) +###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](windows\security\threat-protection\auditing\event-4612.md) +###### [Event 4615 S: Invalid use of LPC port.](windows\security\threat-protection\auditing\event-4615.md) +###### [Event 4618 S: A monitored security event pattern has occurred.](windows\security\threat-protection\auditing\event-4618.md) +###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](windows\security\threat-protection\auditing\event-4816.md) +###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](windows\security\threat-protection\auditing\event-5038.md) +###### [Event 5056 S: A cryptographic self-test was performed.](windows\security\threat-protection\auditing\event-5056.md) +###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](windows\security\threat-protection\auditing\event-5062.md) +###### [Event 5057 F: A cryptographic primitive operation failed.](windows\security\threat-protection\auditing\event-5057.md) +###### [Event 5060 F: Verification operation failed.](windows\security\threat-protection\auditing\event-5060.md) +###### [Event 5061 S, F: Cryptographic operation.](windows\security\threat-protection\auditing\event-5061.md) +###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](windows\security\threat-protection\auditing\event-6281.md) +###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](windows\security\threat-protection\auditing\event-6410.md) +##### [Other Events](windows\security\threat-protection\auditing\other-events.md) +###### [Event 1100 S: The event logging service has shut down.](windows\security\threat-protection\auditing\event-1100.md) +###### [Event 1102 S: The audit log was cleared.](windows\security\threat-protection\auditing\event-1102.md) +###### [Event 1104 S: The security log is now full.](windows\security\threat-protection\auditing\event-1104.md) +###### [Event 1105 S: Event log automatic backup.](windows\security\threat-protection\auditing\event-1105.md) +###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](windows\security\threat-protection\auditing\event-1108.md) +##### [Appendix A: Security monitoring recommendations for many audit events](windows\security\threat-protection\auditing\appendix-a-security-monitoring-recommendations-for-many-audit-events.md) +##### [Registry (Global Object Access Auditing) ](windows\security\threat-protection\auditing\registry-global-object-access-auditing.md) +##### [File System (Global Object Access Auditing) ](windows\security\threat-protection\auditing\file-system-global-object-access-auditing.md) ## [Security policy settings](security-policy-settings/security-policy-settings.md) ### [Administer security policy settings](security-policy-settings/administer-security-policy-settings.md) From 253f5da2afe9094ff9b616561455825818b7e1e1 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 12:41:42 -0800 Subject: [PATCH 018/212] fixed links to auditing topics --- .../windows-defender-application-control/TOC.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 216f60c9e8..c0b98a40d3 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -1,7 +1,7 @@ # [Windows Defender Application Control](windows-defender-application-control.md) ## [Windows Defender Application Control design guide](windows-defender-application-control-design-guide.md) -### [Understand WDAC policy design decisions](understand-windows=defender-application-control-policy-design-decisions.md) +### [Understand WDAC policy design decisions](understand-windows-defender-application-control-policy-design-decisions.md) ### [Select the types of rules to create](select-types-of-rules-to-create.md) ### [Plan for WDAC policy management](plan-windows-defender-application-control-management.md) #### [Document your application control management processes](document-your-windows-defender-application-control-management-processes.md) @@ -62,8 +62,8 @@ ##### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) ##### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) #### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) -##### [Document your application control management processes](document-your-windows-defender-application-control-management-processes.md) -#### [Create your AppLocker planning document](create-your-indows-defender-application-control-planning-document.md) +##### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) +#### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) ### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) #### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) #### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) From 1156a804f81d723710e0678a7ca3ebc9909c0e62 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 14:11:29 -0800 Subject: [PATCH 019/212] fixed WDEG toc --- .../windows-defender-exploit-guard/TOC.md | 564 ------------------ 1 file changed, 564 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index deebbb6e0a..444d5f66b5 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -28,567 +28,3 @@ ### [Customize Controlled folder access](customize-controlled-folders-exploit-guard.md) -## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) - -## [Device Guard deployment guide](device-guard/device-guard-deployment-guide.md) -### [Introduction to Device Guard: virtualization-based security and WDAC](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) -### [Requirements and deployment planning guidelines for Device Guard](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) -### [Planning and getting started on the Device Guard deployment process](device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md) -### [Deploy WDAC](device-guard/deploy-windows-defender-application-control.md) -#### [Optional: Create a code signing certificate for WDAC](device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) -#### [Deploy WDAC: policy rules and file rules](device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md) -#### [Steps to deploy WDAC](device-guard/steps-to-deploy-windows-defender-application-control.md) -#### [Deploy catalog files to support WDAC](device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md) -#### [Deploy Managed Installer for Device Guard](device-guard/deploy-managed-installer-for-device-guard.md) -### [Deploy Device Guard: enable virtualization-based security](device-guard/deploy-device-guard-enable-virtualization-based-security.md) - - -## [Windows Defender SmartScreen](windows-defender-smartscreen\windows-defender-smartscreen-overview.md) -### [Available Windows Defender SmartScreen Group Policy and mobile device management (MDM) settings](windows-defender-smartscreen\windows-defender-smartscreen-available-settings.md) -### [Set up and use Windows Defender SmartScreen on individual devices](windows-defender-smartscreen\windows-defender-smartscreen-set-individual-device.md) - -##[Windows Defender Application Guard](windows-defender-application-guard\wd-app-guard-overview.md) -###[System requirements for Windows Defender Application Guard](windows-defender-application-guard\reqs-wd-app-guard.md) -###[Prepare and install Windows Defender Application Guard](windows-defender-application-guard\install-wd-app-guard.md) -###[Configure the Group Policy settings for Windows Defender Application Guard](windows-defender-application-guard\configure-wd-app-guard.md) -###[Testing scenarios using Windows Defender Application Guard in your business or organization](windows-defender-application-guard\test-scenarios-wd-app-guard.md) -###[Frequently Asked Questions - Windows Defender Application Guard](windows-defender-application-guard\faq-wd-app-guard.md) - -## [Mitigate threats by using Windows 10 security features](overview-of-threat-mitigations-in-windows-10.md) - -## [Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) - -## [Use Windows Event Forwarding to help with intrusion detection](use-windows-event-forwarding-to-assist-in-intrusion-detection.md) - -## [Block untrusted fonts in an enterprise](block-untrusted-fonts-in-enterprise.md) - -## [Security auditing](windows\security\threat-protection\auditing\security-auditing-overview.md) -### [Basic security audit policies](windows\security\threat-protection\auditing\basic-security-audit-policies.md) -#### [Create a basic audit policy for an event category](windows\security\threat-protection\auditing\create-a-basic-audit-policy-settings-for-an-event-category.md) -#### [Apply a basic audit policy on a file or folder](windows\security\threat-protection\auditing\apply-a-basic-audit-policy-on-a-file-or-folder.md) -#### [View the security event log](windows\security\threat-protection\auditing\view-the-security-event-log.md) -#### [Basic security audit policy settings](windows\security\threat-protection\auditing\basic-security-audit-policy-settings.md) -##### [Audit account logon events](windows\security\threat-protection\auditing\basic-audit-account-logon-events.md) -##### [Audit account management](windows\security\threat-protection\auditing\basic-audit-account-management.md) -##### [Audit directory service access](windows\security\threat-protection\auditing\basic-audit-directory-service-access.md) -##### [Audit logon events](windows\security\threat-protection\auditing\basic-audit-logon-events.md) -##### [Audit object access](windows\security\threat-protection\auditing\basic-audit-object-access.md) -##### [Audit policy change](windows\security\threat-protection\auditing\basic-audit-policy-change.md) -##### [Audit privilege use](windows\security\threat-protection\auditing\basic-audit-privilege-use.md) -##### [Audit process tracking](windows\security\threat-protection\auditing\basic-audit-process-tracking.md) -##### [Audit system events](windows\security\threat-protection\auditing\basic-audit-system-events.md) -### [Advanced security audit policies](windows\security\threat-protection\auditing\advanced-security-auditing.md) -#### [Planning and deploying advanced security audit policies](windows\security\threat-protection\auditing\planning-and-deploying-advanced-security-audit-policies.md) -#### [Advanced security auditing FAQ](windows\security\threat-protection\auditing\advanced-security-auditing-faq.md) -##### [Which editions of Windows support advanced audit policy configuration](windows\security\threat-protection\auditing\which-editions-of-windows-support-advanced-audit-policy-configuration.md) -#### [Using advanced security auditing options to monitor dynamic access control objects](windows\security\threat-protection\auditing\using-advanced-security-auditing-options-to-monitor-dynamic-access-control-objects.md) -##### [Monitor the central access policies that apply on a file server](windows\security\threat-protection\auditing\monitor-the-central-access-policies-that-apply-on-a-file-server.md) -##### [Monitor the use of removable storage devices](windows\security\threat-protection\auditing\monitor-the-use-of-removable-storage-devices.md) -##### [Monitor resource attribute definitions](windows\security\threat-protection\auditing\monitor-resource-attribute-definitions.md) -##### [Monitor central access policy and rule definitions](windows\security\threat-protection\auditing\monitor-central-access-policy-and-rule-definitions.md) -##### [Monitor user and device claims during sign-in](windows\security\threat-protection\auditing\monitor-user-and-device-claims-during-sign-in.md) -##### [Monitor the resource attributes on files and folders](windows\security\threat-protection\auditing\monitor-the-resource-attributes-on-files-and-folders.md) -##### [Monitor the central access policies associated with files and folders](windows\security\threat-protection\auditing\monitor-the-central-access-policies-associated-with-files-and-folders.md) -##### [Monitor claim types](windows\security\threat-protection\auditing\monitor-claim-types.md) -#### [Advanced security audit policy settings](windows\security\threat-protection\auditing\advanced-security-audit-policy-settings.md) -##### [Audit Credential Validation](windows\security\threat-protection\auditing\audit-credential-validation.md) -###### [Event 4774 S, F: An account was mapped for logon.](windows\security\threat-protection\auditing\event-4774.md) -###### [Event 4775 F: An account could not be mapped for logon.](windows\security\threat-protection\auditing\event-4775.md) -###### [Event 4776 S, F: The computer attempted to validate the credentials for an account.](windows\security\threat-protection\auditing\event-4776.md) -###### [Event 4777 F: The domain controller failed to validate the credentials for an account.](windows\security\threat-protection\auditing\event-4777.md) -##### [Audit Kerberos Authentication Service](windows\security\threat-protection\auditing\audit-kerberos-authentication-service.md) -###### [Event 4768 S, F: A Kerberos authentication ticket, TGT, was requested.](windows\security\threat-protection\auditing\event-4768.md) -###### [Event 4771 F: Kerberos pre-authentication failed.](windows\security\threat-protection\auditing\event-4771.md) -###### [Event 4772 F: A Kerberos authentication ticket request failed.](windows\security\threat-protection\auditing\event-4772.md) -##### [Audit Kerberos Service Ticket Operations](windows\security\threat-protection\auditing\audit-kerberos-service-ticket-operations.md) -###### [Event 4769 S, F: A Kerberos service ticket was requested.](windows\security\threat-protection\auditing\event-4769.md) -###### [Event 4770 S: A Kerberos service ticket was renewed.](windows\security\threat-protection\auditing\event-4770.md) -###### [Event 4773 F: A Kerberos service ticket request failed.](windows\security\threat-protection\auditing\event-4773.md) -##### [Audit Other Account Logon Events](windows\security\threat-protection\auditing\audit-other-account-logon-events.md) -##### [Audit Application Group Management](windows\security\threat-protection\auditing\audit-application-group-management.md) -##### [Audit Computer Account Management](windows\security\threat-protection\auditing\audit-computer-account-management.md) -###### [Event 4741 S: A computer account was created.](windows\security\threat-protection\auditing\event-4741.md) -###### [Event 4742 S: A computer account was changed.](windows\security\threat-protection\auditing\event-4742.md) -###### [Event 4743 S: A computer account was deleted.](windows\security\threat-protection\auditing\event-4743.md) -##### [Audit Distribution Group Management](windows\security\threat-protection\auditing\audit-distribution-group-management.md) -###### [Event 4749 S: A security-disabled global group was created.](windows\security\threat-protection\auditing\event-4749.md) -###### [Event 4750 S: A security-disabled global group was changed.](windows\security\threat-protection\auditing\event-4750.md) -###### [Event 4751 S: A member was added to a security-disabled global group.](windows\security\threat-protection\auditing\event-4751.md) -###### [Event 4752 S: A member was removed from a security-disabled global group.](windows\security\threat-protection\auditing\event-4752.md) -###### [Event 4753 S: A security-disabled global group was deleted.](windows\security\threat-protection\auditing\event-4753.md) -##### [Audit Other Account Management Events](windows\security\threat-protection\auditing\audit-other-account-management-events.md) -###### [Event 4782 S: The password hash an account was accessed.](windows\security\threat-protection\auditing\event-4782.md) -###### [Event 4793 S: The Password Policy Checking API was called.](windows\security\threat-protection\auditing\event-4793.md) -##### [Audit Security Group Management](windows\security\threat-protection\auditing\audit-security-group-management.md) -###### [Event 4731 S: A security-enabled local group was created.](windows\security\threat-protection\auditing\event-4731.md) -###### [Event 4732 S: A member was added to a security-enabled local group.](windows\security\threat-protection\auditing\event-4732.md) -###### [Event 4733 S: A member was removed from a security-enabled local group.](windows\security\threat-protection\auditing\event-4733.md) -###### [Event 4734 S: A security-enabled local group was deleted.](windows\security\threat-protection\auditing\event-4734.md) -###### [Event 4735 S: A security-enabled local group was changed.](windows\security\threat-protection\auditing\event-4735.md) -###### [Event 4764 S: A group’s type was changed.](windows\security\threat-protection\auditing\event-4764.md) -###### [Event 4799 S: A security-enabled local group membership was enumerated.](windows\security\threat-protection\auditing\event-4799.md) -##### [Audit User Account Management](windows\security\threat-protection\auditing\audit-user-account-management.md) -###### [Event 4720 S: A user account was created.](windows\security\threat-protection\auditing\event-4720.md) -###### [Event 4722 S: A user account was enabled.](windows\security\threat-protection\auditing\event-4722.md) -###### [Event 4723 S, F: An attempt was made to change an account's password.](windows\security\threat-protection\auditing\event-4723.md) -###### [Event 4724 S, F: An attempt was made to reset an account's password.](windows\security\threat-protection\auditing\event-4724.md) -###### [Event 4725 S: A user account was disabled.](windows\security\threat-protection\auditing\event-4725.md) -###### [Event 4726 S: A user account was deleted.](windows\security\threat-protection\auditing\event-4726.md) -###### [Event 4738 S: A user account was changed.](windows\security\threat-protection\auditing\event-4738.md) -###### [Event 4740 S: A user account was locked out.](windows\security\threat-protection\auditing\event-4740.md) -###### [Event 4765 S: SID History was added to an account.](windows\security\threat-protection\auditing\event-4765.md) -###### [Event 4766 F: An attempt to add SID History to an account failed.](windows\security\threat-protection\auditing\event-4766.md) -###### [Event 4767 S: A user account was unlocked.](windows\security\threat-protection\auditing\event-4767.md) -###### [Event 4780 S: The ACL was set on accounts which are members of administrators groups.](windows\security\threat-protection\auditing\event-4780.md) -###### [Event 4781 S: The name of an account was changed.](windows\security\threat-protection\auditing\event-4781.md) -###### [Event 4794 S, F: An attempt was made to set the Directory Services Restore Mode administrator password.](windows\security\threat-protection\auditing\event-4794.md) -###### [Event 4798 S: A user's local group membership was enumerated.](windows\security\threat-protection\auditing\event-4798.md) -###### [Event 5376 S: Credential Manager credentials were backed up.](windows\security\threat-protection\auditing\event-5376.md) -###### [Event 5377 S: Credential Manager credentials were restored from a backup.](windows\security\threat-protection\auditing\event-5377.md) -##### [Audit DPAPI Activity](windows\security\threat-protection\auditing\audit-dpapi-activity.md) -###### [Event 4692 S, F: Backup of data protection master key was attempted.](windows\security\threat-protection\auditing\event-4692.md) -###### [Event 4693 S, F: Recovery of data protection master key was attempted.](windows\security\threat-protection\auditing\event-4693.md) -###### [Event 4694 S, F: Protection of auditable protected data was attempted.](windows\security\threat-protection\auditing\event-4694.md) -###### [Event 4695 S, F: Unprotection of auditable protected data was attempted.](windows\security\threat-protection\auditing\event-4695.md) -##### [Audit PNP Activity](windows\security\threat-protection\auditing\audit-pnp-activity.md) -###### [Event 6416 S: A new external device was recognized by the System.](windows\security\threat-protection\auditing\event-6416.md) -###### [Event 6419 S: A request was made to disable a device.](windows\security\threat-protection\auditing\event-6419.md) -###### [Event 6420 S: A device was disabled.](windows\security\threat-protection\auditing\event-6420.md) -###### [Event 6421 S: A request was made to enable a device.](windows\security\threat-protection\auditing\event-6421.md) -###### [Event 6422 S: A device was enabled.](windows\security\threat-protection\auditing\event-6422.md) -###### [Event 6423 S: The installation of this device is forbidden by system policy.](windows\security\threat-protection\auditing\event-6423.md) -###### [Event 6424 S: The installation of this device was allowed, after having previously been forbidden by policy.](windows\security\threat-protection\auditing\event-6424.md) -##### [Audit Process Creation](windows\security\threat-protection\auditing\audit-process-creation.md) -###### [Event 4688 S: A new process has been created.](windows\security\threat-protection\auditing\event-4688.md) -###### [Event 4696 S: A primary token was assigned to process.](windows\security\threat-protection\auditing\event-4696.md) -##### [Audit Process Termination](windows\security\threat-protection\auditing\audit-process-termination.md) -###### [Event 4689 S: A process has exited.](windows\security\threat-protection\auditing\event-4689.md) -##### [Audit RPC Events](windows\security\threat-protection\auditing\audit-rpc-events.md) -###### [Event 5712 S: A Remote Procedure Call, RPC, was attempted.](windows\security\threat-protection\auditing\event-5712.md) -##### [Audit Detailed Directory Service Replication](windows\security\threat-protection\auditing\audit-detailed-directory-service-replication.md) -###### [Event 4928 S, F: An Active Directory replica source naming context was established.](windows\security\threat-protection\auditing\event-4928.md) -###### [Event 4929 S, F: An Active Directory replica source naming context was removed.](windows\security\threat-protection\auditing\event-4929.md) -###### [Event 4930 S, F: An Active Directory replica source naming context was modified.](windows\security\threat-protection\auditing\event-4930.md) -###### [Event 4931 S, F: An Active Directory replica destination naming context was modified.](windows\security\threat-protection\auditing\event-4931.md) -###### [Event 4934 S: Attributes of an Active Directory object were replicated.](windows\security\threat-protection\auditing\event-4934.md) -###### [Event 4935 F: Replication failure begins.](windows\security\threat-protection\auditing\event-4935.md) -###### [Event 4936 S: Replication failure ends.](windows\security\threat-protection\auditing\event-4936.md) -###### [Event 4937 S: A lingering object was removed from a replica.](windows\security\threat-protection\auditing\event-4937.md) -##### [Audit Directory Service Access](windows\security\threat-protection\auditing\audit-directory-service-access.md) -###### [Event 4662 S, F: An operation was performed on an object.](windows\security\threat-protection\auditing\event-4662.md) -###### [Event 4661 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4661.md) -##### [Audit Directory Service Changes](windows\security\threat-protection\auditing\audit-directory-service-changes.md) -###### [Event 5136 S: A directory service object was modified.](windows\security\threat-protection\auditing\event-5136.md) -###### [Event 5137 S: A directory service object was created.](windows\security\threat-protection\auditing\event-5137.md) -###### [Event 5138 S: A directory service object was undeleted.](windows\security\threat-protection\auditing\event-5138.md) -###### [Event 5139 S: A directory service object was moved.](windows\security\threat-protection\auditing\event-5139.md) -###### [Event 5141 S: A directory service object was deleted.](windows\security\threat-protection\auditing\event-5141.md) -##### [Audit Directory Service Replication](windows\security\threat-protection\auditing\audit-directory-service-replication.md) -###### [Event 4932 S: Synchronization of a replica of an Active Directory naming context has begun.](windows\security\threat-protection\auditing\event-4932.md) -###### [Event 4933 S, F: Synchronization of a replica of an Active Directory naming context has ended.](windows\security\threat-protection\auditing\event-4933.md) -##### [Audit Account Lockout](windows\security\threat-protection\auditing\audit-account-lockout.md) -###### [Event 4625 F: An account failed to log on.](windows\security\threat-protection\auditing\event-4625.md) -##### [Audit User/Device Claims](windows\security\threat-protection\auditing\audit-user-device-claims.md) -###### [Event 4626 S: User/Device claims information.](windows\security\threat-protection\auditing\event-4626.md) -##### [Audit Group Membership](windows\security\threat-protection\auditing\audit-group-membership.md) -###### [Event 4627 S: Group membership information.](windows\security\threat-protection\auditing\event-4627.md) -##### [Audit IPsec Extended Mode](windows\security\threat-protection\auditing\audit-ipsec-extended-mode.md) -##### [Audit IPsec Main Mode](windows\security\threat-protection\auditing\audit-ipsec-main-mode.md) -##### [Audit IPsec Quick Mode](windows\security\threat-protection\auditing\audit-ipsec-quick-mode.md) -##### [Audit Logoff](windows\security\threat-protection\auditing\audit-logoff.md) -###### [Event 4634 S: An account was logged off.](windows\security\threat-protection\auditing\event-4634.md) -###### [Event 4647 S: User initiated logoff.](windows\security\threat-protection\auditing\event-4647.md) -##### [Audit Logon](windows\security\threat-protection\auditing\audit-logon.md) -###### [Event 4624 S: An account was successfully logged on.](windows\security\threat-protection\auditing\event-4624.md) -###### [Event 4625 F: An account failed to log on.](windows\security\threat-protection\auditing\event-4625.md) -###### [Event 4648 S: A logon was attempted using explicit credentials.](windows\security\threat-protection\auditing\event-4648.md) -###### [Event 4675 S: SIDs were filtered.](windows\security\threat-protection\auditing\event-4675.md) -##### [Audit Network Policy Server](windows\security\threat-protection\auditing\audit-network-policy-server.md) -##### [Audit Other Logon/Logoff Events](windows\security\threat-protection\auditing\audit-other-logonlogoff-events.md) -###### [Event 4649 S: A replay attack was detected.](windows\security\threat-protection\auditing\event-4649.md) -###### [Event 4778 S: A session was reconnected to a Window Station.](windows\security\threat-protection\auditing\event-4778.md) -###### [Event 4779 S: A session was disconnected from a Window Station.](windows\security\threat-protection\auditing\event-4779.md) -###### [Event 4800 S: The workstation was locked.](windows\security\threat-protection\auditing\event-4800.md) -###### [Event 4801 S: The workstation was unlocked.](windows\security\threat-protection\auditing\event-4801.md) -###### [Event 4802 S: The screen saver was invoked.](windows\security\threat-protection\auditing\event-4802.md) -###### [Event 4803 S: The screen saver was dismissed.](windows\security\threat-protection\auditing\event-4803.md) -###### [Event 5378 F: The requested credentials delegation was disallowed by policy.](windows\security\threat-protection\auditing\event-5378.md) -###### [Event 5632 S, F: A request was made to authenticate to a wireless network.](windows\security\threat-protection\auditing\event-5632.md) -###### [Event 5633 S, F: A request was made to authenticate to a wired network.](windows\security\threat-protection\auditing\event-5633.md) -##### [Audit Special Logon](windows\security\threat-protection\auditing\audit-special-logon.md) -###### [Event 4964 S: Special groups have been assigned to a new logon.](windows\security\threat-protection\auditing\event-4964.md) -###### [Event 4672 S: Special privileges assigned to new logon.](windows\security\threat-protection\auditing\event-4672.md) -##### [Audit Application Generated](windows\security\threat-protection\auditing\audit-application-generated.md) -##### [Audit Certification Services](windows\security\threat-protection\auditing\audit-certification-services.md) -##### [Audit Detailed File Share](windows\security\threat-protection\auditing\audit-detailed-file-share.md) -###### [Event 5145 S, F: A network share object was checked to see whether client can be granted desired access.](windows\security\threat-protection\auditing\event-5145.md) -##### [Audit File Share](windows\security\threat-protection\auditing\audit-file-share.md) -###### [Event 5140 S, F: A network share object was accessed.](windows\security\threat-protection\auditing\event-5140.md) -###### [Event 5142 S: A network share object was added.](windows\security\threat-protection\auditing\event-5142.md) -###### [Event 5143 S: A network share object was modified.](windows\security\threat-protection\auditing\event-5143.md) -###### [Event 5144 S: A network share object was deleted.](windows\security\threat-protection\auditing\event-5144.md) -###### [Event 5168 F: SPN check for SMB/SMB2 failed.](windows\security\threat-protection\auditing\event-5168.md) -##### [Audit File System](windows\security\threat-protection\auditing\audit-file-system.md) -###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) -###### [Event 4664 S: An attempt was made to create a hard link.](windows\security\threat-protection\auditing\event-4664.md) -###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) -###### [Event 5051: A file was virtualized.](windows\security\threat-protection\auditing\event-5051.md) -###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) -##### [Audit Filtering Platform Connection](windows\security\threat-protection\auditing\audit-filtering-platform-connection.md) -###### [Event 5031 F: The Windows Firewall Service blocked an application from accepting incoming connections on the network.](windows\security\threat-protection\auditing\event-5031.md) -###### [Event 5150: The Windows Filtering Platform blocked a packet.](windows\security\threat-protection\auditing\event-5150.md) -###### [Event 5151: A more restrictive Windows Filtering Platform filter has blocked a packet.](windows\security\threat-protection\auditing\event-5151.md) -###### [Event 5154 S: The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.](windows\security\threat-protection\auditing\event-5154.md) -###### [Event 5155 F: The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.](windows\security\threat-protection\auditing\event-5155.md) -###### [Event 5156 S: The Windows Filtering Platform has permitted a connection.](windows\security\threat-protection\auditing\event-5156.md) -###### [Event 5157 F: The Windows Filtering Platform has blocked a connection.](windows\security\threat-protection\auditing\event-5157.md) -###### [Event 5158 S: The Windows Filtering Platform has permitted a bind to a local port.](windows\security\threat-protection\auditing\event-5158.md) -###### [Event 5159 F: The Windows Filtering Platform has blocked a bind to a local port.](windows\security\threat-protection\auditing\event-5159.md) -##### [Audit Filtering Platform Packet Drop](windows\security\threat-protection\auditing\audit-filtering-platform-packet-drop.md) -###### [Event 5152 F: The Windows Filtering Platform blocked a packet.](windows\security\threat-protection\auditing\event-5152.md) -###### [Event 5153 S: A more restrictive Windows Filtering Platform filter has blocked a packet.](windows\security\threat-protection\auditing\event-5153.md) -##### [Audit Handle Manipulation](windows\security\threat-protection\auditing\audit-handle-manipulation.md) -###### [Event 4690 S: An attempt was made to duplicate a handle to an object.](windows\security\threat-protection\auditing\event-4690.md) -##### [Audit Kernel Object](windows\security\threat-protection\auditing\audit-kernel-object.md) -###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) -###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) -##### [Audit Other Object Access Events](windows\security\threat-protection\auditing\audit-other-object-access-events.md) -###### [Event 4671: An application attempted to access a blocked ordinal through the TBS.](windows\security\threat-protection\auditing\event-4671.md) -###### [Event 4691 S: Indirect access to an object was requested.](windows\security\threat-protection\auditing\event-4691.md) -###### [Event 5148 F: The Windows Filtering Platform has detected a DoS attack and entered a defensive mode; packets associated with this attack will be discarded.](windows\security\threat-protection\auditing\event-5148.md) -###### [Event 5149 F: The DoS attack has subsided and normal processing is being resumed.](windows\security\threat-protection\auditing\event-5149.md) -###### [Event 4698 S: A scheduled task was created.](windows\security\threat-protection\auditing\event-4698.md) -###### [Event 4699 S: A scheduled task was deleted.](windows\security\threat-protection\auditing\event-4699.md) -###### [Event 4700 S: A scheduled task was enabled.](windows\security\threat-protection\auditing\event-4700.md) -###### [Event 4701 S: A scheduled task was disabled.](windows\security\threat-protection\auditing\event-4701.md) -###### [Event 4702 S: A scheduled task was updated.](windows\security\threat-protection\auditing\event-4702.md) -###### [Event 5888 S: An object in the COM+ Catalog was modified.](windows\security\threat-protection\auditing\event-5888.md) -###### [Event 5889 S: An object was deleted from the COM+ Catalog.](windows\security\threat-protection\auditing\event-5889.md) -###### [Event 5890 S: An object was added to the COM+ Catalog.](windows\security\threat-protection\auditing\event-5890.md) -##### [Audit Registry](windows\security\threat-protection\auditing\audit-registry.md) -###### [Event 4663 S: An attempt was made to access an object.](windows\security\threat-protection\auditing\event-4663.md) -###### [Event 4656 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4656.md) -###### [Event 4658 S: The handle to an object was closed.](windows\security\threat-protection\auditing\event-4658.md) -###### [Event 4660 S: An object was deleted.](windows\security\threat-protection\auditing\event-4660.md) -###### [Event 4657 S: A registry value was modified.](windows\security\threat-protection\auditing\event-4657.md) -###### [Event 5039: A registry key was virtualized.](windows\security\threat-protection\auditing\event-5039.md) -###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) -##### [Audit Removable Storage](windows\security\threat-protection\auditing\audit-removable-storage.md) -##### [Audit SAM](windows\security\threat-protection\auditing\audit-sam.md) -###### [Event 4661 S, F: A handle to an object was requested.](windows\security\threat-protection\auditing\event-4661.md) -##### [Audit Central Access Policy Staging](windows\security\threat-protection\auditing\audit-central-access-policy-staging.md) -###### [Event 4818 S: Proposed Central Access Policy does not grant the same access permissions as the current Central Access Policy.](windows\security\threat-protection\auditing\event-4818.md) -##### [Audit Audit Policy Change](windows\security\threat-protection\auditing\audit-audit-policy-change.md) -###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) -###### [Event 4715 S: The audit policy, SACL, on an object was changed.](windows\security\threat-protection\auditing\event-4715.md) -###### [Event 4719 S: System audit policy was changed.](windows\security\threat-protection\auditing\event-4719.md) -###### [Event 4817 S: Auditing settings on object were changed.](windows\security\threat-protection\auditing\event-4817.md) -###### [Event 4902 S: The Per-user audit policy table was created.](windows\security\threat-protection\auditing\event-4902.md) -###### [Event 4906 S: The CrashOnAuditFail value has changed.](windows\security\threat-protection\auditing\event-4906.md) -###### [Event 4907 S: Auditing settings on object were changed.](windows\security\threat-protection\auditing\event-4907.md) -###### [Event 4908 S: Special Groups Logon table modified.](windows\security\threat-protection\auditing\event-4908.md) -###### [Event 4912 S: Per User Audit Policy was changed.](windows\security\threat-protection\auditing\event-4912.md) -###### [Event 4904 S: An attempt was made to register a security event source.](windows\security\threat-protection\auditing\event-4904.md) -###### [Event 4905 S: An attempt was made to unregister a security event source.](windows\security\threat-protection\auditing\event-4905.md) -##### [Audit Authentication Policy Change](windows\security\threat-protection\auditing\audit-authentication-policy-change.md) -###### [Event 4706 S: A new trust was created to a domain.](windows\security\threat-protection\auditing\event-4706.md) -###### [Event 4707 S: A trust to a domain was removed.](windows\security\threat-protection\auditing\event-4707.md) -###### [Event 4716 S: Trusted domain information was modified.](windows\security\threat-protection\auditing\event-4716.md) -###### [Event 4713 S: Kerberos policy was changed.](windows\security\threat-protection\auditing\event-4713.md) -###### [Event 4717 S: System security access was granted to an account.](windows\security\threat-protection\auditing\event-4717.md) -###### [Event 4718 S: System security access was removed from an account.](windows\security\threat-protection\auditing\event-4718.md) -###### [Event 4739 S: Domain Policy was changed.](windows\security\threat-protection\auditing\event-4739.md) -###### [Event 4864 S: A namespace collision was detected.](windows\security\threat-protection\auditing\event-4864.md) -###### [Event 4865 S: A trusted forest information entry was added.](windows\security\threat-protection\auditing\event-4865.md) -###### [Event 4866 S: A trusted forest information entry was removed.](windows\security\threat-protection\auditing\event-4866.md) -###### [Event 4867 S: A trusted forest information entry was modified.](windows\security\threat-protection\auditing\event-4867.md) -##### [Audit Authorization Policy Change](windows\security\threat-protection\auditing\audit-authorization-policy-change.md) -###### [Event 4703 S: A user right was adjusted.](windows\security\threat-protection\auditing\event-4703.md) -###### [Event 4704 S: A user right was assigned.](windows\security\threat-protection\auditing\event-4704.md) -###### [Event 4705 S: A user right was removed.](windows\security\threat-protection\auditing\event-4705.md) -###### [Event 4670 S: Permissions on an object were changed.](windows\security\threat-protection\auditing\event-4670.md) -###### [Event 4911 S: Resource attributes of the object were changed.](windows\security\threat-protection\auditing\event-4911.md) -###### [Event 4913 S: Central Access Policy on the object was changed.](windows\security\threat-protection\auditing\event-4913.md) -##### [Audit Filtering Platform Policy Change](windows\security\threat-protection\auditing\audit-filtering-platform-policy-change.md) -##### [Audit MPSSVC Rule-Level Policy Change](windows\security\threat-protection\auditing\audit-mpssvc-rule-level-policy-change.md) -###### [Event 4944 S: The following policy was active when the Windows Firewall started.](windows\security\threat-protection\auditing\event-4944.md) -###### [Event 4945 S: A rule was listed when the Windows Firewall started.](windows\security\threat-protection\auditing\event-4945.md) -###### [Event 4946 S: A change has been made to Windows Firewall exception list. A rule was added.](windows\security\threat-protection\auditing\event-4946.md) -###### [Event 4947 S: A change has been made to Windows Firewall exception list. A rule was modified.](windows\security\threat-protection\auditing\event-4947.md) -###### [Event 4948 S: A change has been made to Windows Firewall exception list. A rule was deleted.](windows\security\threat-protection\auditing\event-4948.md) -###### [Event 4949 S: Windows Firewall settings were restored to the default values.](windows\security\threat-protection\auditing\event-4949.md) -###### [Event 4950 S: A Windows Firewall setting has changed.](windows\security\threat-protection\auditing\event-4950.md) -###### [Event 4951 F: A rule has been ignored because its major version number was not recognized by Windows Firewall.](windows\security\threat-protection\auditing\event-4951.md) -###### [Event 4952 F: Parts of a rule have been ignored because its minor version number was not recognized by Windows Firewall. The other parts of the rule will be enforced.](windows\security\threat-protection\auditing\event-4952.md) -###### [Event 4953 F: Windows Firewall ignored a rule because it could not be parsed.](windows\security\threat-protection\auditing\event-4953.md) -###### [Event 4954 S: Windows Firewall Group Policy settings have changed. The new settings have been applied.](windows\security\threat-protection\auditing\event-4954.md) -###### [Event 4956 S: Windows Firewall has changed the active profile.](windows\security\threat-protection\auditing\event-4956.md) -###### [Event 4957 F: Windows Firewall did not apply the following rule.](windows\security\threat-protection\auditing\event-4957.md) -###### [Event 4958 F: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer.](windows\security\threat-protection\auditing\event-4958.md) -##### [Audit Other Policy Change Events](windows\security\threat-protection\auditing\audit-other-policy-change-events.md) -###### [Event 4714 S: Encrypted data recovery policy was changed.](windows\security\threat-protection\auditing\event-4714.md) -###### [Event 4819 S: Central Access Policies on the machine have been changed.](windows\security\threat-protection\auditing\event-4819.md) -###### [Event 4826 S: Boot Configuration Data loaded.](windows\security\threat-protection\auditing\event-4826.md) -###### [Event 4909: The local policy settings for the TBS were changed.](windows\security\threat-protection\auditing\event-4909.md) -###### [Event 4910: The group policy settings for the TBS were changed.](windows\security\threat-protection\auditing\event-4910.md) -###### [Event 5063 S, F: A cryptographic provider operation was attempted.](windows\security\threat-protection\auditing\event-5063.md) -###### [Event 5064 S, F: A cryptographic context operation was attempted.](windows\security\threat-protection\auditing\event-5064.md) -###### [Event 5065 S, F: A cryptographic context modification was attempted.](windows\security\threat-protection\auditing\event-5065.md) -###### [Event 5066 S, F: A cryptographic function operation was attempted.](windows\security\threat-protection\auditing\event-5066.md) -###### [Event 5067 S, F: A cryptographic function modification was attempted.](windows\security\threat-protection\auditing\event-5067.md) -###### [Event 5068 S, F: A cryptographic function provider operation was attempted.](windows\security\threat-protection\auditing\event-5068.md) -###### [Event 5069 S, F: A cryptographic function property operation was attempted.](windows\security\threat-protection\auditing\event-5069.md) -###### [Event 5070 S, F: A cryptographic function property modification was attempted.](windows\security\threat-protection\auditing\event-5070.md) -###### [Event 5447 S: A Windows Filtering Platform filter has been changed.](windows\security\threat-protection\auditing\event-5447.md) -###### [Event 6144 S: Security policy in the group policy objects has been applied successfully.](windows\security\threat-protection\auditing\event-6144.md) -###### [Event 6145 F: One or more errors occurred while processing security policy in the group policy objects.](windows\security\threat-protection\auditing\event-6145.md) -##### [Audit Sensitive Privilege Use](windows\security\threat-protection\auditing\audit-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](windows\security\threat-protection\auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](windows\security\threat-protection\auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) -##### [Audit Non Sensitive Privilege Use](windows\security\threat-protection\auditing\audit-non-sensitive-privilege-use.md) -###### [Event 4673 S, F: A privileged service was called.](windows\security\threat-protection\auditing\event-4673.md) -###### [Event 4674 S, F: An operation was attempted on a privileged object.](windows\security\threat-protection\auditing\event-4674.md) -###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) -##### [Audit Other Privilege Use Events](windows\security\threat-protection\auditing\audit-other-privilege-use-events.md) -###### [Event 4985 S: The state of a transaction has changed.](windows\security\threat-protection\auditing\event-4985.md) -##### [Audit IPsec Driver](windows\security\threat-protection\auditing\audit-ipsec-driver.md) -##### [Audit Other System Events](windows\security\threat-protection\auditing\audit-other-system-events.md) -###### [Event 5024 S: The Windows Firewall Service has started successfully.](windows\security\threat-protection\auditing\event-5024.md) -###### [Event 5025 S: The Windows Firewall Service has been stopped.](windows\security\threat-protection\auditing\event-5025.md) -###### [Event 5027 F: The Windows Firewall Service was unable to retrieve the security policy from the local storage. The service will continue enforcing the current policy.](windows\security\threat-protection\auditing\event-5027.md) -###### [Event 5028 F: The Windows Firewall Service was unable to parse the new security policy. The service will continue with currently enforced policy.](windows\security\threat-protection\auditing\event-5028.md) -###### [Event 5029 F: The Windows Firewall Service failed to initialize the driver. The service will continue to enforce the current policy.](windows\security\threat-protection\auditing\event-5029.md) -###### [Event 5030 F: The Windows Firewall Service failed to start.](windows\security\threat-protection\auditing\event-5030.md) -###### [Event 5032 F: Windows Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network.](windows\security\threat-protection\auditing\event-5032.md) -###### [Event 5033 S: The Windows Firewall Driver has started successfully.](windows\security\threat-protection\auditing\event-5033.md) -###### [Event 5034 S: The Windows Firewall Driver was stopped.](windows\security\threat-protection\auditing\event-5034.md) -###### [Event 5035 F: The Windows Firewall Driver failed to start.](windows\security\threat-protection\auditing\event-5035.md) -###### [Event 5037 F: The Windows Firewall Driver detected critical runtime error. Terminating.](windows\security\threat-protection\auditing\event-5037.md) -###### [Event 5058 S, F: Key file operation.](windows\security\threat-protection\auditing\event-5058.md) -###### [Event 5059 S, F: Key migration operation.](windows\security\threat-protection\auditing\event-5059.md) -###### [Event 6400: BranchCache: Received an incorrectly formatted response while discovering availability of content.](windows\security\threat-protection\auditing\event-6400.md) -###### [Event 6401: BranchCache: Received invalid data from a peer. Data discarded.](windows\security\threat-protection\auditing\event-6401.md) -###### [Event 6402: BranchCache: The message to the hosted cache offering it data is incorrectly formatted.](windows\security\threat-protection\auditing\event-6402.md) -###### [Event 6403: BranchCache: The hosted cache sent an incorrectly formatted response to the client.](windows\security\threat-protection\auditing\event-6403.md) -###### [Event 6404: BranchCache: Hosted cache could not be authenticated using the provisioned SSL certificate.](windows\security\threat-protection\auditing\event-6404.md) -###### [Event 6405: BranchCache: %2 instances of event id %1 occurred.](windows\security\threat-protection\auditing\event-6405.md) -###### [Event 6406: %1 registered to Windows Firewall to control filtering for the following: %2.](windows\security\threat-protection\auditing\event-6406.md) -###### [Event 6407: 1%.](windows\security\threat-protection\auditing\event-6407.md) -###### [Event 6408: Registered product %1 failed and Windows Firewall is now controlling the filtering for %2.](windows\security\threat-protection\auditing\event-6408.md) -###### [Event 6409: BranchCache: A service connection point object could not be parsed.](windows\security\threat-protection\auditing\event-6409.md) -##### [Audit Security State Change](windows\security\threat-protection\auditing\audit-security-state-change.md) -###### [Event 4608 S: Windows is starting up.](windows\security\threat-protection\auditing\event-4608.md) -###### [Event 4616 S: The system time was changed.](windows\security\threat-protection\auditing\event-4616.md) -###### [Event 4621 S: Administrator recovered system from CrashOnAuditFail.](windows\security\threat-protection\auditing\event-4621.md) -##### [Audit Security System Extension](windows\security\threat-protection\auditing\audit-security-system-extension.md) -###### [Event 4610 S: An authentication package has been loaded by the Local Security Authority.](windows\security\threat-protection\auditing\event-4610.md) -###### [Event 4611 S: A trusted logon process has been registered with the Local Security Authority.](windows\security\threat-protection\auditing\event-4611.md) -###### [Event 4614 S: A notification package has been loaded by the Security Account Manager.](windows\security\threat-protection\auditing\event-4614.md) -###### [Event 4622 S: A security package has been loaded by the Local Security Authority.](windows\security\threat-protection\auditing\event-4622.md) -###### [Event 4697 S: A service was installed in the system.](windows\security\threat-protection\auditing\event-4697.md) -##### [Audit System Integrity](windows\security\threat-protection\auditing\audit-system-integrity.md) -###### [Event 4612 S: Internal resources allocated for the queuing of audit messages have been exhausted, leading to the loss of some audits.](windows\security\threat-protection\auditing\event-4612.md) -###### [Event 4615 S: Invalid use of LPC port.](windows\security\threat-protection\auditing\event-4615.md) -###### [Event 4618 S: A monitored security event pattern has occurred.](windows\security\threat-protection\auditing\event-4618.md) -###### [Event 4816 S: RPC detected an integrity violation while decrypting an incoming message.](windows\security\threat-protection\auditing\event-4816.md) -###### [Event 5038 F: Code integrity determined that the image hash of a file is not valid.](windows\security\threat-protection\auditing\event-5038.md) -###### [Event 5056 S: A cryptographic self-test was performed.](windows\security\threat-protection\auditing\event-5056.md) -###### [Event 5062 S: A kernel-mode cryptographic self-test was performed.](windows\security\threat-protection\auditing\event-5062.md) -###### [Event 5057 F: A cryptographic primitive operation failed.](windows\security\threat-protection\auditing\event-5057.md) -###### [Event 5060 F: Verification operation failed.](windows\security\threat-protection\auditing\event-5060.md) -###### [Event 5061 S, F: Cryptographic operation.](windows\security\threat-protection\auditing\event-5061.md) -###### [Event 6281 F: Code Integrity determined that the page hashes of an image file are not valid.](windows\security\threat-protection\auditing\event-6281.md) -###### [Event 6410 F: Code integrity determined that a file does not meet the security requirements to load into a process.](windows\security\threat-protection\auditing\event-6410.md) -##### [Other Events](windows\security\threat-protection\auditing\other-events.md) -###### [Event 1100 S: The event logging service has shut down.](windows\security\threat-protection\auditing\event-1100.md) -###### [Event 1102 S: The audit log was cleared.](windows\security\threat-protection\auditing\event-1102.md) -###### [Event 1104 S: The security log is now full.](windows\security\threat-protection\auditing\event-1104.md) -###### [Event 1105 S: Event log automatic backup.](windows\security\threat-protection\auditing\event-1105.md) -###### [Event 1108 S: The event logging service encountered an error while processing an incoming event published from %1.](windows\security\threat-protection\auditing\event-1108.md) -##### [Appendix A: Security monitoring recommendations for many audit events](windows\security\threat-protection\auditing\appendix-a-security-monitoring-recommendations-for-many-audit-events.md) -##### [Registry (Global Object Access Auditing) ](windows\security\threat-protection\auditing\registry-global-object-access-auditing.md) -##### [File System (Global Object Access Auditing) ](windows\security\threat-protection\auditing\file-system-global-object-access-auditing.md) - -## [Security policy settings](security-policy-settings/security-policy-settings.md) -### [Administer security policy settings](security-policy-settings/administer-security-policy-settings.md) -#### [Network List Manager policies](security-policy-settings/network-list-manager-policies.md) -### [Configure security policy settings](security-policy-settings/how-to-configure-security-policy-settings.md) -### [Security policy settings reference](security-policy-settings/security-policy-settings-reference.md) -#### [Account Policies](security-policy-settings/account-policies.md) -##### [Password Policy](security-policy-settings/password-policy.md) -###### [Enforce password history](security-policy-settings/enforce-password-history.md) -###### [Maximum password age](security-policy-settings/maximum-password-age.md) -###### [Minimum password age](security-policy-settings/minimum-password-age.md) -###### [Minimum password length](security-policy-settings/minimum-password-length.md) -###### [Password must meet complexity requirements](security-policy-settings/password-must-meet-complexity-requirements.md) -###### [Store passwords using reversible encryption](security-policy-settings/store-passwords-using-reversible-encryption.md) -##### [Account Lockout Policy](security-policy-settings/account-lockout-policy.md) -###### [Account lockout duration](security-policy-settings/account-lockout-duration.md) -###### [Account lockout threshold](security-policy-settings/account-lockout-threshold.md) -###### [Reset account lockout counter after](security-policy-settings/reset-account-lockout-counter-after.md) -##### [Kerberos Policy](security-policy-settings/kerberos-policy.md) -###### [Enforce user logon restrictions](security-policy-settings/enforce-user-logon-restrictions.md) -###### [Maximum lifetime for service ticket](security-policy-settings/maximum-lifetime-for-service-ticket.md) -###### [Maximum lifetime for user ticket](security-policy-settings/maximum-lifetime-for-user-ticket.md) -###### [Maximum lifetime for user ticket renewal](security-policy-settings/maximum-lifetime-for-user-ticket-renewal.md) -###### [Maximum tolerance for computer clock synchronization](security-policy-settings/maximum-tolerance-for-computer-clock-synchronization.md) -#### [Audit Policy](security-policy-settings/audit-policy.md) -#### [Security Options](security-policy-settings/security-options.md) -##### [Accounts: Administrator account status](security-policy-settings/accounts-administrator-account-status.md) -##### [Accounts: Block Microsoft accounts](security-policy-settings/accounts-block-microsoft-accounts.md) -##### [Accounts: Guest account status](security-policy-settings/accounts-guest-account-status.md) -##### [Accounts: Limit local account use of blank passwords to console logon only](security-policy-settings/accounts-limit-local-account-use-of-blank-passwords-to-console-logon-only.md) -##### [Accounts: Rename administrator account](security-policy-settings/accounts-rename-administrator-account.md) -##### [Accounts: Rename guest account](security-policy-settings/accounts-rename-guest-account.md) -##### [Audit: Audit the access of global system objects](security-policy-settings/audit-audit-the-access-of-global-system-objects.md) -##### [Audit: Audit the use of Backup and Restore privilege](security-policy-settings/audit-audit-the-use-of-backup-and-restore-privilege.md) -##### [Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings](security-policy-settings/audit-force-audit-policy-subcategory-settings-to-override.md) -##### [Audit: Shut down system immediately if unable to log security audits](security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md) -##### [DCOM: Machine Access Restrictions in Security Descriptor Definition Language (SDDL) syntax](security-policy-settings/dcom-machine-access-restrictions-in-security-descriptor-definition-language-sddl-syntax.md) -##### [DCOM: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax](security-policy-settings/dcom-machine-launch-restrictions-in-security-descriptor-definition-language-sddl-syntax.md) -##### [Devices: Allow undock without having to log on](security-policy-settings/devices-allow-undock-without-having-to-log-on.md) -##### [Devices: Allowed to format and eject removable media](security-policy-settings/devices-allowed-to-format-and-eject-removable-media.md) -##### [Devices: Prevent users from installing printer drivers](security-policy-settings/devices-prevent-users-from-installing-printer-drivers.md) -##### [Devices: Restrict CD-ROM access to locally logged-on user only](security-policy-settings/devices-restrict-cd-rom-access-to-locally-logged-on-user-only.md) -##### [Devices: Restrict floppy access to locally logged-on user only](security-policy-settings/devices-restrict-floppy-access-to-locally-logged-on-user-only.md) -##### [Domain controller: Allow server operators to schedule tasks](security-policy-settings/domain-controller-allow-server-operators-to-schedule-tasks.md) -##### [Domain controller: LDAP server signing requirements](security-policy-settings/domain-controller-ldap-server-signing-requirements.md) -##### [Domain controller: Refuse machine account password changes](security-policy-settings/domain-controller-refuse-machine-account-password-changes.md) -##### [Domain member: Digitally encrypt or sign secure channel data (always)](security-policy-settings/domain-member-digitally-encrypt-or-sign-secure-channel-data-always.md) -##### [Domain member: Digitally encrypt secure channel data (when possible)](security-policy-settings/domain-member-digitally-encrypt-secure-channel-data-when-possible.md) -##### [Domain member: Digitally sign secure channel data (when possible)](security-policy-settings/domain-member-digitally-sign-secure-channel-data-when-possible.md) -##### [Domain member: Disable machine account password changes](security-policy-settings/domain-member-disable-machine-account-password-changes.md) -##### [Domain member: Maximum machine account password age](security-policy-settings/domain-member-maximum-machine-account-password-age.md) -##### [Domain member: Require strong (Windows 2000 or later) session key](security-policy-settings/domain-member-require-strong-windows-2000-or-later-session-key.md) -##### [Interactive logon: Display user information when the session is locked](security-policy-settings/interactive-logon-display-user-information-when-the-session-is-locked.md) -##### [Interactive logon: Don't display last signed-in](security-policy-settings/interactive-logon-do-not-display-last-user-name.md) -##### [Interactive logon: Don't display username at sign-in](security-policy-settings/interactive-logon-dont-display-username-at-sign-in.md) -##### [Interactive logon: Do not require CTRL+ALT+DEL](security-policy-settings/interactive-logon-do-not-require-ctrl-alt-del.md) -##### [Interactive logon: Machine account lockout threshold](security-policy-settings/interactive-logon-machine-account-lockout-threshold.md) -##### [Interactive logon: Machine inactivity limit](security-policy-settings/interactive-logon-machine-inactivity-limit.md) -##### [Interactive logon: Message text for users attempting to log on](security-policy-settings/interactive-logon-message-text-for-users-attempting-to-log-on.md) -##### [Interactive logon: Message title for users attempting to log on](security-policy-settings/interactive-logon-message-title-for-users-attempting-to-log-on.md) -##### [Interactive logon: Number of previous logons to cache (in case domain controller is not available)](security-policy-settings/interactive-logon-number-of-previous-logons-to-cache-in-case-domain-controller-is-not-available.md) -##### [Interactive logon: Prompt user to change password before expiration](security-policy-settings/interactive-logon-prompt-user-to-change-password-before-expiration.md) -##### [Interactive logon: Require Domain Controller authentication to unlock workstation](security-policy-settings/interactive-logon-require-domain-controller-authentication-to-unlock-workstation.md) -##### [Interactive logon: Require smart card](security-policy-settings/interactive-logon-require-smart-card.md) -##### [Interactive logon: Smart card removal behavior](security-policy-settings/interactive-logon-smart-card-removal-behavior.md) -##### [Microsoft network client: Digitally sign communications (always)](security-policy-settings/microsoft-network-client-digitally-sign-communications-always.md) -##### [Microsoft network client: Digitally sign communications (if server agrees)](security-policy-settings/microsoft-network-client-digitally-sign-communications-if-server-agrees.md) -##### [Microsoft network client: Send unencrypted password to third-party SMB servers](security-policy-settings/microsoft-network-client-send-unencrypted-password-to-third-party-smb-servers.md) -##### [Microsoft network server: Amount of idle time required before suspending session](security-policy-settings/microsoft-network-server-amount-of-idle-time-required-before-suspending-session.md) -##### [Microsoft network server: Attempt S4U2Self to obtain claim information](security-policy-settings/microsoft-network-server-attempt-s4u2self-to-obtain-claim-information.md) -##### [Microsoft network server: Digitally sign communications (always)](security-policy-settings/microsoft-network-server-digitally-sign-communications-always.md) -##### [Microsoft network server: Digitally sign communications (if client agrees)](security-policy-settings/microsoft-network-server-digitally-sign-communications-if-client-agrees.md) -##### [Microsoft network server: Disconnect clients when logon hours expire](security-policy-settings/microsoft-network-server-disconnect-clients-when-logon-hours-expire.md) -##### [Microsoft network server: Server SPN target name validation level](security-policy-settings/microsoft-network-server-server-spn-target-name-validation-level.md) -##### [Network access: Allow anonymous SID/Name translation](security-policy-settings/network-access-allow-anonymous-sidname-translation.md) -##### [Network access: Do not allow anonymous enumeration of SAM accounts](security-policy-settings/network-access-do-not-allow-anonymous-enumeration-of-sam-accounts.md) -##### [Network access: Do not allow anonymous enumeration of SAM accounts and shares](security-policy-settings/network-access-do-not-allow-anonymous-enumeration-of-sam-accounts-and-shares.md) -##### [Network access: Do not allow storage of passwords and credentials for network authentication](security-policy-settings/network-access-do-not-allow-storage-of-passwords-and-credentials-for-network-authentication.md) -##### [Network access: Let Everyone permissions apply to anonymous users](security-policy-settings/network-access-let-everyone-permissions-apply-to-anonymous-users.md) -##### [Network access: Named Pipes that can be accessed anonymously](security-policy-settings/network-access-named-pipes-that-can-be-accessed-anonymously.md) -##### [Network access: Remotely accessible registry paths](security-policy-settings/network-access-remotely-accessible-registry-paths.md) -##### [Network access: Remotely accessible registry paths and subpaths](security-policy-settings/network-access-remotely-accessible-registry-paths-and-subpaths.md) -##### [Network access: Restrict anonymous access to Named Pipes and Shares](security-policy-settings/network-access-restrict-anonymous-access-to-named-pipes-and-shares.md) -##### [Network access: Restrict clients allowed to make remote calls to SAM](security-policy-settings/network-access-restrict-clients-allowed-to-make-remote-sam-calls.md) -##### [Network access: Shares that can be accessed anonymously](security-policy-settings/network-access-shares-that-can-be-accessed-anonymously.md) -##### [Network access: Sharing and security model for local accounts](security-policy-settings/network-access-sharing-and-security-model-for-local-accounts.md) -##### [Network security: Allow Local System to use computer identity for NTLM](security-policy-settings/network-security-allow-local-system-to-use-computer-identity-for-ntlm.md) -##### [Network security: Allow LocalSystem NULL session fallback](security-policy-settings/network-security-allow-localsystem-null-session-fallback.md) -##### [Network security: Allow PKU2U authentication requests to this computer to use online identities](security-policy-settings/network-security-allow-pku2u-authentication-requests-to-this-computer-to-use-online-identities.md) -##### [Network security: Configure encryption types allowed for Kerberos Win7 only](security-policy-settings/network-security-configure-encryption-types-allowed-for-kerberos.md) -##### [Network security: Do not store LAN Manager hash value on next password change](security-policy-settings/network-security-do-not-store-lan-manager-hash-value-on-next-password-change.md) -##### [Network security: Force logoff when logon hours expire](security-policy-settings/network-security-force-logoff-when-logon-hours-expire.md) -##### [Network security: LAN Manager authentication level](security-policy-settings/network-security-lan-manager-authentication-level.md) -##### [Network security: LDAP client signing requirements](security-policy-settings/network-security-ldap-client-signing-requirements.md) -##### [Network security: Minimum session security for NTLM SSP based (including secure RPC) clients](security-policy-settings/network-security-minimum-session-security-for-ntlm-ssp-based-including-secure-rpc-clients.md) -##### [Network security: Minimum session security for NTLM SSP based (including secure RPC) servers](security-policy-settings/network-security-minimum-session-security-for-ntlm-ssp-based-including-secure-rpc-servers.md) -##### [Network security: Restrict NTLM: Add remote server exceptions for NTLM authentication](security-policy-settings/network-security-restrict-ntlm-add-remote-server-exceptions-for-ntlm-authentication.md) -##### [Network security: Restrict NTLM: Add server exceptions in this domain](security-policy-settings/network-security-restrict-ntlm-add-server-exceptions-in-this-domain.md) -##### [Network security: Restrict NTLM: Audit incoming NTLM traffic](security-policy-settings/network-security-restrict-ntlm-audit-incoming-ntlm-traffic.md) -##### [Network security: Restrict NTLM: Audit NTLM authentication in this domain](security-policy-settings/network-security-restrict-ntlm-audit-ntlm-authentication-in-this-domain.md) -##### [Network security: Restrict NTLM: Incoming NTLM traffic](security-policy-settings/network-security-restrict-ntlm-incoming-ntlm-traffic.md) -##### [Network security: Restrict NTLM: NTLM authentication in this domain](security-policy-settings/network-security-restrict-ntlm-ntlm-authentication-in-this-domain.md) -##### [Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers](security-policy-settings/network-security-restrict-ntlm-outgoing-ntlm-traffic-to-remote-servers.md) -##### [Recovery console: Allow automatic administrative logon](security-policy-settings/recovery-console-allow-automatic-administrative-logon.md) -##### [Recovery console: Allow floppy copy and access to all drives and folders](security-policy-settings/recovery-console-allow-floppy-copy-and-access-to-all-drives-and-folders.md) -##### [Shutdown: Allow system to be shut down without having to log on](security-policy-settings/shutdown-allow-system-to-be-shut-down-without-having-to-log-on.md) -##### [Shutdown: Clear virtual memory pagefile](security-policy-settings/shutdown-clear-virtual-memory-pagefile.md) -##### [System cryptography: Force strong key protection for user keys stored on the computer](security-policy-settings/system-cryptography-force-strong-key-protection-for-user-keys-stored-on-the-computer.md) -##### [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md) -##### [System objects: Require case insensitivity for non-Windows subsystems](security-policy-settings/system-objects-require-case-insensitivity-for-non-windows-subsystems.md) -##### [System objects: Strengthen default permissions of internal system objects (e.g. Symbolic Links)](security-policy-settings/system-objects-strengthen-default-permissions-of-internal-system-objects.md) -##### [System settings: Optional subsystems](security-policy-settings/system-settings-optional-subsystems.md) -##### [System settings: Use certificate rules on Windows executables for Software Restriction Policies](security-policy-settings/system-settings-use-certificate-rules-on-windows-executables-for-software-restriction-policies.md) -##### [User Account Control: Admin Approval Mode for the Built-in Administrator account](security-policy-settings/user-account-control-admin-approval-mode-for-the-built-in-administrator-account.md) -##### [User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop](security-policy-settings/user-account-control-allow-uiaccess-applications-to-prompt-for-elevation-without-using-the-secure-desktop.md) -##### [User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode](security-policy-settings/user-account-control-behavior-of-the-elevation-prompt-for-administrators-in-admin-approval-mode.md) -##### [User Account Control: Behavior of the elevation prompt for standard users](security-policy-settings/user-account-control-behavior-of-the-elevation-prompt-for-standard-users.md) -##### [User Account Control: Detect application installations and prompt for elevation](security-policy-settings/user-account-control-detect-application-installations-and-prompt-for-elevation.md) -##### [User Account Control: Only elevate executables that are signed and validated](security-policy-settings/user-account-control-only-elevate-executables-that-are-signed-and-validated.md) -##### [User Account Control: Only elevate UIAccess applications that are installed in secure locations](security-policy-settings/user-account-control-only-elevate-uiaccess-applications-that-are-installed-in-secure-locations.md) -##### [User Account Control: Run all administrators in Admin Approval Mode](security-policy-settings/user-account-control-run-all-administrators-in-admin-approval-mode.md) -##### [User Account Control: Switch to the secure desktop when prompting for elevation](security-policy-settings/user-account-control-switch-to-the-secure-desktop-when-prompting-for-elevation.md) -##### [User Account Control: Virtualize file and registry write failures to per-user locations](security-policy-settings/user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations.md) -#### [Advanced security audit policy settings](security-policy-settings/secpol-advanced-security-audit-policy-settings.md) -#### [User Rights Assignment](security-policy-settings/user-rights-assignment.md) -##### [Access Credential Manager as a trusted caller](security-policy-settings/access-credential-manager-as-a-trusted-caller.md) -##### [Access this computer from the network](security-policy-settings/access-this-computer-from-the-network.md) -##### [Act as part of the operating system](security-policy-settings/act-as-part-of-the-operating-system.md) -##### [Add workstations to domain](security-policy-settings/add-workstations-to-domain.md) -##### [Adjust memory quotas for a process](security-policy-settings/adjust-memory-quotas-for-a-process.md) -##### [Allow log on locally](security-policy-settings/allow-log-on-locally.md) -##### [Allow log on through Remote Desktop Services](security-policy-settings/allow-log-on-through-remote-desktop-services.md) -##### [Back up files and directories](security-policy-settings/back-up-files-and-directories.md) -##### [Bypass traverse checking](security-policy-settings/bypass-traverse-checking.md) -##### [Change the system time](security-policy-settings/change-the-system-time.md) -##### [Change the time zone](security-policy-settings/change-the-time-zone.md) -##### [Create a pagefile](security-policy-settings/create-a-pagefile.md) -##### [Create a token object](security-policy-settings/create-a-token-object.md) -##### [Create global objects](security-policy-settings/create-global-objects.md) -##### [Create permanent shared objects](security-policy-settings/create-permanent-shared-objects.md) -##### [Create symbolic links](security-policy-settings/create-symbolic-links.md) -##### [Debug programs](security-policy-settings/debug-programs.md) -##### [Deny access to this computer from the network](security-policy-settings/deny-access-to-this-computer-from-the-network.md) -##### [Deny log on as a batch job](security-policy-settings/deny-log-on-as-a-batch-job.md) -##### [Deny log on as a service](security-policy-settings/deny-log-on-as-a-service.md) -##### [Deny log on locally](security-policy-settings/deny-log-on-locally.md) -##### [Deny log on through Remote Desktop Services](security-policy-settings/deny-log-on-through-remote-desktop-services.md) -##### [Enable computer and user accounts to be trusted for delegation](security-policy-settings/enable-computer-and-user-accounts-to-be-trusted-for-delegation.md) -##### [Force shutdown from a remote system](security-policy-settings/force-shutdown-from-a-remote-system.md) -##### [Generate security audits](security-policy-settings/generate-security-audits.md) -##### [Impersonate a client after authentication](security-policy-settings/impersonate-a-client-after-authentication.md) -##### [Increase a process working set](security-policy-settings/increase-a-process-working-set.md) -##### [Increase scheduling priority](security-policy-settings/increase-scheduling-priority.md) -##### [Load and unload device drivers](security-policy-settings/load-and-unload-device-drivers.md) -##### [Lock pages in memory](security-policy-settings/lock-pages-in-memory.md) -##### [Log on as a batch job](security-policy-settings/log-on-as-a-batch-job.md) -##### [Log on as a service](security-policy-settings/log-on-as-a-service.md) -##### [Manage auditing and security log](security-policy-settings/manage-auditing-and-security-log.md) -##### [Modify an object label](security-policy-settings/modify-an-object-label.md) -##### [Modify firmware environment values](security-policy-settings/modify-firmware-environment-values.md) -##### [Perform volume maintenance tasks](security-policy-settings/perform-volume-maintenance-tasks.md) -##### [Profile single process](security-policy-settings/profile-single-process.md) -##### [Profile system performance](security-policy-settings/profile-system-performance.md) -##### [Remove computer from docking station](security-policy-settings/remove-computer-from-docking-station.md) -##### [Replace a process level token](security-policy-settings/replace-a-process-level-token.md) -##### [Restore files and directories](security-policy-settings/restore-files-and-directories.md) -##### [Shut down the system](security-policy-settings/shut-down-the-system.md) -##### [Synchronize directory service data](security-policy-settings/synchronize-directory-service-data.md) -##### [Take ownership of files or other objects](security-policy-settings/take-ownership-of-files-or-other-objects.md) - - -## [Windows security baselines](windows-security-baselines.md) -### [Security Compliance Toolkit](security-compliance-toolkit-10.md) -### [Get support](get-support-for-security-baselines.md) - -## [Windows 10 Mobile security guide](windows-10-mobile-security-guide.md) - -## [Change history for Threat protection](change-history-for-threat-protection.md) From f10f5fd21bf5f6182ab1aee545f0debc9c6f65ee Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Feb 2018 15:53:07 -0800 Subject: [PATCH 020/212] added design topics --- ...r-application-control-planning-document.md | 12 +++++------- ...fender-application-control-design-guide.md | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md index fefef36e9f..2a67fc269a 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md @@ -1,5 +1,5 @@ --- -title: Create your Windows Defender Aaplication Control (WDAC) planning document (Windows 10) +title: Create your Windows Defender Application Control (WDAC) planning document (Windows 10) description: This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. ms.assetid: 41e49644-baf4-4514-b089-88adae2d624e ms.prod: w10 @@ -10,7 +10,7 @@ author: brianlic-msft ms.date: 09/21/2017 --- -# Create your Windows Defender Aaplication Control (WDAC) planning document +# Create your Windows Defender Application Control (WDAC) planning document **Applies to** - Windows 10 @@ -24,11 +24,9 @@ The design process and the planning document help you investigate application us You should have completed these steps in the design and planning process: -1. [Determine your application control objectives](determine-your-application-control-objectives.md) -2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) -3. [Select types of rules to create](select-types-of-rules-to-create.md) -4. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -5. [Plan for WDAC policy management](document-your-windows-defender-application-control-management-processes.md) +1. [Select types of rules to create](select-types-of-rules-to-create.md) +2. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) +3. [Plan for WDAC policy management](document-your-windows-defender-application-control-management-processes.md) ### WDAC planning document contents diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md index 9baa1f6cb6..9348945f63 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md @@ -12,6 +12,21 @@ ms.date: 02/20/2018 # Windows Defender Application Control design guide **Applies to** -- Windows 10 -- Windows Server 2016 + - Windows 10 + - Windows Server +This guide covers design and planning for Windows Defender Application Control (WDAC). It is intended to help security architects, security administrators, and system administrators create a plan that addresses specific application control requirements for different departments or business groups within an organization. + + +## In this section + +| Topic | Description | +| - | - | +| [Understand WDAC policy design decisions](understand-windows-defender-application-control-policy-design-decisions.md) | This topic for the IT professional lists the design questions, possible answers, and ramifications of the decisions when you plan a deployment of application control policies by using AppLocker within a Windows operating system environment. | +| [Select the types of rules to create](select-types-of-rules-to-create.md) | This topic lists resources you can use when selecting your application control policy rules by using AppLocker. | +| [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) | This overview topic describes the process to follow when you are planning to deploy AppLocker rules. | +| [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) | This topic for describes the decisions you need to make to establish the processes for managing and maintaining AppLocker policies. | +| [Create your AppLocker planning document](create-your-applocker-planning-document.md) | This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. | +  +After careful design and detailed planning, the next step is to deploy AppLocker policies. [AppLocker Deployment Guide](applocker-policies-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies. +  \ No newline at end of file From 9c561bcf1c629e6446ff83f160a2f39e092ab759 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 26 Feb 2018 13:19:50 -0800 Subject: [PATCH 021/212] revised planning topics --- ...r-application-control-planning-document.md | 5 ++--- ...pplication-control-management-processes.md | 21 ++++++++----------- ...fender-application-control-design-guide.md | 11 +++++----- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md index 2a67fc269a..0a30966f96 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md @@ -1,6 +1,6 @@ --- title: Create your Windows Defender Application Control (WDAC) planning document (Windows 10) -description: This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. +description: This planning topic for the IT professional summarizes the information you need to research and include in your WDAC planning document. ms.assetid: 41e49644-baf4-4514-b089-88adae2d624e ms.prod: w10 ms.mktglfcycl: deploy @@ -25,8 +25,7 @@ The design process and the planning document help you investigate application us You should have completed these steps in the design and planning process: 1. [Select types of rules to create](select-types-of-rules-to-create.md) -2. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -3. [Plan for WDAC policy management](document-your-windows-defender-application-control-management-processes.md) +2. [Plan for WDAC policy management](document-your-windows-defender-application-control-management-processes.md) ### WDAC planning document contents diff --git a/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md index a0b879a4c5..c341fd400b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md +++ b/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md @@ -1,6 +1,6 @@ --- title: Document your application control management processes (Windows 10) -description: This planning topic describes the AppLocker policy maintenance information to record for your design document. +description: This planning topic describes the WDAC policy maintenance information to record for your design document. ms.assetid: 6397f789-0e36-4933-9f86-f3f6489cf1fb ms.prod: w10 ms.mktglfcycl: deploy @@ -16,19 +16,16 @@ ms.date: 09/21/2017 - Windows 10 - Windows Server -This planning topic describes the AppLocker policy maintenance information to record for your design document. +This planning topic describes the Windows Defender Application Control (WDAC) policy maintenance information to record for your design document. ## Record your findings -To complete this AppLocker planning document, you should first complete the following steps: +To complete this planning document, you should first complete the following steps: -1. [Determine your application control objectives](determine-your-application-control-objectives.md) -2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) 3. [Select the types of rules to create](select-types-of-rules-to-create.md) -4. [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) +5. [Plan for AppLocker policy management](plan-windows-defender-application-control-management.md) -The three key areas to determine for AppLocker policy management are: +The three key areas to determine for WDAC policy management are: 1. Support policy @@ -42,7 +39,7 @@ The three key areas to determine for AppLocker policy management are: Detail how rules will be added to the policy, in which Group Policy Object (GPO) the rules should be defined, and how to modify rules when apps are retired, updated, or added. -The following table contains the added sample data that was collected when determining how to maintain and manage AppLocker policies. +The following table contains the added sample data that was collected when determining how to maintain and manage WDAC policies. @@ -60,7 +57,7 @@ The following table contains the added sample data that was collected when deter - + @@ -101,7 +98,7 @@ The following table contains the added sample data that was collected when deter - + @@ -141,7 +138,7 @@ The following table contains the added sample data that was collected when deter
Business group Organizational unitImplement AppLocker?Implement WDAC? Apps Installation path Use default rule or define new rule condition

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

HR-WDACHRRules

Web help

  -The following two tables illustrate examples of documenting considerations to maintain and manage AppLocker policies. +The following two tables illustrate examples of documenting considerations to maintain and manage WDAC policies. **Event processing policy** diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md index 9348945f63..93acc071ac 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md @@ -22,11 +22,10 @@ This guide covers design and planning for Windows Defender Application Control ( | Topic | Description | | - | - | -| [Understand WDAC policy design decisions](understand-windows-defender-application-control-policy-design-decisions.md) | This topic for the IT professional lists the design questions, possible answers, and ramifications of the decisions when you plan a deployment of application control policies by using AppLocker within a Windows operating system environment. | -| [Select the types of rules to create](select-types-of-rules-to-create.md) | This topic lists resources you can use when selecting your application control policy rules by using AppLocker. | -| [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) | This overview topic describes the process to follow when you are planning to deploy AppLocker rules. | -| [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) | This topic for describes the decisions you need to make to establish the processes for managing and maintaining AppLocker policies. | -| [Create your AppLocker planning document](create-your-applocker-planning-document.md) | This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. | +| [Understand WDAC policy design decisions](understand-windows-defender-application-control-policy-design-decisions.md) | This topic lists the design questions, possible answers, and ramifications of the decisions when you plan a deployment of application control policies. | +| [Select the types of rules to create](select-types-of-rules-to-create.md) | This topic lists resources you can use when selecting your application control policy rules by using WDAC. | +| [Plan for WDAC policy management](plan-windows-defender-application-control-management.md) | This topic describes the decisions you need to make to establish the processes for managing and maintaining WDAC policies. | +| [Create your AppLocker planning document](create-your-windows-defender-application-control-planning-document.md) | This planning topic summarizes the information you need to research and include in your planning document. |   -After careful design and detailed planning, the next step is to deploy AppLocker policies. [AppLocker Deployment Guide](applocker-policies-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies. +After planning is complete, the next step is to deploy WDAC. [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies.   \ No newline at end of file From 42fe951b6036fd0bbcc90ff4bc0989a18fcc7dcc Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 26 Feb 2018 14:40:05 -0800 Subject: [PATCH 022/212] revised planning topics --- ...ion-control-policy-rules-and-file-rules.md | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md index 891d33a3be..df5cf56838 100644 --- a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md +++ b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md @@ -15,18 +15,7 @@ ms.date: 10/20/2017 - Windows 10 - Windows Server 2016 -Windows Defender Application Control (WDAC) provides control over a computer running Windows 10 by specifying whether a driver or application is trusted and can be run. For an overview of WDAC, see: -- [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) in "Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control." -- [Windows Defender Application Control policy formats and signing](requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-application-control-policy-formats-and-signing) in "Requirements and deployment planning guidelines for Windows Defender Device Guard." - -If you already understand the basics of WDAC and want procedures for creating, auditing, and merging WDAC policies, see [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md). - -This topic includes the following sections: - -- [Overview of the process of creating Windows Defender Application Control policies](#overview-of-the-process-of-creating-windows-defender-application-control-policies): Helps familiarize you with the process described in this and related topics. -- [Windows Defender Application Control policy rules](#windows-defender-application-control-policy-rules): Describes one key element you specify in a policy, the *policy rules*, which control options such as audit mode or whether user mode code integrity (UMCI) is enabled in a WDAC policy. -- [Windows Defender Application Control file rule levels](#windows-defender-application-control-file-rule-levels): Describes the other key element you specify in a policy, the *file rules* (or *file rule levels*), which specify the level at which applications will be identified and trusted. -- [Example of file rule levels in use](#example-of-file-rule-levels-in-use): Gives an example of how file rule levels can be applied. +Windows Defender Application Control (WDAC) provides control over a computer running Windows 10 by using policies that specify whether a driver or application is trusted and can be run. A policy includes *policy rules* that control options such as audit mode or whether user mode code integrity (UMCI) is enabled in a WDAC policy, and *file rules* (or *file rule levels*) that specify the level at which applications will be identified and trusted. ## Overview of the process of creating Windows Defender Application Control policies @@ -40,9 +29,7 @@ If you plan to use an internal CA to sign catalog files or WDAC policies, see th ## Windows Defender Application Control policy rules -WDAC policies include *policy rules*, which control options such as audit mode or whether UMCI is enabled in a WDAC policy. You can modify these options in a new or existing WDAC policy. (For information about *file rules*, which specify the level at which applications will be identified and trusted, see the next section, [Windows Defender Application Control file rule levels](#windows-defender-application-control-file-rule-levels).) - -To modify the policy rule options of an existing WDAC policy, use the [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) Windows PowerShell cmdlet. Note the following examples of how to use this cmdlet to add and remove a rule option on an existing WDAC policy: +To modify the policy rule options of an existing WDAC policy, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). Note the following examples of how to use this cmdlet to add and remove a rule option on an existing WDAC policy: - To ensure that UMCI is enabled for a WDAC policy that was created with the `-UserPEs` (user mode) option, add rule option 0 to an existing policy by running the following command: @@ -54,12 +41,9 @@ To modify the policy rule options of an existing WDAC policy, use the [Set-RuleO ` Set-RuleOption -FilePath -Option 0 -Delete` -You can set several rule options within a WDAC policy. To display a list of rule options, you can type **Set- -RuleOption -Help** in a Windows PowerShell session. Table 2 describes each rule option. +You can set several rule options within a WDAC policy. Table 2 describes each rule option. -> **Note**  **Enabled:Audit Mode** is an important rule option. We recommend that you use this option for a period of time with all new WDAC policies, because it allows you to test them before you enforce them. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. To expand the policy so that (when enforced) it will allow these applications, you can use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. - -> The mode—audit mode or enforced mode—is set by including or deleting **Enabled:Audit Mode** in the WDAC policy. When this option is deleted, the policy runs in enforced mode. +> [!NOTE] We recommend that you use **Enabled:Audit Mode** initially because it allows you to test new WDAC policies before you enforce them. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. allow these applications, you can capture the policy information from the event log, and then merge that information into the existing policy. When the **Enabled:Audit Mode** is deleted, the policy runs in enforced mode. **Table 2. Windows Defender Application Control policy - policy rule options** From ade210d2b80965d648275e61d238242bf02b359e Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 10:58:31 -0800 Subject: [PATCH 023/212] fixed notes --- ...-application-control-policy-rules-and-file-rules.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md index df5cf56838..8ac2e657c3 100644 --- a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md +++ b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md @@ -6,7 +6,7 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.localizationpriority: high author: brianlic-msft -ms.date: 10/20/2017 +ms.date: 02/27/2018 --- # Deploy Windows Defender Application Control: policy rules and file rules @@ -43,7 +43,8 @@ To modify the policy rule options of an existing WDAC policy, use [Set-RuleOptio You can set several rule options within a WDAC policy. Table 2 describes each rule option. -> [!NOTE] We recommend that you use **Enabled:Audit Mode** initially because it allows you to test new WDAC policies before you enforce them. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. allow these applications, you can capture the policy information from the event log, and then merge that information into the existing policy. When the **Enabled:Audit Mode** is deleted, the policy runs in enforced mode. +> [!NOTE] +> We recommend that you use **Enabled:Audit Mode** initially because it allows you to test new WDAC policies before you enforce them. With audit mode, no application is blocked—instead the policy logs an event whenever an application outside the policy is started. To allow these applications, you can capture the policy information from the event log, and then merge that information into the existing policy. When the **Enabled:Audit Mode** is deleted, the policy runs in enforced mode. **Table 2. Windows Defender Application Control policy - policy rule options** @@ -89,13 +90,14 @@ Table 3. Windows Defender Application Control policy - file rule levels | **WHQLPublisher** | This is a combination of the WHQL and the CN on the leaf certificate and is primarily for kernel binaries. | | **WHQLFilePublisher** | Specifies that the binaries are validated and signed by WHQL, with a specific publisher (WHQLPublisher), and that the binary is the specified version or newer. This is primarily for kernel binaries. | -> **Note**  When you create WDAC policies with the [New-CIPolicy](https://technet.microsoft.com/library/mt634473.aspx) cmdlet, you can specify a primary file rule level by including the **-Level** parameter. For discovered binaries that cannot be trusted based on the primary file rule criteria, use the **-Fallback** parameter. For example, if the primary file rule level is PCACertificate but you would like to trust the unsigned applications as well, using the Hash rule level as a fallback adds the hash values of binaries that did not have a signing certificate. +> [!NOTE] +> When you create WDAC policies with [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), you can specify a primary file rule level by including the **-Level** parameter. For discovered binaries that cannot be trusted based on the primary file rule criteria, use the **-Fallback** parameter. For example, if the primary file rule level is PCACertificate but you would like to trust the unsigned applications as well, using the Hash rule level as a fallback adds the hash values of binaries that did not have a signing certificate. ## Example of file rule levels in use For example, consider some IT professionals in a department that runs many servers. They decide they want their servers to run only software signed by the providers of their software and drivers, that is, the companies that provide their hardware, operating system, antivirus, and other important software. They know that their servers also run an internally written application that is unsigned but is rarely updated. They want to allow this application to run. -To create the WDAC policy, they build a reference server on their standard hardware, and install all of the software that their servers are known to run. Then they run [New-CIPolicy](https://technet.microsoft.com/library/mt634473.aspx) with **-Level Publisher** (to allow software from their software providers, the "Publishers") and **-Fallback Hash** (to allow the internal, unsigned application). They enable the policy in auditing mode and gather information about any necessary software that was not included on the reference server. They merge WDAC policies into the original policy to allow that additional software to run. Then they enable the WDAC policy in enforced mode for their servers. +To create the WDAC policy, they build a reference server on their standard hardware, and install all of the software that their servers are known to run. Then they run [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) with **-Level Publisher** (to allow software from their software providers, the "Publishers") and **-Fallback Hash** (to allow the internal, unsigned application). They enable the policy in auditing mode and gather information about any necessary software that was not included on the reference server. They merge WDAC policies into the original policy to allow that additional software to run. Then they enable the WDAC policy in enforced mode for their servers. As part of normal operations, they will eventually install software updates, or perhaps add software from the same software providers. Because the "Publisher" remains the same on those updates and software, they will not need to update their WDAC policy. If they come to a time when the internally-written, unsigned application must be updated, they must also update the WDAC policy so that the hash in the policy matches the hash of the updated internal application. From 47fb2ce556c27358f8f5d54beeb00d0c53eeb5ee Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 14:46:04 -0800 Subject: [PATCH 024/212] fixed links --- ...nder-application-control-management-processes.md | 13 ++++++------- .../windows-defender-exploit-guard/TOC.md | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md index c341fd400b..41f09c0b09 100644 --- a/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md +++ b/windows/security/threat-protection/windows-defender-application-control/document-your-windows-defender-application-control-management-processes.md @@ -23,7 +23,7 @@ This planning topic describes the Windows Defender Application Control (WDAC) po To complete this planning document, you should first complete the following steps: 3. [Select the types of rules to create](select-types-of-rules-to-create.md) -5. [Plan for AppLocker policy management](plan-windows-defender-application-control-management.md) +5. [Plan for WDAC policy management](plan-windows-defender-application-control-management.md) The three key areas to determine for WDAC policy management are: @@ -75,7 +75,7 @@ The following table contains the added sample data that was collected when deter

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

-

Tellers-AppLockerTellerRules

+

Tellers-WDACTellerRules

Web help

@@ -142,7 +142,7 @@ The following two tables illustrate examples of documenting considerations to ma **Event processing policy** -One discovery method for app usage is to set the AppLocker enforcement mode to **Audit only**. This will write events to the AppLocker logs, which can be managed and analyzed like other Windows logs. After apps have been identified, you can begin to develop policies regarding the processing and access to AppLocker events. +One discovery method for app usage is to use Audit mode. This will write events to the CodeIntegrity log, which can be managed and analyzed like other Windows logs. The following table is an example of what to consider and record. @@ -157,7 +157,7 @@ The following table is an example of what to consider and record. Business group -AppLocker event collection location +WDAC event collection location Archival policy Analyzed? Security policy @@ -166,7 +166,7 @@ The following table is an example of what to consider and record.

Bank Tellers

-

Forwarded to: AppLocker Event Repository on srvBT093

+

Forwarded to: CodeIntegrity Event Repository on srvBT093

Standard

None

Standard

@@ -229,5 +229,4 @@ The following table is an example of what to consider and record.   ## Next steps -After you have determined your application control management strategy for each of the business group's applications, the following task remains: -- [Create your AppLocker planning document](create-your-applocker-planning-document.md) +After you determine your application control management strategy for each business group, [create your WDAC planning document](create-your-windows-defender-application-control-planning-document.md). diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index 444d5f66b5..bb988c8373 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -11,8 +11,8 @@ ### [Customize Exploit protection](customize-exploit-protection.md) #### [Import, export, and deploy Exploit protection configurations](import-export-exploit-protection-emet-xml.md) ### [Memory integrity](memory-integrity.md) -#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) -#### [Enable virtualization-based protection of code integrity](device-guard/deploy-device-guard-enable-virtualization-based-security.md) +#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) +#### [Enable virtualization-based protection of code integrity](./device-guard/deploy-device-guard-enable-virtualization-based-security.md) ## [Attack surface reduction](attack-surface-reduction-exploit-guard.md) ### [Evaluate Attack surface reduction](evaluate-attack-surface-reduction.md) ### [Enable Attack surface reduction](enable-attack-surface-reduction.md) From 50772be4e07f9aee6d9a0c5936bc2134f94f904c Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 15:27:20 -0800 Subject: [PATCH 025/212] fixed links --- ...ndows-defender-application-control-deployment-guide.md | 8 ++++---- .../windows-defender-application-control-design-guide.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 34ed60715b..f85125b2ca 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,9 +19,9 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) and corresponding [hardware, firmware, and software requirements](windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) and corresponding [hardware, firmware, and software requirements](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). -2. **Group devices by degree of control needed**. [Group devices](windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. +2. **Group devices by degree of control needed**. [Group devices](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. 3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. @@ -33,13 +33,13 @@ This topic provides a roadmap for planning and getting started on the Windows De - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? - In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). + In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. - Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md). + Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Steps to Deploy Windows Defender Application Control](./device-guard/steps-to-deploy-windows-defender-application-control.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md index 93acc071ac..06f9907511 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-design-guide.md @@ -25,7 +25,7 @@ This guide covers design and planning for Windows Defender Application Control ( | [Understand WDAC policy design decisions](understand-windows-defender-application-control-policy-design-decisions.md) | This topic lists the design questions, possible answers, and ramifications of the decisions when you plan a deployment of application control policies. | | [Select the types of rules to create](select-types-of-rules-to-create.md) | This topic lists resources you can use when selecting your application control policy rules by using WDAC. | | [Plan for WDAC policy management](plan-windows-defender-application-control-management.md) | This topic describes the decisions you need to make to establish the processes for managing and maintaining WDAC policies. | -| [Create your AppLocker planning document](create-your-windows-defender-application-control-planning-document.md) | This planning topic summarizes the information you need to research and include in your planning document. | +| [Create your WDAC planning document](create-your-windows-defender-application-control-planning-document.md) | This planning topic summarizes the information you need to research and include in your planning document. |   -After planning is complete, the next step is to deploy WDAC. [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies. +After planning is complete, the next step is to deploy WDAC. The [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies.   \ No newline at end of file From dcb7c8d0f96b5432469d0f21c1c391d948bbcfa8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 17:28:03 -0800 Subject: [PATCH 026/212] added deploy guide topics --- .../TOC.md | 20 +++++++++++++++++++ ...s-defender-application-control-policies.md | 19 ++++++++++++++++++ ...or-windows-defender-application-control.md | 18 +++++++++++++++++ .../create-initial-default-policy.md | 19 ++++++++++++++++++ ...rt-windows-defender-application-control.md | 18 +++++++++++++++++ ...ion-control-policies-using-group-policy.md | 18 +++++++++++++++++ ...plication-control-policies-using-intune.md | 18 +++++++++++++++++ ...application-control-policies-using-sccm.md | 18 +++++++++++++++++ ...s-defender-application-control-policies.md | 2 +- ...s-defender-application-control-policies.md | 19 ++++++++++++++++++ ...th-windows-defender-application-control.md | 19 ++++++++++++++++++ ...s-defender-application-control-policies.md | 19 ++++++++++++++++++ .../recommended-block-rules .md | 19 ++++++++++++++++++ ...ontrol-for-classic-windows-applications.md | 19 ++++++++++++++++++ ...-portal-in-microsoft-store-for-business.md | 18 +++++++++++++++++ ...r-application-control-against-tampering.md | 19 ++++++++++++++++++ ...l-specific-plug-ins-add-ins-and-modules.md | 19 ++++++++++++++++++ ...pplication-control-with-custom policies.md | 19 ++++++++++++++++++ ...control-with-intelligent-security-graph.md | 19 ++++++++++++++++++ ...lication-control-with-managed-installer.md | 19 ++++++++++++++++++ ...er-application-control-deployment-guide.md | 4 ++-- .../windows-defender-application-control.md | 3 ++- 22 files changed, 361 insertions(+), 4 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-sccm.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-device-guard-signing-portal-in-microsoft-store-for-business.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index c0b98a40d3..bcb74dbbbd 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -10,6 +10,26 @@ ## [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) +### [Use WDAC with the Microsoft Intelligent Security Graph](use-windows-defender-application-control-with-intelligent-security-graph.md) +### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) +### [Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) +#### [Create an initial default policy](create-initial-default-policy.md) +##### [Microsoft recommended block rules](recommended-block-rules.md) +### [Audit WDAC policies](audit-windows-defender-application-control-policies.md) +### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) +### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) +### [Deploy WDAC policies](deploy-windows-defender-application-control-policies.md) +#### [Deploy WDAC policies by using Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) +#### [Deploy Windows Defender Application Control policies by using System Center Configuration Manager](deploy-windows-defender-application-control-policies-using-sccm.md) +#### [Deploy Windows Defender Application Control policies by using Microsoft Intune](deploy-windows-defender-application-control-policies-using-intune.md) +### [Use code signing to simplify application control for classic Windows applications](use-code-signing-to-simplify-application-control-for-classic-windows-applications.md) +#### [Optional: Use the Device Guard Signing Portal in the Microsoft Store for Business](use-device-guard-signing-portal-in-microsoft-store-for-business.md) +#### [Optional: Create a code signing cert for WDAC](create-code-signing-cert-for-windows-defender-application-control.md) +#### [Deploy catalog files to support WDAC](deploy-catalog-files-to-support-windows-defender-application-control.md) +### [Manage packaged apps with WDAC](manage-packaged-apps-with-windows-defender-application-control.md) +### [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md) +### [Use signed policies to protect Windows Defender Application Control against tampering](use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md) + ## [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md new file mode 100644 index 0000000000..1f5c71d636 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md @@ -0,0 +1,19 @@ +--- +title: Audit Windows Defender Application Control (WDAC) policies (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Audit Windows Defender Application Control policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md new file mode 100644 index 0000000000..17ecc59ac3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md @@ -0,0 +1,18 @@ +--- +title: Create a code signing cert for Windows Defender Application Control (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Optional: Create a code signing cert for Windows Defender Application Control + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md new file mode 100644 index 0000000000..a756c642b8 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md @@ -0,0 +1,19 @@ +--- +title: Create an initial default policy (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Create an initial default policy + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md new file mode 100644 index 0000000000..5a8784f225 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md @@ -0,0 +1,18 @@ +--- +title: Deploy catalog files to support Windows Defender Application Control (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Deploy catalog files to support Windows Defender Application Control + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md new file mode 100644 index 0000000000..60df195494 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md @@ -0,0 +1,18 @@ +--- +title: Deploy Windows Defender Application Control (WDAC) policies by using Group Policy (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Deploy Windows Defender Application Control policies by using Group Policy + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md new file mode 100644 index 0000000000..f60f032426 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md @@ -0,0 +1,18 @@ +--- +title: Deploy Windows Defender Application Control (WDAC) policies by using Microsoft Intune (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Deploy Windows Defender Application Control policies by using Microsoft Intune + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-sccm.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-sccm.md new file mode 100644 index 0000000000..fe7025dd20 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-sccm.md @@ -0,0 +1,18 @@ +--- +title: Deploy Windows Defender Application Control (WDAC) policies by using System Center Configuration Manager (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Deploy Windows Defender Application Control policies by using System Center Configuration Manager + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md index 1f3710586e..b228f4b3c0 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md @@ -7,7 +7,7 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security author: jsuther1974 -ms.date: 02/08/2018 +ms.date: 02/28/2018 --- # Deploy Windows Defender Application Control Policies diff --git a/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md new file mode 100644 index 0000000000..112dfa735b --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md @@ -0,0 +1,19 @@ +--- +title: Enforce Windows Defender Application Control (WDAC) policies (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Enforce Windows Defender Application Control policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md new file mode 100644 index 0000000000..413d4e1dff --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md @@ -0,0 +1,19 @@ +--- +title: Manage packaged apps with Windows Defender Application Control (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Manage packaged apps with Windows Defender Application Control + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md new file mode 100644 index 0000000000..f1bd040f42 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md @@ -0,0 +1,19 @@ +--- +title: Merge Windows Defender Application Control (WDAC) policies (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Merge Windows Defender Application Control policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md b/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md new file mode 100644 index 0000000000..55a5d64bb4 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md @@ -0,0 +1,19 @@ +--- +title: Microsoft recommended block rules (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Microsoft recommended block rules + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md b/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md new file mode 100644 index 0000000000..d7707d1775 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md @@ -0,0 +1,19 @@ +--- +title: Use code signing to simplify application control for classic Windows applications (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use code signing to simplify application control for classic Windows applications + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-device-guard-signing-portal-in-microsoft-store-for-business.md b/windows/security/threat-protection/windows-defender-application-control/use-device-guard-signing-portal-in-microsoft-store-for-business.md new file mode 100644 index 0000000000..fd0fd8af09 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-device-guard-signing-portal-in-microsoft-store-for-business.md @@ -0,0 +1,18 @@ +--- +title: Use the Device Guard Signing Portal in the Microsoft Store for Business (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/28/2018 +--- + +# Optional: Use the Device Guard Signing Portal in the Microsoft Store for Business + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md b/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md new file mode 100644 index 0000000000..f389192d1a --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md @@ -0,0 +1,19 @@ +--- +title: Use signed policies to protect Windows Defender Application Control against tampering (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use signed policies to protect Windows Defender Application Control against tampering + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md new file mode 100644 index 0000000000..b8fc4f0261 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md @@ -0,0 +1,19 @@ +--- +title: Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules + +**Applies to:** + +- Windows 10 +- Windows Server 2016 \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md new file mode 100644 index 0000000000..78f7e8efd4 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md @@ -0,0 +1,19 @@ +--- +title: Use Windows Defender Application Control (WDAC) with custom policies (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use Windows Defender Application Control (WDAC) with custom policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md new file mode 100644 index 0000000000..1d3bca849e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-intelligent-security-graph.md @@ -0,0 +1,19 @@ +--- +title: Use Windows Defender Application Control (WDAC) with the Microsoft Intelligent Security Graph (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use Windows Defender Application Control (WDAC) with the Microsoft Intelligent Security Graph + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md new file mode 100644 index 0000000000..ed47945aaf --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md @@ -0,0 +1,19 @@ +--- +title: Use Windows Defender Application Control (WDAC) with a managed installer (Windows 10) +description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Use Windows Defender Application Control (WDAC) with a managed installer + +**Applies to:** + +- Windows 10 +- Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index f85125b2ca..dfdd26ca1a 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -5,8 +5,8 @@ keywords: virtualization, security, malware ms.prod: w10 ms.mktglfcycl: deploy ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 +author: jsuther1974 +ms.date: 02/27/2018 --- # Planning and getting started on the Windows Defender Application Control deployment process diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md index 74adeafb06..330df53122 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md @@ -6,8 +6,9 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security +ms.localizationpriority: high author: jsuther1974 -ms.date: 01/24/2018 +ms.date: 02/27/2018 --- # Windows Defender Application Control From f925d95015e958db68e9d2a8314834a473f6126a Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 17:47:13 -0800 Subject: [PATCH 027/212] added deploy guide topics --- .../TOC.md | 2 +- .../recommended-block-rules .md | 1 - ...er-application-control-deployment-guide.md | 22 +++++++++---------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index bcb74dbbbd..566ad5872c 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -14,7 +14,7 @@ ### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) ### [Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) #### [Create an initial default policy](create-initial-default-policy.md) -##### [Microsoft recommended block rules](recommended-block-rules.md) +#### [Microsoft recommended block rules](recommended-block-rules.md) ### [Audit WDAC policies](audit-windows-defender-application-control-policies.md) ### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) ### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md b/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md index 55a5d64bb4..44b5613a09 100644 --- a/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md +++ b/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md @@ -1,7 +1,6 @@ --- title: Microsoft recommended block rules (Windows 10) description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. -ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index dfdd26ca1a..23ad93f289 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -46,33 +46,33 @@ This topic provides a roadmap for planning and getting started on the Windows De -4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For a basic description of catalog files, see the table in [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). For more background information about catalog files, see [Reviewing your applications: application signing and catalog files](requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files). +4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For a basic description of catalog files, see the table in [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). For more background information about catalog files, see [Reviewing your applications: application signing and catalog files](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files). ## Getting started on the deployment process -1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). +1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md). 2. **Create WDAC policies from “golden” computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. For more information, see: - - [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md) - - [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md)
+ - [Deploy Windows Defender Application Control: policy rules and file rules](select-types-of-rules-to-create.md) + - [Merge WDAC policies](merge-windows-defender-application-control-policies.md)
-3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#audit-windows-defender-application-control-policies). +3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](saudit-windows-defender-application-control-policies). 4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. 6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see: - - [Create a Windows Defender Application Control policy that captures audit information from the event log](steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-that-captures-audit-information-from-the-event-log) - - [Merge Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#merge-windows-defender-application-control-policies)
+ - [Create a Windows Defender Application Control policy that captures audit information from the event log](windows-defender-application-control-deployment-guide.md) + - [Merge Windows Defender Application Control policies](merge-windows-defender-application-control-policies.md)
7. **Deploy WDAC policies and catalog files**. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. For more information, see: - - [Enforce Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#enforce-windows-defender-application-control-policies) - - [Deploy and manage Windows Defender Application Control with Group Policy](steps-to-deploy-windows-defender-application-control.md#deploy-and-manage-windows-defender-application-control-with-group-policy)
+ - [Enforce Windows Defender Application Control policies](enforce-windows-defender-application-control-policies.md) + - [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md)
-8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by Windows Defender Application Control, as described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). +8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by [Windows Defender Application Control](windows-defender-application-control). > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md). + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./device-guard/deploy-device-guard-enable-virtualization-based-security.md).
From 4342e831f9b626b9687d13211dcd849cd42746a8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 19:07:15 -0800 Subject: [PATCH 028/212] added new block rules topic --- .../windows-defender-application-control/TOC.md | 2 +- .../microsoft-recommended-block-rules.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 566ad5872c..c1539efcb9 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -14,7 +14,7 @@ ### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) ### [Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) #### [Create an initial default policy](create-initial-default-policy.md) -#### [Microsoft recommended block rules](recommended-block-rules.md) +#### [Microsoft recommended block rules](microsoft-recommended-block-rules.md) ### [Audit WDAC policies](audit-windows-defender-application-control-policies.md) ### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) ### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md b/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md new file mode 100644 index 0000000000..d4cefd83c8 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md @@ -0,0 +1,16 @@ +--- +title: Microsoft recommended block rules (Windows 10) +description: To help you plan and begin the initial test stages of a deployment of Microsoft Windows Defender Application Comntrol, this article outlines how to gather information, create a plan, and begin to create and test initial code integrity policies. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Microsoft recommended block rules + +**Applies to** +- Windows 10 +- Windows Server 2016 \ No newline at end of file From 953da14f7460ea6ec75d1ca6a84a492f85f95b04 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 19:19:21 -0800 Subject: [PATCH 029/212] added new block rules topic --- ...oy-windows-defender-application-control.md | 732 +---------------- .../microsoft-recommended-block-rules.md | 733 +++++++++++++++++- .../recommended-block-rules .md | 18 - 3 files changed, 733 insertions(+), 750 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md diff --git a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md index 1475541a41..9093c56669 100644 --- a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md @@ -31,740 +31,10 @@ The policy file is converted to binary format when it gets created so that Windo Each installed software application should be validated as trustworthy before you create a policy. We recommend that you review the reference computer for software that can load arbitrary DLLs and run code or scripts that could render the PC more vulnerable. -Examples include software aimed at development or scripting such as msbuild.exe (part of Visual Studio and the .NET Framework) which can be removed if you do not want it to run scripts. +Examples include software aimed at development or scripting such as msbuild.exe (part of Visual Studio and the .NET Framework) which can be removed if you do not want to run scripts. You can remove or disable such software on the reference computer. You can also fine-tune your control by [using Windows Defender Application Control in combination with AppLocker](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). -Members of the security community\* continuously collaborate with Microsoft to help protect customers. With the help of their valuable reports, Microsoft has identified a list of valid applications that an attacker could also potentially use to bypass Windows Defender Application Control. - -Unless your use scenarios explicitly require them, Microsoft recommends that you block the following applications. These applications or files can be used by an attacker to circumvent application whitelisting policies, including Windows Defender Application Control: - -- addinprocess.exe -- addinprocess32.exe -- addinutil.exe -- bash.exe -- bginfo.exe[1] -- cdb.exe -- csi.exe -- dbghost.exe -- dbgsvc.exe -- dnx.exe -- fsi.exe -- fsiAnyCpu.exe -- kd.exe -- ntkd.exe -- lxssmanager.dll -- msbuild.exe[2] -- mshta.exe -- ntsd.exe -- rcsi.exe -- system.management.automation.dll -- windbg.exe - -[1]A vulnerability in bginfo.exe has been fixed in the latest version 4.22. If you use BGInfo, for security, make sure to download and run the latest version here [BGInfo 4.22](https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo). Note that BGInfo versions earlier than 4.22 are still vulnerable and should be blocked. - -[2]If you are using your reference system in a development context and use msbuild.exe to build managed applications, we recommend that you whitelist msbuild.exe in your code integrity policies. However, if your reference system is an end user device that is not being used in a development context, we recommend that you block msbuild.exe. - -*Microsoft recognizes the efforts of those in the security community who help us protect customers through responsible vulnerability disclosure, and extends thanks to the following people: - -
- -|Name|Twitter| -|---|---| -|Casey Smith |@subTee| -|Matt Graeber | @mattifestation| -|Matt Nelson | @enigma0x3| -|Oddvar Moe |@Oddvarmoe| -|Alex Ionescu | @aionescu| -|Lee Christensen|@tifkin_| - -
- ->[!Note] ->This application list will be updated with the latest vendor information as application vulnerabilities are resolved and new issues are discovered. - -Certain software applications may allow additional code to run by design. -These types of applications should be blocked by your Windows Defender Application Control policy. -In addition, when an application version is upgraded to fix a security vulnerability or potential Windows Defender Application Control bypass, you should add deny rules to your WDAC policies for that application’s previous, less secure versions. - -Microsoft recommends that you install the latest security updates. -The June 2017 Windows updates resolve several issues in PowerShell modules that allowed an attacker to bypass Windows Defender Application Control. -These modules cannot be blocked by name or version, and therefore must be blocked by their corresponding hashes. - -For October 2017, we are announcing an update to system.management.automation.dll in which we are revoking older versions by hash values, instead of version rules. - -Microsoft recommends that you block the following Microsoft-signed applications and PowerShell files by merging the following policy into your existing policy to add these deny rules using the Merge-CIPolicy cmdlet: - -``` - - - 10.0.0.0 - {A244370E-44C9-4C06-B551-F6016E563076} - {2E07F7E4-194C-4D20-B7C9-6F44A6C5A234} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - -``` -
To create a WDAC policy, copy each of the following commands into an elevated Windows PowerShell session, in order: diff --git a/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md b/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md index d4cefd83c8..3d8d27edc8 100644 --- a/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md +++ b/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules.md @@ -13,4 +13,735 @@ ms.date: 02/27/2018 **Applies to** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +Members of the security community\* continuously collaborate with Microsoft to help protect customers. With the help of their valuable reports, Microsoft has identified a list of valid applications that an attacker could also potentially use to bypass Windows Defender Application Control. + +Unless your use scenarios explicitly require them, Microsoft recommends that you block the following applications. These applications or files can be used by an attacker to circumvent application whitelisting policies, including Windows Defender Application Control: + +- addinprocess.exe +- addinprocess32.exe +- addinutil.exe +- bash.exe +- bginfo.exe[1] +- cdb.exe +- csi.exe +- dbghost.exe +- dbgsvc.exe +- dnx.exe +- fsi.exe +- fsiAnyCpu.exe +- kd.exe +- ntkd.exe +- lxssmanager.dll +- msbuild.exe[2] +- mshta.exe +- ntsd.exe +- rcsi.exe +- system.management.automation.dll +- windbg.exe + +[1]A vulnerability in bginfo.exe has been fixed in the latest version 4.22. If you use BGInfo, for security, make sure to download and run the latest version here [BGInfo 4.22](https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo). Note that BGInfo versions earlier than 4.22 are still vulnerable and should be blocked. + +[2]If you are using your reference system in a development context and use msbuild.exe to build managed applications, we recommend that you whitelist msbuild.exe in your code integrity policies. However, if your reference system is an end user device that is not being used in a development context, we recommend that you block msbuild.exe. + +*Microsoft recognizes the efforts of those in the security community who help us protect customers through responsible vulnerability disclosure, and extends thanks to the following people: + +
+ +|Name|Twitter| +|---|---| +|Casey Smith |@subTee| +|Matt Graeber | @mattifestation| +|Matt Nelson | @enigma0x3| +|Oddvar Moe |@Oddvarmoe| +|Alex Ionescu | @aionescu| +|Lee Christensen|@tifkin_| + +
+ +>[!Note] +>This application list will be updated with the latest vendor information as application vulnerabilities are resolved and new issues are discovered. + +Certain software applications may allow additional code to run by design. +These types of applications should be blocked by your Windows Defender Application Control policy. +In addition, when an application version is upgraded to fix a security vulnerability or potential Windows Defender Application Control bypass, you should add deny rules to your WDAC policies for that application’s previous, less secure versions. + +Microsoft recommends that you install the latest security updates. +The June 2017 Windows updates resolve several issues in PowerShell modules that allowed an attacker to bypass Windows Defender Application Control. +These modules cannot be blocked by name or version, and therefore must be blocked by their corresponding hashes. + +For October 2017, we are announcing an update to system.management.automation.dll in which we are revoking older versions by hash values, instead of version rules. + +Microsoft recommends that you block the following Microsoft-signed applications and PowerShell files by merging the following policy into your existing policy to add these deny rules using the Merge-CIPolicy cmdlet: + +``` + + + 10.0.0.0 + {A244370E-44C9-4C06-B551-F6016E563076} + {2E07F7E4-194C-4D20-B7C9-6F44A6C5A234} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + +``` +
diff --git a/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md b/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md deleted file mode 100644 index 44b5613a09..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/recommended-block-rules .md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Microsoft recommended block rules (Windows 10) -description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.localizationpriority: high -author: jsuther1974 -ms.date: 02/27/2018 ---- - -# Microsoft recommended block rules - -**Applies to:** - -- Windows 10 -- Windows Server 2016 \ No newline at end of file From aa940a4d2d42a15e6ec8cdd29a2f44b77ba0cefa Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 27 Feb 2018 19:37:58 -0800 Subject: [PATCH 030/212] fixed links --- ...s-defender-application-control-policies.md | 80 ++++++++++++++++++ .../images/device-guard-gp.png | Bin 0 -> 33074 bytes .../images/dg-fig1-enableos.png | Bin 0 -> 17395 bytes .../images/dg-fig10-enablecredentialguard.png | Bin 0 -> 36732 bytes .../images/dg-fig11-dgproperties.png | Bin 0 -> 75377 bytes .../images/dg-fig12-verifysigning.png | Bin 0 -> 12866 bytes .../images/dg-fig13-createnewgpo.png | Bin 0 -> 30301 bytes .../images/dg-fig14-createnewfile.png | Bin 0 -> 25578 bytes .../images/dg-fig15-setnewfileprops.png | Bin 0 -> 8534 bytes .../images/dg-fig16-specifyinfo.png | Bin 0 -> 31244 bytes .../images/dg-fig17-specifyinfo.png | Bin 0 -> 123076 bytes .../images/dg-fig18-specifyux.png | Bin 0 -> 130536 bytes .../images/dg-fig19-customsettings.png | Bin 0 -> 108188 bytes .../images/dg-fig2-createou.png | Bin 0 -> 30301 bytes .../images/dg-fig20-setsoftwareinv.png | Bin 0 -> 96447 bytes .../images/dg-fig21-pathproperties.png | Bin 0 -> 9918 bytes .../images/dg-fig22-deploycode.png | Bin 0 -> 39276 bytes .../images/dg-fig23-exceptionstocode.png | Bin 0 -> 28107 bytes .../images/dg-fig24-creategpo.png | Bin 0 -> 30301 bytes .../images/dg-fig25-editcode.png | Bin 0 -> 79541 bytes .../images/dg-fig26-enablecode.png | Bin 0 -> 39276 bytes .../images/dg-fig27-managecerttemp.png | Bin 0 -> 107847 bytes .../images/dg-fig29-enableconstraints.png | Bin 0 -> 19716 bytes .../images/dg-fig3-enablevbs.png | Bin 0 -> 32382 bytes .../images/dg-fig30-selectnewcert.png | Bin 0 -> 111543 bytes .../images/dg-fig31-getmoreinfo.png | Bin 0 -> 17288 bytes .../images/dg-fig5-createnewou.png | Bin 0 -> 30301 bytes .../images/dg-fig6-enablevbs.png | Bin 0 -> 29145 bytes .../images/dg-fig7-enablevbsofkmci.png | Bin 0 -> 38468 bytes .../images/dg-fig8-createoulinked.png | Bin 0 -> 30301 bytes .../images/dg-fig9-enablevbs.png | Bin 0 -> 30194 bytes .../images/wdac-edit-gp.png | Bin 0 -> 15115 bytes 32 files changed, 80 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/device-guard-gp.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig1-enableos.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig10-enablecredentialguard.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig11-dgproperties.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig12-verifysigning.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig13-createnewgpo.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig14-createnewfile.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig15-setnewfileprops.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig16-specifyinfo.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig17-specifyinfo.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig18-specifyux.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig19-customsettings.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig2-createou.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig20-setsoftwareinv.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig21-pathproperties.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig22-deploycode.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig23-exceptionstocode.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig24-creategpo.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig25-editcode.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig26-enablecode.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig27-managecerttemp.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig29-enableconstraints.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig3-enablevbs.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig30-selectnewcert.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig31-getmoreinfo.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig5-createnewou.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig6-enablevbs.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig7-enablevbsofkmci.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig8-createoulinked.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/dg-fig9-enablevbs.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-edit-gp.png diff --git a/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md index 1f5c71d636..2203e338e3 100644 --- a/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md @@ -17,3 +17,83 @@ ms.date: 02/27/2018 - Windows 10 - Windows Server 2016 + +# Audit Windows Defender Application Control policies + +When WDAC policies are run in audit mode, it allows administrators to discover any applications that were missed during an initial policy scan and to identify any new applications that have been installed and run since the original policy was created. While a WDAC policy is running in audit mode, any binary that runs and would have been denied had the policy been enforced is logged in the **Applications and Services Logs\\Microsoft\\Windows\\CodeIntegrity\\Operational** event log. When these logged binaries have been validated, they can easily be added to a new WDAC policy. When the new exception policy is created, you can merge it with your existing WDAC policies. + +Before you begin this process, you need to create a WDAC policy binary file. If you have not already done so, see [Create an initial Windows Defender Application Control policy from a reference computer](#create-initial-default-policy). + +**To audit a Windows Defender Application Control policy with local policy:** + +1. Before you begin, find the *.bin policy file , for example, the DeviceGuardPolicy.bin. Copy the file to C:\\Windows\\System32\\CodeIntegrity. + +2. On the computer you want to run in audit mode, open the Local Group Policy Editor by running **GPEdit.msc**. + + > [!Note] + + > - The computer that you will run in audit mode must be clean of viruses or malware. Otherwise, in the process that you follow after auditing the system, you might unintentionally merge in a policy that allows viruses or malware to run. + + > - An alternative method to test a policy is to rename the test file to SIPolicy.p7b and drop it into C:\\Windows\\System32\\CodeIntegrity, rather than deploy it by using the Local Group Policy Editor. + +3. Navigate to **Computer Configuration\\Administrative Templates\\System\\Windows Defender Device Guard**, and then select **Deploy Windows Defender Application Control**. Enable this setting by using the appropriate file path, for example, C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 1. + + > [!Note] + + > - You can copy the WDAC policies to a file share to which all computer accounts have access rather than copy them to every system. + + > - You might have noticed that the GPO setting references a .p7b file and this policy uses a .bin file. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped onto the computers running Windows 10. We recommend that you make your WDAC policy names friendly and allow the system to convert the policy names for you. By doing this, it ensures that the policies are easily distinguishable when viewed in a share or any other central repository. + + ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig22-deploycode.png) + + Figure 1. Deploy your Windows Defender Application Control policy + +4. Restart the reference system for the WDAC policy to take effect. + +5. Use the system as you normally would, and monitor code integrity events in the event log. While in audit mode, any exception to the deployed WDAC policy will be logged in the **Applications and Services Logs\\Microsoft\\Windows\\CodeIntegrity\\Operational** event log, as shown in Figure 2. + + ![Event showing exception to WDAC policy](images/dg-fig23-exceptionstocode.png) + + Figure 2. Exceptions to the deployed WDAC policy + + You will be reviewing the exceptions that appear in the event log, and making a list of any applications that should be allowed to run in your environment. + +6. If you want to create a catalog file to simplify the process of including unsigned LOB applications in your WDAC policy, this is a good time to create it. For information, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). + +Now that you have a WDAC policy deployed in audit mode, you can capture any audit information that appears in the event log. This is described in the next section. + +## Create a Windows Defender Application Control policy that captures audit information from the event log + +Use the following procedure after you have been running a computer with a WDAC policy in audit mode for a period of time. When you are ready to capture the needed policy information from the event log (so that you can later merge that information into the original WDAC policy), complete the following steps. + + + +1. Review the audit information in the event log. From the WDAC policy exceptions that you see, make a list of any applications that should be allowed to run in your environment, and decide on the file rule level that should be used to trust these applications. + + Although the Hash file rule level will catch all of these exceptions, it may not be the best way to trust all of them. For information about file rule levels, see [Windows Defender Application Control file rule levels](select-types-of-rules-to-create.md) in "Deploy Windows Defender Application Control: policy rules and file rules." + + Your event log might also contain exceptions for applications that you eventually want your WDAC policy to block. If these appear, make a list of these also, for a later step in this procedure. + +2. In an elevated Windows PowerShell session, initialize the variables that will be used. The example filename shown here is **DeviceGuardAuditPolicy.xml**: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $CIAuditPolicy=$CIPolicyPath+"DeviceGuardAuditPolicy.xml"` + +3. Use [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) to generate a new WDAC policy from logged audit events. This example uses a file rule level of **Hash** and includes `3> CIPolicylog.txt`, which redirects warning messages to a text file, **CIPolicylog.txt**. + + ` New-CIPolicy -Audit -Level Hash -FilePath $CIAuditPolicy –UserPEs 3> CIPolicylog.txt` + + > [!Note] + > When you create policies from audit events, you should carefully consider the file rule level that you select to trust. The preceding example uses the **Hash** rule level, which is the most specific. Any change to the file (such as replacing the file with a newer version of the same file) will change the Hash value, and require an update to the policy. + +4. Find and review the WDAC audit policy .xml file that you created. If you used the example variables as shown, the filename will be **DeviceGuardAuditPolicy.xml**, and it will be on your desktop. Look for the following: + + - Any applications that were caught as exceptions, but should be allowed to run in your environment. These are applications that should be in the .xml file. Leave these as-is in the file. + + - Any applications that actually should not be allowed to run in your environment. Edit these out of the .xml file. If they remain in the .xml file, and the information in the file is merged into your existing WDAC policy, the policy will treat the applications as trusted, and allow them to run. + +You can now use this file to update the existing WDAC policy that you ran in audit mode by merging the two policies. For instructions on how to merge this audit policy with the existing WDAC policy, see the next section, [Merge Windows Defender Application Control policies](#merge-windows-defender-application-control-policies). + +> [!Note] +> You may have noticed that you did not generate a binary version of this policy as you did in [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer). This is because WDAC policies created from an audit log are not intended to run as stand-alone policies but rather to update existing WDAC policies. \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/images/device-guard-gp.png b/windows/security/threat-protection/windows-defender-application-control/images/device-guard-gp.png new file mode 100644 index 0000000000000000000000000000000000000000..6d265509eaa54186b44dd9c3263ee298a8ef5897 GIT binary patch literal 33074 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig1-enableos.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig1-enableos.png new file mode 100644 index 0000000000000000000000000000000000000000..cefb1243444fed724637dece0434f235e6cbafba GIT binary patch literal 17395 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

w%pY#`% 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

Vzc=UUz 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig11-dgproperties.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig11-dgproperties.png new file mode 100644 index 0000000000000000000000000000000000000000..3c93b2b948311bd965a3ce5d1eb82a4d325d4f97 GIT binary patch literal 75377 zcmc$`cT`jD5A~y_cZQ-K$X!f`_>G=YbN(c z#$F)M$@YUkhd6FLehC86b5;Mjr{`<2Ms@ihJRXGhqg~WFBdFFitym>E5U;w;P_}qR zM6@ws;@qbT+|mE|2WNFWF#X5*>qL>yYewyGAF^)G^+8WkoL=`(Wtcv34F@ z)|blDpVjYQ7q^1wN-D%NS1UJ&i;C&RFh767J?=aZGd3J}>YCc++geMi7ukQPUtPgw z6}9j`toq3I<4)3WdDO4;t$DZuF8>n=0;DV^!>s}DEmmiyr2B7a}MB>vCw(ElEv zIl^K|pBR1df@n+?M^N8F$q>uo1jK&h-ije23%uXqwj5300k5Q>_jLoV{=Hru(=GOJ zYSSzWorcEJcVJLe`VzXu7=|l_6N94B18I}!Ld0GNI!mS*Yf3an%l(7|Qs65J=$&KD zn+h$;ZacMZqYxN5g|v>Qt#6*Z^f`3#PBxrm?ncuhx}b%ENIU}>P?8MkyIaaK1wp5* zpZ|L~BiOpnB=oUCq25|P$!dTKr;VTo$bl&Gn5Z>^9DvA=h7z+e@veh5mn14S+?1$p zMA&Y>@ZRv;s6LItv$u|>pH!rcxarb1@%@Mkf%<5QeM=6ahU7|3GDT;L!`8KkOW?gP zwEfAMB1qFb@Aiq)N^~_x1o5qTeJNQFs*eBSv^q!F%iYEheUo48lDEbhNx>Pu34Apv z{BK8brw-GJ3NQBYv_}YfBO)IjIBJ*%Jk$(&Df%a3HxfMJ7KDS7a_JZCCo@*G zXgfUqgcP(hg11c%in!X`>9?^oXQ;H1sHx;e&b1Sw!R}@FAU~bjC+~#_2>!p+18_{)GxL{PTym&d}=iZfnuc70vDr+-(?<`Beok_ zc2@9Ml;V~~(A+zA>Q5P(p4+b0Ob&XNT&~bbt!&xnr)9V7=EF)<_%#Z~m3FII_Q!1e zzm_F;Z$L^7A)y?Kd7XJONB(?d>tYIC|?vf0m&~l%PjaZm~C=(CD z3Qz3xpmXQZUCaE`At+BX~8F;3pJ^fMMm>{n^> z1*m7xf2jFCK=*S+rMd`2V^s;)2HAgMl*%kUqWpFj*%h}J=KY6Ue$v(asg>Y?IhCd$ zfoR1-71$~l(TktXK@QAd%k6+@5gbdJiQ04B;5q-nDdGy^=xf!%h=am-nh&`sDc0A1F1~9E_XtcQJoAyi9nZ zaL`tlz`Ds7sm?nh=-o6Rq<6UJSv=Z1k?4IS3yaVldIa4q&}uH4J`WpW;iqMgX3

k4wQo#7eYIG14w3Z|8%0t)E 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[ZCXRHK{iRA;IF+?8?=lFd!sv}XC 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 z zp%Nc+;P4Fo8AWB(!8d-f3Z|`ili-Bljp@$6(a(=4)B5Z)vkU?9S(K{E;CbGK912tH>~ zNoKKJTY*T){PA6)*UsWXq&gO_q-&Boq)3nQYYoR~Hd{w$PJDV4FSY%%>zFCg&W9`Y zw4QiP?iSIp}Xf$)Yn14;f~|Ee3m^{^V6@`H9Fnz}Ox=pa%7jW+l=I@L#$jHRyI)`A2QhdsX%TtNkc_J2c4 zZrZ;nXv2S_p!tYa?=;(cN!DM~Wq2(8?ECrlIP4uY!)z&lFm zUENXk@_Bglbm5ez9538MM&}}>9QwBM`H&Zg@M=GNS#^kOiI;V1zcqEwmj0S-oa!xR zIrTLAdo6}wro3ZgN`&X<-XqzvpsS0zrWVLn!5>r^LZwg*tm(t=VTDN(aOrHy(K0bZ zb;d3xh4?sc3P8PUdRWyRnNGWN1_g{ho1fB5nUe4Y%i717Yvbo?ork7X8gf4IPZ)m2 zw{ou5nt#^=8k81Jc=?%Zm6GpsB@!*TQr#A)6zfswsjK_B6UT-G5g_H{f;JEwWjqSh zz@`CxN@%9wiJBq}AEm=ax3SX847PyOe=*o1zZ=pJJ1&@TVuvwS~pk?U5w*u(mi(j6RIhtKI(PX|JsCiL$LX zYnX9HcX-=cz_T=d9iR7v-0GD6#52DwRS} zY3Phjnr*>RFQ*+`S5wHh$s{cpDYYJJJP75L^vxy>$7uA2p#HJ*M2=UgU#o&T1a?HC z&i@avvy0;J8|?In{}b$dahRN!cc(Ir%7N_B@ks6_))r6E(T7qdR4o?0X31EIta9zO zqFZ2k`7pJQa-sy*|Lysq8a`-28zqR2iah+xUq~{5E2n5D{(*-hq3=>q&7yC{Lz`9ib3w~+v1o%aUWBP`V zUu?{sVO2t>cR#`w-20dS_CR-~ASj^;>mcTw7cmSz2Vb-u5Cct)9-cPnq2wR_`Eo66 zU*xs7E7t-E(7{UvXHQvl?TkB2RHyy{n}MFFs+H$`cPOq{XsoL734J=dHv8^q^j z&B+o0bh*kuzq`=B=v`!)8){hA=ZUZ3>;8?5>F&NKfTPMtM^Oe7XQ z)?U-dM!pyY)~=!CV37Q(djdtW10{pD5RER@_TOl9lcq$LP2gkar8oYY$f|zE1s(*C zyWIkGu`3AcYPxUVoEJ4{6|6VGycm9becn?gNbOY4501;q$S&bqqem5t$_t-k*}dmR z{((WRWzI$2xT4yss_{xR(1`S7oE`6{+aq1RU4I3vw;N>hAj7sW+i<{KgrT4(12EJ- z?oz$+{ix`zro_c;J9O6Lfp^`jzq^fZT{S?uH=_Tb1M!|9`t_e$dT)*Q|Bat+bz|w7 zyz6f4aB#Bx{&Q9b;EG7QoK=h_lp0IR5(9b72%WW>-)2I3q!X+qiB6_{4{E{57bX6r zAN`eJbP$A2Qo7( zky|;y5si{R{m?$<-L$gZKaj&VbQ{jCPJ6ikC(Zj^fNKOq`oHtf0XGa}WlVQ2i;CpS z-PFex(gXJGREoUE8dxhA3^FXMw2Z6gLx7XrZb30uB0kabRBdGd%huyt2k1EgKYlk+ zQpQzujJdV>jGk;o&WBNxH-(xZL%c+!wwIgfxqw4v9UA&7nMsU7NdJ7hV#`YS`2A0{en!Awyl(?0zf`6pD=<2b^p+W7oO)O> zI=h*O#6e{8uAEj+%&aq0>sR2PAkmfroY#BHphYZAMrpb5fXwL+V(D9v`Va9hcZhF<=^@>bffZ=AGnFqhT_8%z#)L`fjZhk z)uR^z z?=|u_o*nK|xvBt&%?_5(&Q@!1ZsWr0b#h!$O~u?V6OB1(uXevUyc~TA+eHaoqBuJo zi0uORN@ILMURb0vrcLU`2K^hZZyBG)d___nb#q!gwi^)bIxEVar+5y33%!k}kAUtA zUG#HD+lKqhY9gZ3z27fLA>V*zBkAYFAqVQQyT$AGW)ntbC0jJ(8FJ)j#8w!r%K)0odIx89_~ z$P*{3xBf2YjE^+VlJnaTY18%&r0qSxm=dH72rj(^RaePMcOr_hngK<*;B=cpH?{{H z6aN-484z($-fU>q!dDFmPlTxuZ0|AU*8GoUdiPne28i7mW^#m*^ZffZ8Zzmb z&{j<`9Vh!Uk;5g;O!v+gQC!wP9tnBS*T6Y&Z9Mj0gz&kPHGD#kSTscF$@o@?eAhOv zGL6)dF#8=O3sX~Yqt-iWl1703-Ta(7SY=}UoZQl=XNUD&3;|6?;X{nNYW#7p{jZC$ zHUUuvmrN6`gkTlK1r2)6O|xg#!Huv8n?3dYo6I+*Qe5Ld(Y=LSSHNxv1xExai(mY@ zTPylXF7acG(FLb1;C3_qKf393y#c<*Mg*T7ZxUrR00;d3j_`duZo&PJnt%_3;zZeh zBF@~=9BI{X#UJqNdAADcX%^D=#^>hFHXxk@QAr5u*L+tiEs%z6Gszfx0L8M-$xiBr z?BkJ39-JSW;)b;h`7h%g~-O((xH3n=NFwFj4ZqNTM zP%-~qq5A(geua`0rl^&p97i@1H~=|D3$v%e>1ytP0)up^F!eq)|EWOlKQ`HW7{lKR z=c!Sk%+ci7QP@( z0;m4Y-Cj4j-tU8<(g)ExH~+n=b7HGus{mnXnGKT)QTzL$9)b*ApxE<1BOva3;BGf7 zsAIxx{)p!Ba+sBg7GSPueE$#3mFcP{{VFRlmwM(H9gf0kKavVS3!muUgzIzP3Ooze z1ov|5(p{xycC!X1Bl2?`Zq=*yNL~khJ&|>emplycyQ+QcU9UdfL<*Zb)wpqEKXEPSaXP_L5CJkELwX+3(xY~ zI&~>Rw>Jswv?1ex+zM;RmE5t9UIA@%2bMeQxK-R$7SUhki*)!SA@5FSQ|kObiwJtv z$}Y+=q@O3@WK>3#L6b*+l76|Q&%0>bqWC#hTg9slyBn%Fw}5Md`+i3_af9NP@M7M; z@rS#UycwB$AO7$j))rWBvGFqccGJOtNDivY+UIf)_G*mVx@~)-q6QlH?pnP70@~gm zbcB?rB&YX@x_|0S@kg%UA5}xgcS`3v#8CO3rAkB8fN1h{>n~IV@KrJRtWayOWYmI% zWi8;MlpLa(em}K(uK=liwYOlyFE!Lk_y3`WDya+PQ#dUDjlv;5-7-o2fbWf#_T)Wq zeRe&lwp-dUxH5Pn7093%;^o7fCgg|kUPr6b_nE?eHjycwH`G;MOr^|n1e++%Z^R=1 zxU1)ca^;nEejQVNHL;+HhaUwe`mYeieyZ_5Vwf&JhT%zzsK0GG`MRg`7T7I7_aurP z+qS;BaINcLYkW-EyLTbf?jYtX8q;^!q(OMd0% zaHx(0-M%5y2g4z)a!|Vk^BdL0-^ka&2`!i4^hU6zd-c!HlKTU^rR>t(l%w!a10ZL) zkfBcpe|$;?r)g(Pj!BoS6{}9+ftN%9uJsCR3xK6`K~eAD0#s81*%`BSS0qhuF2 zm-5kn>d~i6uz|SJ@M>vjy(GAUpeyAst4>Y2=+ucnd$vKNB&BU zt8ukt3e}u&QKyAVjv_^SC&66M(bdU?oTh*e&AlwG#g`ow(psbQ!D&vm21I=$vPe7m z`|Sgx`RFsSnYEc=FM*fow%$79GJOB-i```pmv379-!^%4N~GfIz5+6NWpBbtTrt~t z;Csc@T%bHYU_5XUGM?ts2NLJ@24MeKI#~YR>-=PJ<@pHLh12OBp5GaP+KKwX%5v`l zR{X4lWrem=0Wp<4Xrpy@l}L zDxx~w>~|F88aFxm?e{6{r6P@u4qj6C8@$XYyM6qCt0=QM)Z)2>$x+|v@ZWqL^@1#R}vqM!v0c@9`D+A0@LnUR9$FXFZhAa;IQ z16YgExfG8d_8LbVlrJTBUEh71A7>nrDuP*;b?{UseUvuYU2wjez8Z4J^*w)BJOMT5Fcy0WW98DYttU0)ZTVU*w;z=>s^%C%8Cv#!TGas2>usI)={Kie%)7KG zN;%r~gch2%IBSbDyynUipG-A&l>K%B#S0!tRn1FqrcY0-P4yFBM|^&wHjK4LO*$Ae z)Lis|7@~phyn<;;LSt{8h)D|VT0>_h6pJEy+sl%h*YOqzTx-*}ooET1dzdSqnYobx zS&1Hy%YEBg)*ylvgnu1pztEH}SWC_JUMm(>w~w)~_j3;pacy?g!htNwOZ?0d;gvW) zUy{E?dZ_`AG-30xni=1C|EjO|;Cek>**(BmA*O6ra@i5PqXyag%7E4Ddiw&_U7B!g zK~kk7yZE9`t9kUUUwWK#j&GJbDj-8z#+5XWiuSyq+7+cleG(7l`$NFt`9Gf%HmUw< zkY}f&P?9?AK0|{mmhl2_?@<#x2O2z-b$mS4bTjXnfqB;wGfG`C*mc8(k+z2$o!-XC zh7o0phuw}wKT=(PvPC^S@*vOO*~dR9u+Hz#wz8LtQ(wh~VuJxIlQ39PKEjMBBbkhl zi;J_<^45)d&afsp^3vrPa?#JiOZ*PuNPdU#usV|J=WD2BfuSy)(P>0N|7^k|*)M}nB&%c*c zo;?+NyDSJe*gb~_cW~9dA5zQ1>K_eoz_pF9X&pDxvv~9VL!7-jO({~vTrDa7_|MTX z;!&w|0xkiFhVZ?|hOg=!$#FgC1$VO#9ZH!>6(7=kF*Kl$C(Jh|O^qatX_ts{xq)ar zcZjNOp@?i+Ko)!@E3@b$9PNt5Cv7LO8yU^O+3>`ve*M&yna1$=ma^pUT-I^62~(WYRIJhbqH@@LNlua%L6l_fIMZy(lo zMsN3`TBX-~SbsS(R1(=ywpNPoR*qb$5gY zi;*#Oz3$80)b0`g&!eA1>kf)vA2XPL6%XXORw^$e z;|Zj8ZRQ6IP0xra|3nAAXB-Z#oLxG&MG6MW;t+!hLN@iprcC00pv2K4661 z_fOF~*5^1k?Q(r9f@9;&)!U434<9H@kjW~^bn`H8nJ<2!p2KnN{t$o>YK!YLHjnh9 zyN6V~*lrgZA;8fj`_obo3emzHS&}rS!Rp z*kcpQP}!)(3{_TEYxXo+Gz>7FxGAaV1hNviLI+&%@9nnCQf*zvp-t-E@8cY@*7zv_4jcf6ly1)_E_X1WkHd@0w zP5x>Q>+JZs&7F(KALb<4GwDiJps(Ka?V`jV-fvaCCjEhDqc9?CvldR@C$MQM^2Ts{ z2;!=qTF%6iKD)uAU`EO09P{&qBhJ3!75o@nIM%`xDn@ZB%jq4t>PcMpkZ!@)uB)=k*+ z=I!ST=7D=Bh{&hD?h)b{Sds!EL<$Qj9pg(i1z*gES;mCg`neP}@IGiTEz5n;KdKzEzTQ04Hi_ z4Q~J4_#K#xd*C7ecNgIQzKqr!>|>{_Fp69qFNae&P={Y0PoQrg?exC@UH4!2qEOS zXwF1?)n`H_Lm7H$hN1~U@9_v*fB07DU-g3ji@eI+1jf@s9oAJ>^n3e}_mwOY=1+5u zQb{=qGUx$=FB|My=LH)ms2z$kea_Wr#bTqTHKx-UEB}BV4lw$Ug7nbj3k;qGhf^4x z!4(1XQXI%udCRE%u!Ou3ch-ImZ_|$8#WnIIINLT)KBkd&@=kJ>l0Y+;w&YZb?z%RUiADK-5C`IfmBo?4_(ho{P`@rdD!M#^%hj8j!?~xoF z*BahoG-r){q$27EvO?OuXn_1$^yHP)q35(Urf2&XhB-+*8xl`z!5kdo0yrTgrH)1_ zt+&s-AV@~bVsL#s6j#lR>5(Jh_BciO{FBGH@K8#T-Hy5DFixKlr^#&8E$`1D_JS9l zmyYJ;*T*Djv^*fPW|0!(Q^9f)wy1#894D*FIYUw}%HA$8S&`wsNgAvX;tRWFIi{Dg zE-lRBgn2tT+Kk6;jXYasId4W1a(SNCMp=aOxJSZP6XEzIj(&O#ik*aJTQ5O%n;WZk z+)a3gWX4ItPFE^Wc^!wm4;loH>f1FGHO}9Bw3!^yp+t_vrYF7 zSd+IgyLHr`bH`j5c=AH$wi2x3x9n**Yp&C&aqX?}KVK(+yHH#m->k30iz#KRYGv(H z({07Elhp?Yc%9V2O7;vkhE|}%3d8-uE8$+@syW}T+DtxnZacf${yF^7JBdn{7b-{e zv|=UqcfO9U=O1Xm9xw6Jb9K7DQrqGhG>1G7NY?!N^W;XJ)(#qiq4Vl`XDv&SQyFBW z9gXA7nKN0Tn}>g1y0FR4zCoIS!xOqYlh5gYNIQM8O#=X#&qld%sUtPZ8P@aD{D1rHbQuxRxVfC zw-l9Wm%f-HZ_in@&dz)lKNbpZbe=6Px|;_F#A4v_niSS*`E1ZQd@e32La~d?#DVXT zX?z*)!86LgsaS_)j`9?A+RWNG=atS83r zL5f{F322bJOM z{`>3KR_q9HB^gyq9A0F$@XWeNTCbB^LD@2K#flA8rccVN^O>lbW7P!va7%b2@_0($ zarHd55oXwAaH)yF^~46uH!O53VgrX1e7&}ZMMGO)4>G)AwDRpVF7J)bm_2tkz1MNT zjuXwEMPFW!S^MJ1;wUZ}w`sK~%B+(4n70@0)hltTZ;=V-&BWo6vL7<;e$}aOEQNpM z+UfYt4Q~2O^l8mV0xouSPy-w=H2=Ucsc1bz9CwViM-aEvYx$|}b1)0LKpE9pI>zkA zcLWPoE~1~Xsawsra7d6}@RDz{NqCH}Fy}mpUdj7Pj>54v>sXmO4wIe_P~14^TZA~( zI&cK^0W_naqnH%bMk=-gk!?>2REIyUv*xb!m?Dp+Ncm@Qv)~S!anIsttT8jRToSX< zW$uusGmbltp&YVjK0^sJ9!RiHRx*k(W0rRsQM8DpdezEVK@M=A^62@U+<~qL(Bq&Y z!>{olr4`JtifCwho$RXs580%u7ilB-w^L(zW7C+8>_51IibT)p-uaZE&@c9d`{AYYJ zG}2VHX*r%dEkM_-vodecgQRgyM2I}ocaF6Ius_hiK~h4HT5P+RD5 zToUI)P$#lb=f{RTWXKI*UuhD$M2*J*oB#%+dZ#u|9n9n8w<4mrrTn0YshnO?S!juU z;)Zvt`?n5I#rW@=TnpagI6DvjMnxOwlmw4;9176W*~zrfUP>e2)xS$FMliA#3OHB% z?sj4y>-^A4!7;Jrz_#qp$~Vi|KsSnb6RdOQ@tSI@y(Q zo{XQwR7wX1>q)Cz8K zxBk3i0M%v~)BaHvbGFC@we&-kLL^Wps1;Fd?^y<9m#KO7B6hQ*NV#?xqeQoo>Pasy z_t+I;mTuoVdU{MF(2^g?8wix(j<)g%FL~ApFA8SZF(4;K_i1xPYz3z^J0xBD6PvY$ zQQGgmZ%(4lQjakU0`Hg;qgc@%Pr%Kynr8(Yil)CahXSRYk@c<^Zu3y*tQuEgu!SWS zFm;&qA&5bfp%u)s_V7eSzK|86%XP4Z!p!HG;f^@#09H;YC3`FOqM|+8mV~xc)lv_M zkie5QB=T?sKhbUCRIzVHrO`|pp0U7fxZ;JGs9E@OhiXJ?)*xLRDtI@)N>|>j>ypPeSaS$&EKecwQ&4>vp;^h17nEeugOE~aF=li4YgaMYI?Ox?8tV{Ex6C5W z?D{E{own0Et$Z=7V!@G9Y%+h-)-+(UMK) zoac4%#Gfsrcp^9}w}6W^LmEDFv?80V3f>%*GV~z1YflT4ATHIyc;&3aZH}sABep7{ z?dqNq7gEUI_i|DEwSWlvvE2Eya&8nWyYxE47{)A3~#dy^*%}dZ3!9CyQPVtLR2@Yim3JxyM);zFC-L317@b5pE#XF$G znk7*1Egilc#5n*sA3yE05>G=pGYY zEx6~Ct@IP7t(9?&3i3sanOXi3xgJdndWj@PAD!bz42B$`4trtSW-rJLnDiN zRWJG(cBR$ska70@oOkN zIFX}aSUk0_+K!V@_hBfEZTrPa5;OFLie$rYZuxbto{JzHNI{JEhbY1RdqG2@i<_{*~a9pbaDBk U-bsrn4t>f%*Ys@eX@~p&3xj-Y_5c6? literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig12-verifysigning.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig12-verifysigning.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2c162cc018a946a41e03132b581d88ebcb400f GIT binary patch literal 12866 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig14-createnewfile.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig14-createnewfile.png new file mode 100644 index 0000000000000000000000000000000000000000..4439bd27649965355c5b4313f8832f7fabdbbb6b GIT binary patch literal 25578 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig15-setnewfileprops.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig15-setnewfileprops.png new file mode 100644 index 0000000000000000000000000000000000000000..db0ddb80dbd3d203581ce39768041e8736b763bb GIT binary patch literal 8534 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 G*#82n?`_cl literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig16-specifyinfo.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig16-specifyinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..55344d70d13a80a62909c55e673ed766f1f196b1 GIT binary patch literal 31244 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig17-specifyinfo.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig17-specifyinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..d79ca2c2af1fe741867aac21f849dff72bc4712b GIT binary patch literal 123076 zcmaI7RZyKx&@KGz4S|hoaEBzgy9D>(9^8XN&_IBVySuwv@Zj!FaCdii&inoU#i>(u z>Rfb9b@$DhuIZ}jHETi?whK%0RsTYV}36!9rA2QSpbJlbz!aJ9{!|QBgAcpLS*z)}{d9wv?e_uBvi~BXGZV zBO)6NjhD4k{smog83_&ls6>w(insv3 zL!KMymlqs5{JiOrXEoP)zc=<)KmT>V{5qp{0=^T1oG8Vn!~sPv5h20Y@Ehpu-`rso z@uV|+#^K_0U-$xG$Z-53Xly87>pPjZ3Bu7fWa5=s zS$){iHm*kjAUo#cf4jYYbsI;m93SV5Y(Uj#IO>3Vr!X?we%qZWvljw@O((CZH+rU8 z0w^CG)aEVs(;4g!J)~^s`!KT_G@*JR`*2C)+WvoPBc2o8w79stv$G)6E23>Utl{}) z-mTxM@oN3(#s6}DyV1Ty<-@A$BMJMk(LH+et$=7E7Qx?WWiLwdr4i}

#uue4E< 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Ξ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%0A^6+ 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

l0gyn}rQA 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 z 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

ytG~e#>%JOVpx1G(T@y#6& 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig20-setsoftwareinv.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig20-setsoftwareinv.png new file mode 100644 index 0000000000000000000000000000000000000000..2c838be648dedd6e11bce689d7bed24ab5fc1545 GIT binary patch literal 96447 zcmb4p^LO6O^Y=SwY&N!S+iq;*YHTz%+s1Zd+qT`thuzt; z=QXplQQwqhkP+|^002Oila*8h0LYI2k0rUgZ~qVWCj!h z06j7{`_QGNpb19vBB6f&4*ZF&%7_$=umXEP_UCs#k3M?NTTBaO$IJS@@{(F1uj{wiga5MV3RAD-fwnoEUv4WMpu7_kdY62!YZGK!aHS1qB(%dtti)2(JZ1IG|T4vzL`H;uG~$Jly~yFchNKEuL2aE)WY4_5Lkh z42ViY1ZJmEs{?t^fXRfp**@@%2{54vI9vb%v!Bv^AOQU&GHi&vcz_hsGEx%wE&x={ zXhll_I;;SemBJt&u)+ke%4u840<|qb?=%`>JphLUu&PFe(E-ptfXOHYg%=Q-4q!>& zY75>lRHGfy|L3XndcihIKB*vmI3{OUZEa>^+G#ml1}ttbBTGoALpe3F})?SK56sc;enfL%BLxerE`2K+z)m_YlF zKU9~{-;EIS+`%zc^{ApvK;Frk_MOxJd?S?~*S5O)@8DoXeo$QBbX?o-1JrNatNm{G z>@WBRe%R^WqYPp<43dF<+UcLXS1cl&Nq`SE+c=Dsd22!Zd?Q*QACxm|)1k-OSH*Dt zEt&E2j=hLHN<4vXh-&`RVsD%A6-s!U3#hdbhVY4JDm65RdQ_l6({bzF0|UTqhhyJg zS~#e{?;*Q0o}X7D?=pE*K%kXef-?XZNm4Rvj5mmkzyW|{UJ!k)7{PttSH@l#!oDvX zeTZ)++@a!>gZ<)Y;s_Rjgf1p@mBHe);ZwCl^d>BSMTt0jRlkQPI-xN4Yqp{YIibFo z!sYbQb_Tⅈ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

3LLO+Q&)4Z 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 R)PK$Z3bLv)l~U#({|nhHM8p69 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig22-deploycode.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig22-deploycode.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6746eddfecaa010ae9e8c8e750a3b9d990e530 GIT binary patch literal 39276 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig23-exceptionstocode.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig23-exceptionstocode.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b33e6139167551f38fb5f5d2a6151925341738 GIT binary patch literal 28107 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%0AqEZrK`L$ig_eudnh} z2T#*cgwOJgb=l{I&eKDM;v16G!Fib`yipC!I|(DJg|gFg7Z+o{-772)>aCaB4Wf^{ znpb|SE@ZZ@_-?1&IVE-&>f-JpRg453o19B~kGhtbsV-;q{s~(4owFZw> z9cCUy?J0LX4i_n@A8;cDDn7g#kzXN^=!nuizDPn3c7a|FGtI}p-yvuJ_$`SKC=GF) z<`Xc{n7A8ODa;<@`)wUYU2u+Q#Xy(3>hh=UP)|K{q;c$Ls^5*_EK^1f9cYHYRtVQ# z=lv*u>{CXXOaB;e;g^!_*_K@O-?G~eJdmk24uee-3@4Yyp z0`T933lPb3B29Ekv5|SSn!DyNl^51m6TUoVw}o1G+E(|U86GzN)a0%m&>Xf7p9h|v z5xjq=ZeB6gDq_F3UeoccEOM#3?rddzRk?28zF4X6bAXuce9%6TXuaO%xBD;?m!9N4 z(aZtMI1mxyEzVKS?TzvGU*+cMc(_UDVK(s9!uL}ZdVEMGoH+H%^lrAli9%k^F&b{x zu01m@JWpORa^1G{=@Wy-4s^i&7|b1+tV*nY*h!v9>w6*p%b3NXl`?gyb9-&vNG2IUf-L*HHg#*?|LEk1e!x_j&a)=Q&&KH>6vaCp&=o3%@CypcgHHm2{H8S65}3+mJUW(mfI{j*#Jo zEC%s5$2tbyva}aH@dVDLC8={Y(D$Bb1&L5uSF?0XzZ-ZE}Mj>q+ML@K?$|B>$BNN5%g~ zIwD-gzfu8kUiftO(zXe4m}8JT2H+;{^6ej;M$)kyWjJ~Fz^XMwpEvi*f8G?| zM;Dg$lp5b0sNO*#Dgcyqh=g_T=tBHl0hqsZJ-a&Hr7|A`n0!ULTK<-<7$hwdr6wVv z7WD#CA&!BITTf5=7JWZGd1y%?T}!*dk(~*i*i8Yiw3uS|d@lTQw&IUJ>4N9oQDUGC zprI=Kubn{fb()aS!87^u8^w=x%+-18dx*~`J1^i$usT5BX2W&f1evJ#7BN0IE%U!= ze!J@C@+iur@J8d4Z(06O=v;ce_WCd}5C5Hkx2sJL`D+B_q-&Gj>uXzyk=DOa21|tMa2^omh;-+%$qt~HLH`RIZa%sI literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig24-creategpo.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig24-creategpo.png new file mode 100644 index 0000000000000000000000000000000000000000..d640052d26b8c19d518898428fd0a015aa90616e GIT binary patch literal 30301 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig25-editcode.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig25-editcode.png new file mode 100644 index 0000000000000000000000000000000000000000..e3729e8214a05f9ad5a0aaae715b5fbb5724d7ec GIT binary patch literal 79541 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig26-enablecode.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig26-enablecode.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6746eddfecaa010ae9e8c8e750a3b9d990e530 GIT binary patch literal 39276 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig27-managecerttemp.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig27-managecerttemp.png new file mode 100644 index 0000000000000000000000000000000000000000..9f0ed932748da4dfa17d82105d28a221302bb5ea GIT binary patch literal 107847 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

$~+q{gqNboe;vA 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 LQj*LOH+cGgv1Ln= literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig30-selectnewcert.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig30-selectnewcert.png new file mode 100644 index 0000000000000000000000000000000000000000..11687d092c975ab76399b90d8d61e84bcb6eaced GIT binary patch literal 111543 zcmb5VV{j$T6E1vW+qP|+8{6hdveCx2wb|I(*miPaJK5N_t^51GAK&}wcGb*O_4G{D zbWKf7_tQ_5ijoWxJU%=C06_X7E2#zmfOi1^V27~a|Mk}`k);1kz&Xk4x&Q#kga2z_ zDGbO2006wQjf8}X3eeHj(FN$}MEXNQg4F4kqm|81O8~%gEl1s2L;Vz6=y~fwTs|@| zS>90%3zk$(JSGq`k(!>KHIY{yHV_ja z>K!j$0uYr33(QHURtMxm0!${%&GrE*OaK#_fTIOKV9ra14;Vl{nG6doKM_ERVHqh2 z015!AX0)QE06MGyOe^_8KEMhSfc1yAl`NpH6#$w>MQ8xPA_7=dBg5zbkUjvDQ3?uA zKxhU4Q~FL@@Rp$l^_c!YPh~U+wo~#+1?j^wIm2jcGZWKJ|G;6u*_!E#mLf# zA1DAFX#Z76bp;7DLdbV}jIlBYq{aRu!? z0|0lOj(v-?un>X3klh)N?`x4ynS3fhpw*8*&H#XsBqg)Pc%#S&EC3*xA4Fd#M)1&w z%Lsxd?1S3qL-;V^4i%>y>=#EBhqnkM{AEH{6)a90K2=9VZ^E)DO2i3L1%@X%Av5=D zwjm2Sp}d*G=JwHc1;IgzjlyD>lC4F8nMLbR#KYobguRgU$wH#XP?C;CVycqMCvwTM zsYPp$YRVGb3H<`+i!hMxNE8?aum^vHcge6N2Q{b)Eh08cw3qSVhe{VB%v!jzWhP+f zXU+aRG7k@k*Yh&MC7DmulUE^D4&&EpRY7z{ zJ(|zddqAQGNrB+FAw9%NO^L;1brf`zR%FXa2`M?z*5G*HAVO99X~>hxR z!ma^^FPV{)VKnR@=V0J~`os($4u1u?~D2#t=hP)9Nr=7A?G2qWjecKcv zW?6v-8drjzcy&RGTCHkC83w0YCf`&D_7C~u>cW%-d>{_+*{1fywF7N4g;*(VR(pQp zROTe@1meL15h)xiWF*p>7B34I2G<(T1GhF^p#*Os25&@zm51#-{Wt?9!%iVfwUw8V> z^iQJB7@>;t0zL^2IS%bcwfkf%5t#jS=a+0(CAeeS(zJX3=q=1^x;;9A5>AD7HcJD$ ziqy1Jol4nC)k>N3Ztj}P(wvfRsZQPZAY`!-IT`~R8S8{;sGMWmY?&CK?KbB98Py4shM;SyN=te|J=yk+tT)`nO zXGcLImXY;aRSClZQHf&H6w|cb(8TsR!J;MUIBAqvn_+`}%6qkb25utuuo< zv%<08f-yliXp^I!wIE}SW8Ll&avvEJB_BM&oF>eiMKHWM+I=AB`si%9>plONlhv5j ze_6I(d&PZaa}}|XH_4etm#fR+GCMFTv7>r8CxVcd!fLl&<*zKE9Aw>mOu=H#lBiw1 zT-RFcQSoegjU)Ud{3~x?cwdlbi+xMic#;RyI@&s+Jm8pX9JVbHK=Ezy?fpFmC=H|n zvxbNY5)0A?e}D1zCF_kB;a|6WYFND#i_LEr!xBpft`0uzt0n`EUi_{mdp=H|PMo$u z4pZ?z`8Nw=dSn_i;EzZX77?Z$E)wq)se?bqmd52Vw;|!OE%_#yD!G+q&8Ey(%OuA| zFI>TFE4aqf!Py})%xtAQxulb$^W&#HAs;h+4Y$M3p6!pz`-r`qJ%oK9oOG5^Lnp6- z>HdeXQtWbObVmMEQH4k)-sBrGRQfXPSgJb=52|>0uYRI_YjT!3?zzYn2?Kg!r8`-A zMejcsiCtV?ltUcFjEC)^H08g$6p$1)v-oqdGu=t;*@gJK*+Tv#{&p6xAX7|gu|Bgt zvT~oOvJ7kZ8ghtfWg$+18MABrT?M7f1m7ZFa-yL}yG#$$U~Q>w)jJh6&X-!5%P@60 z**L!bnvOL4foHWQJ~QFoOsUxT2t*E;+@78FCc7Ic+hTXYM({gQI! zrFL44e>b(aqFsCqNbu0C>VMcPpsvIElUS`*T?R@3FUzoDYmC{fodz!?S>MgX=A`8K`7^(6n5-AJ z_#B&0Z`-0cUU#6n?#@en#~cfE2}~Q@wYlCktRG@%w`phA@*CTqxt=h{U# zj3|cuvdG2r*Y>kbtM_H}c#0iM84eZ}6y{%8GYG75@_bpe-{exs)M_b4=;-1n-Eff_ ziR6W(ir&{;WO1ks+l*p}u)^-D&%Dfy9F2`hjlDuHR_@aoUSA@V#d0Kmls>-fI)p16 z2`O`mgikWB4SPC_R(IfzD6O}>KxGe>7nX5rc7%{2CCQR42#!y}^W*))!`-7R=+S{? z5(2>4$jiHThu2#n4T6_XyYj!&qun97M+xQH4?j9m(!kH;q$CWEtsY%GG~Bd*X#6uI z7&q%AG2Gv`=Rrd7`(tfX_c$yED;@WR86XnD5$+ie_a(O>$UW9ChF2wC+H1bi(n6}X z>u1e(u{o(2Y%`~}FnK=gm=hv{I@yQ$9IWh#K4pY{Q|5~g0a${Ukv~-TX^#AMCzmmO ztFNZ*{)V`i=zAe>4=ua|p(v=r_HCYXg+6I0dEHmUu_Nd2Qk(7cMTcSEmT1S(#WBKx zMCq;b5T`}$4I?xIcG9Gf9A-e^$rc@&i0);9vuzXyU<91p`~(YYcq=OwBQhcD2ZbBu z+pLFVMn(ok>}Y}=+2t{vW7)hq=~XBcy~hiyjyu(Px4#L_BjC?j=4kq-?GMZv+5{=tl(PLw76r8nk& zJlDBRMnQ`SpCb8@D50c;JQ+DUItsIzP>?|3s6pydGrzM#x?hcni_6;=nf@?>*LoDR zEm2_E6Pgd1(x{30fEgUx<`~#yFVGUic!`C+1AIz@J*pTag)Cn^3S7`&di^0Ch#v#* zEQHjz%sbe3iAN%X%IW0X+@D&#?km@s!1#g@e8=OkdDbOg1r@9pLYc~<|9qv1goxP1 zKtWBy=$!u07YP{I?O{G4_K7wqIpg03>P6J)4vH=QhV&r#3Id(C9 z3;POW_8HBirslHFFn|;MJ{b@9)cU>w@!GZcWJZ@=vr#Tu=^N~`7*59@h6({TO` zwec9_+-n}a>z^>d*Umj#(6x=@5-7Ht_xjqRL2~fvsjMPn~Kaqv*zAlOW#FBTx=JSy@zwYa!ws6gc$gr2FY)M+znQtPunw)QW#K*I8^uYIaU9~JZMPbW zitz*9@LGt%nLs&r8%0;Y6tg6f8erBX*n^+lkYCgq5 zBRVrzC^m*obG++>hoiB1roFg$@Voq(nau+llgHi(#Z|ZMv>>=>ft)9*t9RZbg`MWj zS6eFj=Q^oNZZC*R6<&T!)lN))+2o%91587ZSqA9)0= zMUu}7qZhlS9v}qDT{@fhfraYxk>`2RXN78O#e3(V4-3_hbon_zPY(*}c#43WxZ--B z3jMhm=R?x7Z+n#@REW(HC>zLh;>+gy=^>4XC=vI0jaEXwxAQYd0mD=NsuB=jz1n8V zR1u|j=rhib7P}39#IozU#qtkA(|)5(NpmFh9{wAlaiC{l}z#sma($C z#iU31=SAMc_dMqhFfVDm&lD`LR(nG;^PC;Lkdw&@|BgEm|8wdAb?ynRN?sR|P*h1@ zBgy}sp7f?g{(04?r2L3p+!Gs66Ke#=gV%2(HZQX#r~RgjCcC=@ zHCJ9G#o=p*-EV_fllh%?bD)JMsuD~@MSCEuot>T50VVzZ)JC-orU(K#e>h!aouqf1 zc5EQ2_wtR3syRz=Bnd8>$O9vHKWr!(ECs4GX{;!25G%MTshZsW5TjOn2L5+1f96{nEGlP#|MOgM_?@&d%OioQdCC%P>&$ zBbQg*)NzNKn;RuO0}G!a?VyI=c?aOg5$4DJU0(MkPJQwL0?e$QL*a%nI2XEIo*9e7 zucUK4yr>w2Cy@x6>pe;P&r(`s&n!_6F|kjGC@4l3XvUQ%f*Cq_?d;hO zO;C@aIZr}CtPbV)27rjmfuk3AJH7-ajNG#VFaZ2Jj2`^R3lM2C#TxxJCxniL4#|wh z)8am#(sO{{Wpet9#?ToNyXTCU*&?azsYLTU;N4HvwQ2#zDQFXy7{P!o|nQwde&rk;rDj$uO9q$4*~*F!>t8&VP%GkmQQ5 zS~WG|klNC|Wo2bvx_ZX1*_LGf>%Dn$#9zqUkv0#s292Z&xkF(uZEX(^t};HA z?`&6$%ojq3ip76=d6++TtZo3ytT=(#Hs^b{iQYg>w@n&OgVH%*UR_ITmjAZ9Q`U~S zI>FG8xZgazO2j@cN(39^q3s(8p^j4!p>R4!>(3o?!$P_%{*H!R1t9#^E{?iA-xRZw zvWr7b(SQA^n#2Zx@-x%WJ!(mG*3wN-=QV!110{AZ&rFg0y`W-;z}j&)yew8(s`g=}+*l?npl@8i#$C_xrxO+??*UI{y zq-W7?nL-z~`Qf!c%*?bg@bo1qs;orV^EqU4$`nWr*3-I=3|#1K zxg^GyOR%NbfUSO_KZAD6jgm40x>$Zpx!6fIHJ*SXb0$n`l>+=Gn^MzPg`HGXT&4)R zekLVEyBc+WyUH7Z3Y*{CTCOs_zrP@=4pH=lx|$t@mNOTe_DR*smmhtpHAt)mMuyyk ziq7}z0iP#2`P%DXjJVEck{hZ$SL*2Ln`jkvG9OiL*)3*Io?t_66%RdUJng^p&`ti6 z5~|0eoU0Uek&=RG7Lcjheaj{_2%ShhH>n7+{xjvk>}4ThpqVq4y$5Bt|RbLdyt>FrMEvaBq4VN+qSGr6oPxRivKi??bXwfWrRZ;2=mD2CMv1m`G=R&w~N+NZgBE z7AK8gdHVUJSp4tI2$b|?&Lrtn5+Qks_tCY0WX@&W%hTWe^E5t6&%5J-zr`$(`Xu^o zF83`VV%?LiPGn?cI>u*e^bl*kkK+?B`qqpXPFncL%Ftw1iC{JC1v`e_+@4Z2v^GPz zA_*0zMIIwSz%sk?XYCS|zHwg(6?JLGXEPNqS)bFXKaVjXYoPIKqbx`J7iGndO_72X z{pUKfh7&%*iH6Mq+6|j09`+Q;g}WHDz{To;g-~I|LtT<<>z3nwEc#?n72zh$}zrE zmzlb{fVponX#a7LN6Co%bab2hZ{6R>)ZS8%C9%aFDC_yxFcR#R@Np;0c42z2pAgjV zqua>y)aXLCOQi5`o7jX|cH#}h-`SvmcHubQ#xTOxgyN93J8r%Myg5d5+8Aw4M|OMp zr;SfwYsFSTp4>Mcmo;6bV(Vw}Y||Dv8b)Ve(h{0Fo24H^u@#13NCBz4T$S*Xkf#-% z7eC^d`F&eaGo*T5lO%8<+@f+anKd`W46EEddCuBh431QFtF(=pK523Le&LUu znjHs6Qb;H1EI}N(&dY<2Cku0v*kTEy2UijdP=YaOmOO&lk}o|;D8P4_WrA5gI>pBZ z$7FJF@GqllV29$;S_Lh&JLlkH&gODrMs(XhtgKAFA*kL38Ww`HaUxcGKSDK3+aQzO zUX$Ibol`=Dr36QV%S9tKtLmP&mZ+fY;k$ifBm~gu+0G8Dpzv@8B9c0s3mk&|>u%C5 ztA1QmA6xmUi%C$ptjym8fMe*x51=cst{%IuU*#;vPJ|F=D~8_qpTD-t?5KiZKU63J zEDkC&sex!)pcB|G`2Szg597R>q~pND!{b-PecUG|#){*ex0w~E3|+QtXOL8z9nvF{ zS=Siu|1;CU9=WB^bXA4oK~ZO}xBZy+-R6OJss+t2<1XXEMGfi~jrB@=jubcZ779B7 ziG>?r-9>>kT=|7J@8$OL-e0#XG$zlH<+wNPJ^x0`G-&@B^cuPoBqe}-O*R^knPn_G z4zfMIzJLDcjnn73)hi>e=S=l*Tlll_R+>vB2YiN}RS3$V>6RcD@Aqx}77q9hNR2vg zyV`1$moZ`Z?p=2H^BZLt%IpI|FjySC{!3u_=db>~*QeX)XoT|Xz13Ddy-$bHEv78h z)L(WU^v;)j_1}O16BS@xB|fkb1U(1v1zF}2J>ep*JP;89zFuSOHu-$UR0iI1_nRBd z?yUAU7-rEt>&EycQ=IunIc^{j7xo$UpghDeQoRvnC1ysxTLC5cl=kJ*Kw7-v^bQ9QWhnT?T!1 zIomoqi1A8SXF=nZ$`&#MuZni^DHe5m5mr(VPN=AaCnVALZ~ebzLSP<+581v>YF~oQ zAVPYqzacm>@hKjP<_4$tlYp~^%^!WBo4Cga2TEb^cV>lDmw3A(l|EbS5|=NKy4AOi zIqtFYyTY}yw-xT0a)&pEPnCPs@b<$XP!R;NAd#dy@HaV*fX6N2K*u)6KG^7=%f{lc&(Vr#%?q&t&szdJL2+jqJu!YTG)D_xrb!SUzdYm2zbfNSO?#pZl#6<(l;jD9WlPv3X zK|w(Yu11_hNM$#YNWk2f<4t8@m@QUBeUG6-?A{D6?j?^AN_=YdmHT6Gd=uq>g($Y$ zfQ@C8Sj^!{HH9)9B`?3Rl@*@gaGT_utm6;vfR#Fkl)KLNg2d9?h(JcXj7eIW5TY&F z^_dr31fpLGBx{xFXS$;Fj$w^*GWkm2p*@Ve`o#dGD&>OqA7#ULg!frIVg_nz(f@8* zG+*?Ni&w?Wi-1pm;HWki8T>YB%YZX1t3(mdFJ~L4%Fe|RkaW!7M89W`Z zJuy<)BeLeZcaZW-J_T>IvRg9D-&zXq^&lbnI6A%<7kdRn+;(|Uow{(_p(A-*Z@Ia; zYN)G2INRF~sOs69jqdBfa5$Z1Z64)_lvSIj9po$~Y(c3JPR5OfU}^qvM%kojQp|4b z?$64YrO2!Mun739T&o~d%O4?d2w2MwHI08f7GdFthyDs2j;0muk+^m|6e_8<=URE7 z&K()E7cHdL`fDu({JS~KLRM^L9R=rfef2xNGao#upNfF(6v_$HA z+_A(@Dkq@b&&np4rlgN4xBPG~U)r;V#0PF}Za&|i8|Te}?3{0y*H(2|Wpc-&4A`P< z6s$xC-%cRbS&+oJH0$e%#KoXG|0SX|#x#^l5naMZ+;tEHdL=cqbr82S)Q(OuSD_}a zlGZ>V9TE!AA1w*$vFj*a4a(cEvB^ftvnAs2S9;`ut*)-}@$(Ii-sFBIEJ`tS*03v! zuSd4h0i$g&LPClhaeKd`BwzR>;~SRHtwcKCco2j8zsx5XSD@l48cwebf@@o-G} zYP}fRIN`SU$*?SZXjn;=S{xqsk-TEPn2T`OZFnkcy5q}!y#5q6we64ysc@T2t?kLHxG*|m{ zlFjLGMC-Wox^qNL&1_?$D)3x`!RAEs980-vb>7|`zAXchvJUE@J_!|aTiiC9ET_G{ z-I8*ui&&Dm+Y9wNFg~LfmZI+lrYK!6$fMHt4YR(7w{t>G4s&|bd6Fc3(Q8TK#^yH? zp!LHhZ3W9_@{3!B1vstnQ$Ma0dt(D`*G;C_1r{F@~S<^w#*Xo!n<$R2dZ-l+$GEg)4p8eb^aBKMhjY>BiP5b!uyj1z0<-x&A)`sEc{CiiD==G0A z2cmpUn)G%YSFq!`#O0okVN*_}=|;g;Qy3!_yR&O7PKkl)m@khkYiB!_<^|8y{weE1 z_R1YF?h%rSOyZ4yoIm_jArnB$4y)x^v$|QXjjhLrw4aIl_WIu&(G?YKj)+M1n)S1! z^ehi%Qg2KvGuttdp|}PEfJI)wYIJ#t1rI;v5>I?yu#=R)A1t^S7uug;)C;-=mQI4~ zoX%@fnP5oUHTN+j;@n-MLs+543Qs9djp&wMei!DVU_k|r{#ZnWgp_mAVxeqzHrzlw z4+Mw+FaSsRAMY#EsPvU{n7-5IMSt|guV>YvG3h&4*_{Uk+CjqJv+x(>=(2DkCo`0X z+uzY*&U_m*mP9XifTdCa0Ux2gqpi4J2kBG!M=$old~PFm@1Tiu_;{CEBL7L3yXeY4 zo<7bOsuQ7_0`UMDb%7@YXBS7~yMW%c6DWt{BY)!4+8u33<;rUvg!m1CMTJU7*vQHj5o4NrekE}^oVdA=$LgvIgs@-OQitLg#c7GbSdYHyLK&gn5@D>N>4aB;)( zMfNI2AH7ot6d|9!w>J8iLfW$OEO_Lw9aau0!ma4}K{`IbNH5-=hsdV2Jk%yBh>2Ta zpvhDVn~yOPKPVYSpmsc>V65ADUWme;2z}LsBojEqIX$}Hr(G$iN3y-}Qf8BVonLzM z@ZkIQU~`4|KDmgrYNOj`MpM?$A>t*f|>1IxgX`5O_ z_LOvzA6T&Vfs=yq3oNX^t5_}hI|OfmL^@n$mHO?z2z{Me61}>~Jd|%_4uD)2wKPk* zqLipq+Tck3Q9z-vW0RAWY0rZw(}EM=XAm3w^cSViIMoxfI55`OqjHD5l@^$0EhY38 z+tXY@gDV>Ri+Go1EjP67<;Xc9@7MiJ61s+L2Db@$YYd_@i5f+Jv#L8uFEZ*=EB~9| zj5{mHl`gnVlcghv-TR_?Q_+n6VttcCO*LhQsH|#ciUGaU=JztZ@T$Z^8gD|j@SbQ( zwKJ!^Lt#*}?H2|*d;dp^54?y?IhQ7TM9JPOV;m~rSer`WKA zS068v@CN?>z#44TMT{G$7%d#PAMWkso{B~$wb_eN71v}C6RbK1N7^XpB+FbaAyV2o ze}y9y!5avp!B&?73BByx3ILp;sfv_2Pkh|#w_kwGdK~y630SK z(HYqz2S_&5Ngt{UcNg#h^-Z!jZqXW-_aKca;cAK`IJ5#BIsK-ZO(qK!=(U2}Cvp}6 zIIN!xo}2e%YxxarpVn4He0qxYbep;ZkpJEnmu~46>&v)hS%|m(3)NZByofz3g~Al^ z!=LZSp$n)ZceTJ61n?*NczU0LQqN?p=&Pa$+Y{7Gry6UhSB>7as8RWOm@{pv0!5H) zU1a;_?Km&nGysr7g=r(0Eq&~x&-uJMm*5sA5+&xNUU<|PX7O=Thq-%{HtE^3P>*vb zVij_yC6)Ui1%y@VCs;Dz|E$5pAcCPGkznyrIZ6K?75{AjD+VF{ zjfI4Uh6XF+ZvjtOx(xIT3Re`y^sLpV?via@>P7<)rak>0O{Q%0BkgX4cjp64@&+GR z+PH?7s?Ud11eKngFMsBWT+nQ7257h~y-x6>32EYLN;TQtI>nas|A&-C`~Cv~@$@G& z_L42V{`HR1l@{bdZm<;_s6TkYUHt6)i#@?H>@DID0|*u7!WTz<3!)Pg^nI&2gPpR3 zhlTa@0TUDJYdzQt4yJCM%w^lTd07VD+}}&QzLF_?3(o?$)f0&S3n^8ccNJ2`S9Rxp z|GCTWYDS8Ak}C53wwq89Hu}P?%6cFCI$r@)m6o<9e8_>Eh9}PtpZfpTJw!!&p+E5pn6#tj$(6JRt0BvR+A3XiksW;@~=kFgJ7$G4D z?SqND+HK^(+GyRIJ=N52aZnwKC`f*787XoDEp(uTf-|b~F(PK-V-a<`JhGwk_4$Fg zSr->MR>*J>NXe)vL9cl!m93ZR?e2X85;D5JooOQeX_0G6Hhw?EgjI4Kca7=|->-Ei zs#lu!d5GhP`qBM`y>XO@+Zj6$Tx7H_DlWn57aG!-dRg(~V=;&m^3ae(=NsWC!^08u zd9qh;maBlU@v$6QSYEF0G!j_p9xz`zxMA%2jK8QD1vj>KvK5<*Nue-kX^KI{|1Gy*Axz&f3!D%Yk4T zgIm*`p!S`9?W*thXDIn>CQQxeE1@dr-V<)^Ar!i-TAg~_xS>uc$j>I}i-)snPwk1g z2uzO|W6aPI7QHT3!MCkHmK$w=jY6pylkh@6Y^INi4JKJF&;4QvUubyW`8Q+)9A?2f z<5$Sz&Kz>nAVIb&|a_ojPr=+ZRpWn5Sq*Be&(V{vkubh~w{W|6{$Tgsaro z08djk=eBi(R~Co8#7}l0s4E44zx9UzmoS^b=Yz=<9=~oU7(fbCHSUp#jg0nv?tht` zt=$NCFZ%3N7azuiRg{vjw`XdI;S^t(6$S5az3PVgqrOp;_Y0{YsKI$(x)`DDt+11Z4gC`9&x%@1 zoNG0P61USI31A8d5xhg{JA*|3cOO;3yFTNdZspET^5Ankr3+{@=pHG9&b& zJJ^75A|#W5($JT->$*MK&fWrr(*-mS5h?QsP15}v;N&LZddB{alr^RF> z$PsW6pC?AQ%805+We5x^vN|b&D}>g|g(5OI>qkycl=JdXh8l2So4)i^TeW3BT}ho3 z%EgfCF3R-)7}uc92^AzagdJ?jmK>ZEn-7rm7sE4hmZDF*6G7Z{n-sSJ!%r_?log+{ z&J7grU0J*^vnIp`Z8>pNS&GP;42ifaZ?m*@D;WrlqdQcyk7mzzKYYk&&Apl%+Kx#m zPTaELU?%Bb4hG43_5W(}34JG%=KM`|(p%lmxoZ!g6)-qHf}PkPgJwm3{|1(2Iy52v zEZm&U=HZ=hOz}D934zv7IT9O+R%ZUNe0G^i<$57^kmd|DhS7tggvjRP_U{k$0A?Tn zaUIbh)>8KTuHT5 zjKjYK@HbSzOlBHZYj9LuudjfW7UFU(mcH7=z?+_gZc8VZ!MxI|VA%!REfY?htel*Zs#azLNLB4_#X|1y zZ8v;N^=T|~djRV`BIYzmZ&rUIyA$<8Psg>v(Pxdh$O^P|*B~m=Rz9MnO#P}ag|TvJ zsp@46gJc5VzqFK+(#>>-GgJ1vCrIq&F9RYzPx4Q>o=b1hQ5_SEFmZJxhmwR@SyW07 zDl9=J%>sfWJEiecZa?OFt|8X z5zH+8<7u2*sFCm1P2#TiaK`zM$FcnHUkyPRfRjwkP|R)J>9}zWKCVcvsrivzXdo*c zmA1qls8|6j`=HcOQZ2Oj)kSQ3;T>a%am=3xpdn= zSzv-8SR-T5f;*9*A-r!h?mEyzVtvxt*XNMU*2dzMwTPMTYAHNZan3DnO*;;K4sRy{ zSFh7n-&D?=QEi^Sx!H|=&wOEnqQ^>^O*1NA0&yN^fdDnr#e2Z+?3TQB-}a8kYRq5A zjQQ-xc~>y+Zss7s~`5ZBJtY;mJNb5$w(S(syU94|+&N+AS_NxoD4@2v|jQ#mkd-Mh`-o z#hj<-ZxzV?Ypwc)3D_3!{bl}ObiJ;v>n+i?aTJoBo&UZDV(5?>vt+{2{u9&^lfykK z)OaVzdv z+WyJvuNzLY@hxfNsK$5l%Mm?!t=4VvBAc}s^e-E8XlKU}{7N%ns=&EE47HD#ze|Q^*PS~)RP5ed#M=#CIDilJ6BtKy zUWrkr+;NFOKYvVmLA$~Mmh1m2^whtzX+QovmbQoth11$Fek6^608J4ER>pO1@6bW7 zy`FG%wigE<{6N|dW&CYEhWbGC51!a_#oBCM zntlrT5fo{Ok%@W2E{}`N_5bfunsD3gTzQ`<>fRNSA^9YrdDeHVi|T!$}y0K{*_T z3x8BN*o@V0*`477SDI%z)@uXMhs)*Rf`o-4m<})GG@X)Xr5lw}QbM|o8;le0O?f&z zEY0NLH<9a?)9lNixaL$mx35%VEfL?&aL(!G7Zzr=X=kRUpqyW;mpg`gp@5l`Th-yV zaF3+Ie0j41;P#m_L$4Ud=!hekX;JPqFbO5%zh_j-Cm57?0#y~EQn@nI)*UU;kl%@2 zSLq60(#Bz0Rg^AJf2UfS^xvY;!RGGMCa(irpjVjY^Lv71+|xLVy6I1*P^%P=`>MyM z-8*c(dxiT|Rxy!$E9Vq>;PmA$&3r&bdul-71K1+|IJ=a^meeI-kri+ZbLXQEJ4P~NB$z5d(H_5=CywPyB) zca4@pl4nu#>+(P7jwe<@QFRXf+oXG!zox9V6(?1QAaGto9HNpqeD^gBThAt-W~pLe zS=2yUSb?L79^<^hlge8CK=Ifw4b<8Yk z{TZF%N)p?V_7~gY$F*}$0m`P<(Icb3nZn#AQb0Oxkvis#XQSHB1%CFbC7x=P%-gff zXBh~WST=s~qJ^Fm?emd&0)v%DXwM5~<~jWkbyfJ(6d}hG-NTnUip{g}l)*C>xdwQ6 z+MM1Us01!D@3afEscX-mz7;ou<7aUQoy$9Np7~8_gu##t2SsEKK}P4Q$i!Tu@GL)n zp1+QmpJ8~%Hul2oF|%+AH5O@z-r>tWMtN9B0VKdtq~1UA>PXJQxAB@2E`~3ox#Ysa zUp=n@PFL8Z{wLr5WU=CKTW?1}uh9rfZN(ZvgNNDKdI;DS4-#n-`aP`sEg#1yZ@|67 z5OK4Po*|=O1e|mKEJM>Y%aRDyD&Br*YPSEt_eBVR;?U@}`{xMd7`#smm*k3G-W|D> zrh3#=T3DfX)i9GYi9;7H*ju$lZI$@SR8UZ7HOkYyK;tsX5`jpb$F0$vXeB9OYg>_! zfC3N2VpE?Op`AO1*B%oUW%?+@BG*50lModZX55Kj^-Jl!`=vj2AxTIPmzg19nEHga z*}CyX8XZIAcJ}qBiN$JL(bt*0{Nb=jMlc>N^`P%n`VvMZgh!Ds(eLy@U5?lNVH&D& zl`UQ&o`Bj|M>r&?rI1m3;u=S$IBg48~~&i*Bi*g4{YP zVR=PO54r(JE*tT#mk=;Q5L}T&r+K+B5)8tFoR68Y=WJ3qL1M)RQP7BoUMcjuE;~y& zmiP*i&DcyA6p)H@38;|W)j-N~Kd|P%83DOD5eJma!bQmNLAE#_r$nXhP9b#x_3qz5=8!*DH@BB418zlnk91m^Cn!hEGl|KC-92dc!&D zVbvo$VQ_yVK*_Khu3x>_fgB1%I%sqA+Bt0|eHA`)H|!?45Xe^8<3=*y4$61_7Jlfq zGc`ozsxeT8>+-%re@mQg8>VH9GR;-WOG1icTTq^#B%b(>M`k9VC4NU$b~2mbKZ8PDwI>S zuQb_W)0)A;1d{!+yAN{nzhXc%#OlDSSR}XqN;EeU?3pj2ut^dQwUsx>?O}g)dLImu zO?9%In7AhX{+$dl6Oww!XCUm_Puiz?SmC}Ix_0t%}jd1{wzOA0td-ZTTuxzLRT8nZ#2iH-sP~zaO*Zvn8p_s z;OA1DG-Jb|=jzMI+agK7bz?Yc+SfV+~9~@#~Ny?0KgxjXV zH)?w9y)gCfQQ4gERo8HJ1(3A384D<=e1iaMdY4wdnm<^pW@>g07DH0NXb%?Q;toer zEI;~Uiwo;6FER58Q8oB1Nv-^DR`*SE&Pg>m*OFaM<;rH{-=0ID|Dl@e(f*9sU?jJi z^d6a=6>-jnLIQ`wmX{eu4jG+A6-fl4s19DAG2)3};S%z4@)Fx97?)BCB=X{!IaEWA zsGh){|3^8|P5jwgy&%`a)g>+wATqE1fy0@slAEVjg!a;9R&7I96FuhLbd5#7P78)c z*H~!!0vkj-YVnnE*zj$YDeLtdMA_&S9x&Y*dQ9U^5_z>PR>T6|yoy4+-n}OgWci*F zknw!}&oY5W>ZTB7xTlr(|3{;nL^`zG{gK49V`Iz9T zVdX-M7aFH8K4&tLcxEcwy!An@uyunjRajhzhJbzF8VT)FYb(knPzqAF?*X4 zy``5d(vmRBjVRIuW9$?v7?a@fj02Y0sIn9hSOVP1Y|UFe3rUe)^<~sEKjZA;Vs)+* z7;Uh zKdy&&5D!aG!qj0=c2-mwZv=*Bk`Adr7`BsDov2913f%qwK7NNH% z(>+n`QEpTL)kFi2t7iTYeCCtnY(9a^VtRUdm$LU2+m4rbd7s3i5(2^6-c6ss?f}E? zk%W$2fe2>mmi?nl<#ECw?PppJh343Q8dsbxq%@sGr)_w9%mqyKZGW}_W#S{aU`c9_|jszd87Tce;FEIR{%krOvqlW`IPS$|y-z&B^wM$5hD5{H6zhVYV zwve@-6_|W3HYV$@Am6$7Dttj3@1*7}tX(=W8J~$IOvmlTOb2r}xc%FwVTUO5CaG98 zuM-9q2YY#`9_LS^v?dj1ovc`VdlPSz>@MqdO0HVO2ZI~K;Ue>a_p&W0ay7bX7wQSE zu~0a{@?=V7E`!@dh7K0bd){zXbHU^4I8Sa}Li{JatIyR8xJ6HwI7H|IH_q3B+ z%sJw_ho8JUaZ3a3$d8}m)T;V$VX)US>o9C$yTG}9#B=Or7{SU6SifP&&+Y?{Cd}n^ zCmu^9bNFgE?neAiq7mO`uq(GqzO6ChCqr)*JG*!;s90EAWG-kPa=2U}9AAq4>*SOu zjd{kPyq^GYQF|ea$umH1R{T*&H1+pjkbz;kq{$_Xa;wc1DJwEU3etKd1wzY%55F`r zszKfw1&z1ur6g20^cpN_PaC6G>8bQ*7pC7rcWQ`Ozn((CpDLBbfaKpFtN73|Lqs)U z%%jJ4M=i=FC8pSUM+84GD5FLN=_w#%(AAiUGg#%VGM7Y;=5-&kH08$5$TCi}dsH9^ zUO5#aNG;M`eSrtpFt9cml0^v-!TW|_G2&3_%I;3yP=e?Hg1GWAss}9Ny+(vfZARb9vE&&%AoTp5!y}tK=_RAIFf{QWH8V%GYa zX1G4%dA(Hj9<>?9=46>s4D-1uNX=UAQw`{q>UTPY5b6>y>{wdF0oEM){80 z3mqi?k+RDp!DTNPkX@p-B%rojVVS0Sq5QV;J&IY^J$<&lo{%zY#jz2Y!(@5qE9F^N z^r){)&7Pu-tLvdDGB#miSo!&?K+i zmRXK_0OLu!c1v=LgTIZCW9hD%@b1ZVT93Gl#vhw5j=HAPsP+*C@Hhv1t~PYYf1hj+2VL@5B6n$!y8#+SaKBSm1Ex5gPeaznbfcH`7 zxDn()$#3BD9=+z_0R9$>1lLcI%?D8=XRbLgY)bT33E?*f6LzH%;{P7k{2wUvKhWkk zDk?G^fE)xB@{Nv${FmSPAK3JNZ~brV|G)6*j<+aK#79R(WlskN0|VoG5S>fS_RT0R z{=KH9EpYyCaWR$JLQ-B{d^3&_*w@#WTXxvi)`rwx)79mNgQHv}!O3U5hA)1W8+4_p z@MVK-zhb}cB0v}v#vL05jm?ih;|mewB#CY{b-lfCkcc|OpMlKU5JBCp#~%o>a)GR( z=iVA4*+xr?ed!CBpM_8g&uvpIy}y}&2z>iVg&B(;{H5z)LUw&z>yinq(9Thbm{tJs zenR-^5Fs7;f*_nCjmvPddXyx&Pb+@YzzhL!h5<+_1m^8v;QZ_B10uhYK(z2LSwUfT ziGM#Y;(N<)0kV*)>U}WdkO5OrP!ORHHv<)w+Uqgt${yhlI>htdog3Duu;}P<6|X}P z2~i{GDCSR#eJRqAX*?9b=H}+zGEA}$m-4<{Y<=zpzE*6Qu;AU z#0I2CcjXb^M$^`oo^1_Is8MMqoEXqHXvE;&aEPIj0wjXAprL=%pjiGs4or%&22hZ@ zC2&8oc7LF_P;E+^HdlGuK)i+}d4rVFabaO1V_~7962G1mPxl1WTo1!*b2Aw#?ab_0 zH26DMSSS*4fFNzLk<0*}8(gv1~$s#Wj76p&p z26$In*1;zjuC zD?#+53WE@VR?Fc5G;ohI6vN&}Xj_bcV2Y`tr7W#uzj&BvoXc5+A|n`jy>~Y#I2fcb zI7oN^O#uZhV67#ZmXB`yG*#+XX#b0L*H2DTVKty zoge!hm_N*Y-R^9W*p6scu+H(VpN9X)xQB^{5N_7+a2(`>)R7bTW&`ITuKX^p(3bjw zZdN&KDsVkB2zmYC2~oCP`UIG!h4pOK!nX66V5I_?Is||0HJf25sEUTvelvAJpuecl z-?t0)Y%tD2nt?{BosUvDdqbKZry7Mr{_LNqQ(Ij-D4##$v4TM99wnf|q3#%Wqu>zx zA$#NC-%ople3%44YUp9Y2f)Plf<>;m^ry*2<>UOQ1$#>l7Eu!6;qd-*u@hF1wSRDMWyD-#u}pK07LBR%VlGPL;p@;_bxLx3 zl%ncd9dW}8E&hvP83%p0-TnfW{Su#`g(y(a?JN@Zl_E3<^Rqw9mt_~Mx$xVR2k?!q zYS~@#c~@-%lOPz=;Xi9BNe17x^~A1E^E+g}8f`X;7w-PVT;jjP@N$h`ZNI8uHrqXg zSntI|-|PxHSZ;|BBM3-p+JyF^2&DBmBnUQf^D;rt-r`h!m*kS|O( zgB;78u-FRFi&rVmY4>ym>uKLMbNQ)x(<49~v%&Wb*i**_6B`N-#S+9_E3#jMj`vbu z!##`d*-L$0I;o6c;Z}AS$7v}3qS<2HYzFKfEI0^1me3m{U8IBcf8lk4r^5TZaQ-p=Bg=fjbf3qkX*9H*@iN4Jy!^O~8PIgTlcJ&0?XY&;@e;~y zL7v%aUbD(-0K_mSX*n%z2#vu{G^+{utWhXLuRsog&^vbBrKP9=Y~|+Bo8a-{Vx5ya z-?O8_?7f9{BK~dkg>Ch7%kZmcbfwmuzk@&p=geL^YCfD!iLUND)-7k^&GEOr6(z8m z6~t~8RTX5Tf+v8`;$s0sAdA3E2;J#P`84PoAka_|z)A}JLn830F;o%I zTU=a3Bo09q5#%#9GwTv#Q*_aQjbp|#*;VuxT=BTb&)?Ze9UQF63B*3bDF#XxPnJ}Y z^e&!kM}7m|z4<2f%XRtrfq}##_7c{{D)7Un7w1+sR#3RMQ$IsTo9csI5=SX~M}@w& zk@L$NTU#4TO3H(Uu+A@Vv2e~a9mCCbuYISSP&4>W8J!DaSr#|f=U0Vcl=-!#4DX+w z*cuzqV2A6)Ve%EIaS+j9Lzqi7Prxn*Ux5oJsg@N3GvL8<)+F)Z6Z`uZlQ{`#kJeb| z>u!imF@XeL$mD4dB<`#L9EMvPJic~q!XW8rCNb8oN)rmP<)xoI&XH?8vHC&iN;u=o~q=mXrVrrFVHkdr~s)#h#dcJ+3(jHR{);h7w*;cj4i_ z{{%&j)8$zJd{LKj9X9^Hj>7H3^_-}fA3JZ!-#?43)#fRy4 z$GhBI#ejQgn5BC;jxSPE$Igm`IHz~Cl1|x5Y#`3NA;rJm2WDdjA@DZ{}vmjH6Rj7>7 zyy?MGQdt&L6Y&`kD46>)2pV(Kz(gT(!zr+m`U!R>aS0-dVEzu~lECkD^v(KiQ@_)0 z21JFZre+A*Xzr}ml3h{=4Arj(IbJz(Xs`Et2Ym)aM>-%5(J$R#kc&CPSeD`%eH0HD z*Z93>KL*Z(>Dcr@jVOVJU zQ52Dw_;*8AKvKeHJea6dMGSYZ;E1I@bGEmm;&LS$Dybc8OnggLz6L(MwxwkA0(-6! zERlc(=d@0qx`_@F7|y3;oX|4GEg`|$7(cw*&N+zBph zpPVJ>@gUUYT>Ncl62S0MzK%l$+Kj*c*>2%*Gq{P=U};AV8KNdm{%^MTB@Bo5>=a&rY#`OQP=9MT3+m1| zolc4yu0LMyoJKN9T|KJU&v>z1?$C}jDu0R)1mAY3wk{mVZ4dx3y`3so)>#G{1Zp*w zMnw>r5d`a}PFZnI*##7wo7+hHdxXTiE+H)W3oEd8)POPs?juVbOMN%83Z8tB=5m zIt-?nrZl|5qk8rDfw#K5kVpgZc4`0Jh{8lRiUxxHh^*rT=BgP!EL7GQ7$%kHNJF=F zmS_cWqNH)9Ytm`cSJui4j1Lap(g9yj^kVDnj2=FZ=S7li2W4^u&T zId^q+J&}JY=>K8{CECAwIX*r~ z7`5kxrygO*jwAhoKyWXHp*oEs?CQ0UV&!0Y{7WinyIECTEhr0Y2veZJ2?#YMWU4#I zzQi$@-r)`>blLhP^<75-3t>8uYDN3ZyI_r5sxzVDCc4qU3P3vw^bZz=csi0SJb3xN zmHgy~h}aH@nIb>)IAh`7PX+8id^z^Lmo|Gj@kFhZfrIsfx3lGaeCO**0&bI++v~lP z40*`M(8xEY9od~<&!WT54xaQK3aBG*RfV19g5|S0>q5M|l#grZ1{ddeH)vjp)H}gq zz;8c;vxfSnT~DLqq~&cozE{xIIY|$~x-&$PEkI|I1xUfz>MD+C&u>#k#%fD7K2N(nv1kuV`ub(s1tE<0rQKuJXroUDA*46$OtL%&G z>9b}Y|3o}O-?bZP7xV`5N;nTn;@~8sGJi zoJ>;YHn)+G!avVV)6F&XeYEi}Kzkci145oU9-Ob72G?XlXmZc+!aHuYm@*fuy=Wg| zNDAS!8_hb@{d&s?<=JX}nR52Z<5k^pywJhW+@>+BOM9AZ&2jz-xZ43IiG&goKi?Y5 zoQG}{i12_Fz7(l@4}X+stWB|w-90#Xm<)9XqGK*ok|1>(I6`q6@&_j^@StJ$jD&OOHXEWgU|x$=rx7CkB7O4XJ>nSd81E(|#gk_LYgFjpYBUGtu z@TxU52*#RPK{6w`1(*)d&!~Q*14xjKe@?z0@aMxil1@0{;bDv$%W@5@-fc+d<=0cp z5dGo68f++z?cNaoX+l-ij_M+gXJdXs-TLRF*7^t9Ek+W~>wAH)+91+9%BpiU^F}K| z5F5f?-lfpuczu28@Uy+quq_B5-O@vKz~Jfo+Mp+la1f6$rph4hG7>n|SaQj@oUy~Z zNH)eU)9;HIKqok{nU^S|*ggm!1^^%$GOHH_)ot~xP!I^0e#){7A)7aLw^DkU46Xn= zC!(}mkXFh=jFa4woHw}~;4?d-Pxf;{fB}i(-zh##8Ju?Y0BtVu?5F?ZBsfDP+0~oC z)El4s)B48dW!qr@wo43_l4?N!2~9x&k)}`r6_u1K*-@4`R#=uZG6vaE^nR9eIt)VJ zy*7Vg73hZR(uQlJU+$vi-}3VI^71a-hicW6Stt@DW|Rb|FW$o^+6pDG*8MiUzwb}S zG_|X{X)4KN5XE{@Nh|Jnemr2)C>oeCF_mqosj@ju8k^j>aB zx@Q&CHoH%z+CPgrq+u!)eX=SIQTBRGBuxLxtA!b^8S9$(>5$hIKdf|WNVJbd&CbqJ z6T$^7u5dos5!Y81-z^Xt2x-hskCUVkSYks%CLFbrCUxpUyk13yZT?+1k!k$JtMM_< z$R&AaeZGZ2TdIf*AgqApAR`LSk&Hu|-TURT!pd{u)W@!m-`N=(^K?IuwRl2TzV>bR z!h5q~UI0x=SY{pr$X0S_^%XNf&&PTDF+#N(-CV5IKVa!qL`IE&jpVQ~V%pEf6gID@ zzYIHTXDvQBps6P7@cD$OuW!x#5Z>1)z+9;|6gP^7{U>%ob?J<jABP*q*tUA8bc^-JB}PYh>;^v_QpU0rSx zY(RgGo;C?;`@I;|JhQ{Iv(Fkwiv*mO@USD^SlicU@fZJVMx4(H6=>;ACcxargHTzE z#9Zq!|Fr}uSF0`o6015DJ@sR4PN!*)9all$-u|p=NPS>h8RF%|)K+rITkRhq5FVa;ivr{`OL2)PtHRsh=}5mn zxMJ~|66(B_5-fXdH`*5Hx&RrBphJwIs#v-YAeTdKc9|A&&?&C0dt4A@NY=lx=^j7@ z0hAhk=jK(@nV9(<~a79(ReBLIl6npQs7y0E&LYD&4B=bW^pt#*?3_A z)K+?&Gnx&8KcCc4gCWjO=M<~UD|_KR#HGdtKoR$6(SE%t=EKi0_%{w!L)u$&lBOe! zs?U{&rshgneGkL5Y04t6DjEoZjvT56!I_`b2-A$#d z4I^tT0s^STp{z8pq5!4)rIb%~0W8>VUL1>}-a4|4x@2B{?q+P~B;{WAi&i9k{A_|( zQ+01i#kx2nPQ@Obvsa*4@IJO+O5m1#0F%D~P6-6J=%$nG+^p4XYx*#)$sNvvN>KjRRCn2YN%?Aj9~kVuxD3DMouOSdG(`i%IUw#6nU^ zs%%n0()${i@$|Igx5&d&k*^t@^mW&~uQyL;I?OPym~+0)))BsxF74lTrzKh%+fNl- zYMPdH=GV!nwAN`e8lOSvSzwq;@Ve*t;@t>d+4`w!5+k!E*QFUjF!jRGCFJqZh7^i z42d!W;cT|9MLWDKDlV6}xD}b5XxoMU*4kF%PWoAH!hV~pt&CnXd+AAu<^_sXsh?Z5 z&vT|4ro`f=P1Ne?rRik7TB$~Y7 zi!h$s;A3+)o@o^}M;o7T4OzA3j&}6tRAw$8V%KZD0C08zUKA{*BJG!%Rsq1%E=V5j zNjCJ*u!pCs?sJYYJeFg?L#GnD{rA2ej8gSab{P=K>pm0gvo7=X@|VBO@aK08lR@ z{zrf%oWN^l2UCa`y&ZXiCn;$!ignQoTI|JOp-HqTq9HDya{W$Sf3yU04X$OX(urV_ zGM%$=m$aeaov~0FhNZZyn37am{|{tr%hl9V*;}5IX~NqO#KT6lYSiKV=m5c1-5YUt*Oa=pypRulAz=~3dfAU zvM56UiYHvE0_CbxuRA*f#?Lb?Au@xrHzOk&A#mv%nA`pjaUby27F5;o=%Sn7Sqy{x zx~8tV@ov|h?20FUTrdE0&@_aBrK1ik$q8y?u7^Rx)c3tXPWh1qhbEdh&vpCSTU}lk z6f8=_g@y@p^J_U~2HA52J4kdDXa)uZ$H7YpNigH38E&5gh;N#e2(29MJ!`@v5B<>V z3s_};5?9JM=SkBw2^m0QS4e})LM=e;>}smwH969&z*4^vZTa^y)Fis`W#zA^0G z4>iXTCJ2_;rbiSoabFRF=7$^jom+Eosq1 zPg-Ub^J^)Od~6>A^nQx_nK;%AcH+^aQfB;8?Z7+AxGI9j(Q1*m3Kn5Uf*!I(_^EDe zM+wba1v%oTWNN-8uZ#6iCLEq5FpkB->wAw}ZGB|iksh+1z3imehs+E(G8S+ki`tddP?F@b4~gwDJa0Az{^Q| zPYI!!u@C~4Y*XNQY)KUyny{j;==oOJ8P-m5N`FG%IRO;-4!SNwBSxwoyU!1!%5rt$ z1xW&WEzFUU!bWvdD(8A($~SbDm;&=%xjvlcuN57mHF8{W+vQoKC{Bn#l zqnDH}R_K4e0&7{OWX!N+y+6qRQkd13gyxU-8qXE)M2B+fpO}cHVBs)9 zXf4383nCAhBK$5b45q14;ws8nF2toLsEj8x-g6(*xcxoNh6R;RMiekzr{v{jCu}}X zlWu&pyr{>={Xy9fI4DSfdXm+wR@NZ8xNZ2GHS9Hxfo9#k*i5zmBGi141~ZxSfE|%G zJ&IkNQzLtE5iZapg(ZL#e5V-#QBOo10qT>Z`yfkJ@F7nRRo$FeKJS{N?a#T)d4i32 zh#!^{fB2k>xNoGLaVEEC;fK1N{X*HNh$p_*bvy%4|X>Swu7~j}C8ra`M!ZNq;#Qe=99&P#iyY03llLU_q=%^1@vh5u9v6{{P z<-N|x%?{Qf~^#{?9TdIM?q7pEbo& zr)NVPSL~o)PhI@6X{Cm6-i<)*zN=s;rW`ngJdiOTsSNg9b{lGX`cD5Z0eC=#W=;`3 ziw8$${20(lXezsDo0TBO%BD_}Vo6*d2!w|RoK0Iw#$%I6t8oT068z`)7X1yw%w%^} zs}Rce`jKvSv@T2bASjs?i8fFa4+YYZJRm9$7t!B}Mw&e1KDk1PCl2r@&(^*t+k+XY zus`bcP>F!k_B`XcRTg|46)_FMPpEP9p=u!rf?j_+;NJ#a9HmCqs_e zDBu2btvD3mQAtPE^+@h7cmh*~&qOEA*OVZlAFtI<_OG1mZ>>^*vFCl}r}{ukS0f`GPm-x8_R z=Er#LVo}t4)79PFZwpcyn!njA&+vU&R#JzFZlR8EM}_$%#E{sx;bWzQeQ zFC=L4#3jpiZVCl&x}siraeL^`pYpN+wpLz|jjY^|>lAwD-A$m(aUCb$dkZwCA2m1S zg84gtP2^Ds&>d!XJ%8y2io>PnDK%rN9)$hZ~;0o^dCO|p|L1ptBR5zo40+L zd&y?Id%`jfIdk46PL|aqM6MBmSK@||?1&9HUaw}p+mEP?Y(4P5UVatqJkKsjY@T6TtZ5hmR3qeo2CLn-s%`%95ZcVX}-J#EJApmFX1hGej@F1Tnw@ zrJx>$lcikNEJDpG@aJu&6iDuE@wD9?aqEknYR5Ay6za_Y+-(g?52j#Kj`Zge6xtu* z@wB^kL_p7ZSz3F@#!Kdh_7ll)e*wuv1v(mJIBS|TY4??wwWd#^9m^hyThAmzA>li* zCV%#nsQce3+Rb*0lYV|`pwXbzy)H@^`YyP@)Agw!cDf={#-M~J^)mioH9rHWl(SJc*;{beAYFtewYSZK;5Iampzz$nP2ZVG+Pl&v)^cGGv{M1CG<4=atPZ@ zTHx~B@9tV@GX<|IS6ccIb1v(uI(>fb_jD=21EK;`*)M7bXM;DUF_2s-x$; zglmrpKP`HmbT(%}c(DEs+y81UC}7%c@Ra%$;$rDpYuGz{`n9T^ZiT$M;BFTxL}~a_ zk9oh0TEWh6=NNBRUAwC5OvksW{vhd8qPYr@G(-k!CPBT9e)ye}RusPW7P0~ISMU@( z!1V)duRr(d-}Q=JHX6*YE`8++kWNbK>)qi;>X&id4g3uQY$AxY; z%dq(ob;oXIaMbrHrsNoMlnAr<-scUH&l`$bF-XmNvH>jVLbihwKV-WW$9>P!)kmE% zS(&)y{ACZG(X2XmurnPRDN~!M7+Hg-?>0BZlzpe=_{tzx6zS#Vch>E z@q7vLE0>FVJwb-{H)LxW+vFmPxhNz-&8!B<6K`8jvql6Q*tAJWE@80PfOek z41rR;^RN}+e%cRQQ-?Sf6z1By={Xn%rb(h^m1H~e)r8a#g%B0QRi?U-7_hS?oKSCa zw-Ncq=1O81FhQIQ2g z53~QkgSoRP4Lgh_QWukkdK_*Rlh?BelZeIlZbPRLCBFRWeiJlF&6Ngc2pUK58PzcQ zAo@3UKLylAE}FOw{QgHiA6mSt%)R$y-+#kS^(3Nw_9DS&rXwt1yM-+m=M4DJ%#KVQ zaI#lM^q%iI&VSltq-8NqkbuGd7XPXxf){UBnS}$wB1Y7-e)a^-VKB=Opbb zG5kAbz8;A3`Wj1Le}9Q1PtukwBb#J+!lljs^(Te7GJWthJD2%;vo%31a*DG?V51*I z#J7$s{GwwLJFY->GhFckCEPTOeMi~=bkDu1nPv)rxexL6ru{%?=`_zAB?zY9rnCFp z! zJB(9fW14yU;zHZC1PZ%>&m0sc;VbOUeyCR(T@hh;{(-uq&4>SO*huyw+8KUIu(G<5 z>^kvJ+Nquplh6-m9r`fEO^J)xhX9*y|4?8Cc%}2yeC0Zevrf?eEu)HacBVuidZ1Qn zM%ZuA*RGH@MS`|2;amQddGrI^vcc11ZWunh>FzhPpCM7~8w6H6^O>&(e_Y69_zZ^8 z>H>;7D-Y*tGE@a=96cW2erPiR_Zp6!>6J-d5KyD8)hTNYZ!6hq*XI>MuqxCk$Myl# zG!DYnMc9njv8KwIO|*~1;utFfHTvRtMUJcM>~1{-)$5;#KMGDyB8LeJMnk9H2JVS2 z8{cw!{3ECuMU{KeqU8qAr_==;G*qp45OqPz z&DY$I|L#KZa)J*fWXR)Vx;XZPjzr$+S@23erz|8-7Oh2uzFRjb#*2TH*1>ga8=U@y z)>eowA2Eod9Fn20UE7KOiW`;yHLmD9`8* zgqB(Shs4HeR8mfoMeU-OMzW*AwY#}xVJ$QH{7!*ju?;gD8yN`+*kQ+44;I`TI7vN| zFFi@*Z9G9&^*roOJw6Rh zjauuuO$FAF-hSqpg?zcNvc9KHTe7@)L7hLrP6658Q{f7JI1Q;RjE5jwbWHw0 zYp3eNodS==&B5sZoU_30B0|5wKE6^L-@A5syxf4P(z-s@)*+2UmeK0TR;9#CT$#)0 z(BHEzJOEW>?v?(SUv2~<%yTAmNlq&T?TIg@@b zF*$c5bF8_yRGGeqNr`(^G%-7ikP|nzuoUE}@@rHB$cLDhud4<9i8tp!)zyM-8WLOJ zvhOKukg1|ix`Jb~8cL*<)%+{Oe52a~=HH5as%+gO#pyV~)CBoilRQIdWm46nNJ)&? zmH$Vgd^$TZj(`E8o$;gK;0{=LhduR#VcKeTAc)m!A3+Ew^A3a%`? zKHeACf9MwF{$`FM#PF4qicQddHWKJRxg6y-soKrfgTBJBy>=AaD(_BAO3dN&PE=NW z+DTfK{<)BR@_TZ`J+7FHf&+0=;_aj@|>R7=tLSUk7&PI;9|= zYTS(=zjaV!#$1{q-H`0DE-Aj2UBZqpdDC-?GufBbB8Kt7E_bEb1Y=NPqSiw7B9~Hz zG^Q_z$u#3R%1gd41rf6{u|%RgDUoij{da8TPBlJpWaO!5W=>}T+h3ByA;cwqjtv{&m)#o!Bz)5eD%B2+Xo5C z*iEqL_1~>7HioGLXCzxp?RbsL3t=zL87Xfox^@@|a4><4zO3w%(r$BkH#Mv!A7=gn$1>Zbw7T2Y zBMkMkcJR9Pk#ozC=~1T{4vxP6oH-rCf6x1YjI&GM^L)9?)5Pp0H3}=Hu;<*!DFumd zm`>S2nXoV)+=lH}j~rnu`B%hXi!QUA%0| z5m>=abABMxwARzUqnYhffA~j|xjF2(-8^aMMIQuHPWaEqiV)X~GHQ}^mD?vEc=oh? zMwFjK=@fyi@?o=cjkRUE0twpZ3$QR|h8$k9pa~J%QVuJfof`>iHkvDJkvD6$Vu-5V zIqysze{(`$1|7VEecN?e%oPn9#k~ywQ|*o;P5yEj+Us*XU2o`fKnB2Cyh^+soW&`2 zNec^=sv%=uGpNJ8er1(q?ShNasu`uHCE z%S-)k3XBy|0zasC{qByJYk4YiD-Y2;uwIC}_i#P7^r(~*ZE~ZBJdN)JYsSZeF}%hG zrV?t(ZtHK-;Vrf;xhT=$vB;8$%lF3StL zhq^W;q0RWIRVW|dKUf`>;$j=$C}b_eQ>uvxjdS~t~|o3t^-xKJ0-HBhHJA?89) z+S%OHVD(wVI|yaX)EzbA{ykyBi=!#{_cOGF$!O;RryUntm(W&wMrA!%X1&ntER6GR zE1Nu-Fq@FDuT)bQwPFgH562!OG0yiGQZD2fDiw2MaM-0|AbDcKUTuT#Qg8fr%U|BNaXN)KPkCNCYtZy z|K}jW`A_}(e{=rtn*UwuKd1j!>;9j|`Kijr)owgWW4-fe1>YkUKouo38lVK)%;;BN z=dO`9zwmu`&RkXFX23LH>W>d^$>Fn%0=|1wkPZ7+1=N2r= zsp|?ATeqIO)#N3wg>BGxyvTTLyYWmn>>@~zEb3n8Z*Fe>>eVixHzjeNbq z0db@G!%J zg#eRi{>7BvlTApB@wc@v1u=VJIG=yUnUVNk*e<`{<|9bh*lw$i0H<=K{YHgmwL_d7 zR7%oDf*7(%@^TjCt4z~JPdLd#!C08nto2%nrZhHaR#Z`N(LQe(fT33!7dJQca8P5I z;PafG)~`EcB$n&+yJTrmN9T-^cx6#{YIVYA>|wWq^(i?6C|wI$Pt{LhSk|<#avT;A zqN-KW;r@h=Ea-{Zw>zd7n4r$GKEBw7BItXfU-Kiu^$7d3J0DpE?sW(gLR~KLbr6t3 zm{U5*?EKgdJp()#9&z?!Q-uOZf({Feii=nVW8%E`wY4X*{ISl0OZ`zLxXV)`*bAZi zUY1TyIi{Pf7%&qHl-=yIhay53zivkMyENm1`X=^zriLgxO9CiCe|=ZqLN&6m z6-$_*deC={dq4xex7=hR7xp#$o%wc#0oC5#{9-BjZ zhuWzjARzcmZ${d42n6*LNbe!iC!7iZ5%fRb#k_sI|LkFZfAUV@z~esK-CKg)16>*}}+&7%UFS0TXg~fg7-i zLIDzd^K^ZEe|vv@Gi3DP8vu=`l0!fs;D?0_ziBWv#tRd}pzkn`6t(G(On{Wd?+fPV z1;>Yo_h33my10eAPCB^tHBh-5*Ta@jUSC>FMF+ z#c(UKm6{v3m5J#^>uSK)>C@%Gw!Jl9Ed)-*2muWZ?!B}1`Pdv+shB(}6@V;nZ>F6L zFBk>&)oW>_RkN^fLFi~@;bj#fowKOI_izdbGDjRV3r-ZM@B`oIxkVc5F&{58G?PQS&erI zX;z{4`bbcfJ7c3V!=S>$c5AqNU`_*90#GB7)DHIhMa3lsB#bkfQK0?}?Er!QNcw=9 ztz775O|~0;tX~%Kk3qpb-SN+C?kJvjAV~D|xmc;3-&?H-)c(Y4vG|WEwaN4h2AJda zBzW(E$c$=S9M>p$EPO}hY0#!12NR4A{Qn2gKrg?26l@^+%ppPeQ1nS7;#>vA4RlX( z2D#q9azFB&$U$8~Bf`T%g28KkJ)wA;p1o=j7K3+u;1RcO)$WMssM9;wCO-1mv-}@k z*id`JD@H+a@u|+2^<5&djw=qSBqc{~IUwz-FXo<>WNv;h#6(ERIxx^#SLlYX+zw7` zbS&TUWswQdXLc;}4T}qO(FtZ|I$UtbkE=IDMMhaYG!6+3-*fP+loi(Rfr5@h6gXert-GCV5PTj1Pna0%cD zUNf4>gG2qDHEstb2I0_%0#2dfVPJ>#a>41L;i2eD#Nqh9-ya%`M-SnG1^=}>It0Ww z@EOjEH#{yxd5^GPc*qxw2Ec;XzxhA>@WaQV;lKXtzpSjROifK6K79E1zyJNC&;V)> z7-3%4rOV_lesqNbSQ#*3afyNEL=x?3{&;x6@K{@MZF@UianJZr;6d}mCf@+7o%;m6 z!ZVI-IUN`h6dV>J%+0U5d!IKx#M@C<#nR)9?0wdU7#|uLA0HFpp>E{i`vS`0cIppZ zPwo^AjSLf(kPpS0)1@Ov&mB49 zVW+`=g6pnFto*K1Up5+of`Wuz)1^z7J{AokA|kI&7Znx#C^S?mT)ND$rBOvHR8-*1 z<_%?X5+8>KOh7<#PDxUb1&O*)?6;!OVhMeYd`nS?m5z4*OBf{U=pehD2Tsc?sCYWv z(DRScUY#t6qSu}FVPU-s;}mmfW?AO zYs9|q_sYpDSot~g@vDc0-IcQlFjqfsmlPl@Z4}_8bIaS~@G)IH_|SV83Mwfc=f0qE z=zvFXIN$dNjV=gzC5Jo6uXT01rRx`MAjWHlkHiJxPA~i4oj>ke@=x~A7&9ds>_hbn zc1ivsvZnqXTDJmX_0RHp_#57I_QbebD!GLU2;B?~F;Q{yJGNFJDlUXa&iLRN6Y!J~ z@lH}o_g1hD0d+> zke`FBZd`VM?0@Rgoe(cQ+3RYCFVJA;c3)X1APE~7Cc2(0Ff=SCA#UsLqpF-60)j%q zBLa>cP*DC6pdr-bzOrp{2)D3OSP)w9akIK3C#Mz??r_lz!~9Z(8lB?Uv~~OH@BiT+ zA8ve!%QY}kVEu;ZU{G=jj`Y+xB`c$-s(VL_&oMOa%(7jfAmmNwZXA3O)wjj?eAA-9 zQ%mePCUutIDlSk!Oc!S@cV1ON`MQ1x{v{d$;v_i_Tvb)nGcJ{^tq3`!b2fJ+BE(lVQueZZF{(bkn;=gz_{Iy#s zKwUQ~Ej!xR^tP&4q4|=osQ-C*lmCwD3qJXI-dwh9nWk%k#DUGrmoIm9xS{0}?yMuW z^pN6Kwv}6VTrxh-XBQk56ll9fME|Xj0UBg(JOs7sTe8PiEMG2t$H~V`3WRpsCDrb8ZGD=cjlyhaAY7hfK$maEHo_e_GvR`?7zQVwsyx}o7nUX-+kxmqIJ_VQup*p$M6`= zl`Ge5JQkDe#Vc?fph4Lo==6sFQ@H12D!$2yS=GgdMIAk_h!4E|&C=y7ck{)1=`3Bg zLdw`HG|Y9~x68Q|9-QC#{W|u8HcT`G+&%-U^byh6bJ91l-kNCSxFkp&VPEkBD1ZcV zuR58K=yrG;$FlGL6Zq1k8;teY{GVmZmv0RSi}297uzdM4iCbPV@vZ<3K|y%g{Y&q? zL<0`|$;-ZS<a`cNV-OL3M|{yl0~#!^8aSI8~e?qWz?FEP^pEtG-*YeAV8-h|nG1|FCTB zkM|`6Kpg4`uH3C?dTjG6H0+Oxa9{WBvZGh;UEIBFE&HJd;pyAH`_{$RZ{5F^F57e{ zCLI5=)DRisb^E)e%h@j6;$C??KG99!ydEyVK*I-n`e<s zp!ML!v40;?wUNnSbNn2poddejcuexTJ9}ZDRpO;tpPzcSHE;Z{{yPG-|Wh z&BgBX=Lj76L3rA>LSjUmPy*ix;r5MT7+X9wCELdwAGa+y;ydjED+{ z-DCc8g1sT3pr9ZcprD{W3Jn36AWV2NCJb(HgWK1=g{NS#ub}}nmXOKhX(%YDuUoUT zv%bE*5DidJP#=Q^%53Ff&b@nu!VO72X6#DQqjdziNEkcNRAiu$b@Oye6O8n7VG-7`2j2IBr*ZMWhkgm zjRxxcGuMjg`MKH2iHSL+_+eT*VQRFiyN^IzJi|?9Sp``rv=0*rMB-piSO4&&#_FSe zqZ1Qj6GRfByQ^z-nlw2+HZ<5bFgmel2*~s!+qAmAy3hhTePVoqM4IaA>YAFKn3y7r z4-HQfriVusJ&~-jMu;{;0aMhd-HxG>Cc3(N7)Y<8a=`TPa9>yV*fbHoY$&KthK8B> z+|`>n4xdp@*1FP-G+1V~o&L|Ug0Q<@d1H%Z&v|owBQSxKc6?n+rh|JOGE1QwZ$5<} z)6$#<0cUoDS)ng&=4y=8w5*sHSt~q2U8LqhoJB}qJoqG(Y2VcCy6cI?{4E@_>mwtP=+Qjls!jiPd}`HyV9j2YpBlJl^h z1O@d8OAYqQU>l@1)S_;})wPAhYf4J5Nc7Up%_vP+f#+8knJT0nu6s z&_I&jf7|}pA@EJVb?9&<-YAERSRN1@AyF2)CBoBNB8Qa|762N=J+;;zV$D})sk}R} zq~G36ZG=L6PpRP)IKn_W)C`j){>jZeX%L{{{`MVU@7(SSbchBhs859kBDuS|7Zl)$ z%>_AQl%dLwQNlpEv$IQ8*Z8|(jdj=84^Y9*P-FJY+)R{*OUUD@f!dhB+@@#AMRdl5 zn~QTJajv(qtcO6UOv#)iEMCYbPqj4;Pm?L*IZvw@^g&k_m(aqlhTQB?3MDfv^*yEo zLSalMsO69;qXnfcbV`Sdi_4>??!3HqQw|YlSGQ&YG6ml@6x63e!(U%B#_R%9L}+M$ zf`VvxyF3A#D4?KzGaA4=u}w{l&!M28zHYU&w19cuenNwnmlu5jnVqBm>aG5H(;RK# zm-wu%ssAk(dbPE+cg@q0PZAW|;08C=28{P$wunzzp-4$dA^x(ueQa#(TQ1;4!fSf7 zTJV$J3O^?&heCOyv4ct>zOlh>Pf$>w*498K5wTf~A3h&URs8xXi=u%-reqeTlSoto zkph}M7DWR%tEQ%Aex63B&x0*DH+O34r&fiAhNgvuX*z9ufi^KZ(%;nF^gc8obkY{- zYGe0dTimE?=!6|^Qc$f7zG*0^PlkqtIV!)+Q!&?^g;_G#7_&d+f3U159c15mbOm~A zYirO__$qV0i-w-&;+SVRnGU{((R^v~9z*$t1meu1XsD{H0s%G+J+B|BsVJ#TPfve! zGxg8GlG#MY{3L@uIWg8$Hf72n`JlZEbBsLql+Wa&oehlM|InT?`F` z*}=fDnCtos*$2Kt4N3B~$u~$8`nzZVxT&nHa4NI9nWJP~e%H8Ev%RhD6&mVl>kx!C zI@F$#nw1>?2rMAn*WdphG*Es#on#+0Y2rE7F@W5Jy-0hDoII*scmQ zsb+!sJ}+b}ps(~UWfoZ!4bRIP1kyPX)B=KBDG{hCsC$Kms_Gih;Tl<(K#=iXN=D^i zz|BHI5`nxJ8mPNYM?LVH!lzSw@K5DTYR)PI!Z!^C^=V2Cz}Bah*zrUBoPH7UM&^ie zT-Wu`rrzNfXaHP@j*d=BN=i*l1tkcuNXET;_dwoW6b)T1&gWt|yK;@`ZT7TQ+wNSw z_o1P*s8qdLf;dLFm8rft<=f`E=2v;Xyu1=&OwlOagz-A*;v;qwMn1DPcS^(;K?7rU zpP-Glnu*@y5=LqUBqTLYC$R!Znp2q>PV5WzM_A-!%FpfUwM@1Wpd zX=%yg!lG!H8}OWKw3%tJq10QG>nyvU=`M-}a9vO_p%G>^vgLaEyS$5B^KW0WtE>B=777BP<*8Of>h-#0wTf89f^eC57rt5gB4_{<07Z}Fq{QT; z2R1n>m%ZCHxLu@ZBS5 zzVECj|Jm#CO+!I_N;CjbNFVB?0NNL4W@cV@dAEgvOr?X3GDD}%F3ij^W@!kkRr1|_ z4WP+`_L{(-ui7ucUD4jutE;?)25<@j%oU8EwuJ>6eA7@+pBN1vtKs3{Pww->8XX-a zz=0A_P@g#(prD|>Ks11sNKlLi)qc=^2{*XG?d#kC06+`F8)yIu3kwU0j0t+u3OBgH z?Q7h!+CoF{fCE_OLKI70uFHr8*1_obq{!S(xc#){b%tfPMdWtCsDRs7klMRqq9XwZ z7C}Q0K7`KH!omUrYzzh{UC_T`_4M}7&(8&gM1z)*S*VW`Xn}^2@Ua3Z4GdEHQ#K-r z93L0=UNo>KYptz&Zs`?p$JopbAA@|w>K_=Q(NHvukB>2+K1Lw+IyySQ|1c^(D$*t< zCjP7sA%#l)c{J43H=uWkAef}A#j?z}qM~9-!}KC~sUWN!L84rB8{4z;#~06UE;dR%qJb5COy>pG4jtXUwjth9T(;=gY`zf>_`K2_zR#Ruei7(E2^P1qpBdSq5N@bsQoK0T(Nix zeh6q6qu15pSUSVpAzwFswrEaERFRzi@Mn5$L&x$Ijm z3fkrfQs&o8`{2c<)Ne*kM`(cQt$r~YkQk-Q>M_+|FsQ_GDF}yOh6W`4uHoRz$YL;v zHs%S8#ZiHHoa7&SBU%yVfAXLm*pLBXaT8bBgVVnhG7t^F4;rfLo01~^jc20R-Xx*|x8 zL*Zm=hHV9fsH`1AU&!968ex4wgaOvJFimSnFezj(_H30R(W+cZ2c$MgO|(b(mrQ0G zaWFsY^p>K_u@CO%z-wR$`>PMo0=`?4a;Y7vIIW+cKWd@@7-MRQly4KkUH93wruP$tfAZ>O@?FO6qFX;Q(|^` zclJ5{Ru}Mbhj)xt7Sw|jxau`90}}c7`rW&Cv#;c!A^nc!^zH=HCIrzn&jF

@kU ztUH3VTRj;>CaNOF5G6@3a8dV)3Av4G=xA;;U)jKNW-!y{78&3nLI%-4oKA^?!l;kL zjwZYz>nexV86w>&We9?zfu5B=|8Zylq3%(BsJcyMtUP?@?)^5!BiA-w1w7K!i$#!p zeB1PfZ#VDW!&y5t3(@cj4OC>F|F6vT>`aU4b@QK z?N&m+&|wd-qu~@{B+UJ!usYu0{GPqL4;jWW78W2HJ{cOa3(F#sGjL9ZNmj?3!VZsy zF0r{S{hFyEM@B{_v3?S)G$|`1<6PVoiOU1dH&w2Zx(h(giA#MBUS8P*LTbqXK8Xk- zFQ<^6n1J*@xq3e_-5Lu#YhINJDjx>;FP}oX@{)#`0f$shqCdmMm4nFb8**A+At2p2 z=qQblS}UfJ&fFwWtBAUK>87h2Ue7*E^Tzrx8*`m zMppMBg3QUu$P_c{Iu8_N?nhKM;|+5$;%t17;(2!qKmwD3z#j4bQ;STiKE zvWo`JcxfYLn#UHH|D*rCbcVKupUjZVOpUyXBW7-YsTa1!7ty)!!q$ttvH`s^L%wDS zex*rerBK$PSF!$DsDClbYO zyk0?=1%c;xkkGb|%8*ZjhJtXfij=6L7<_gpHp1TGd0sY5Qcw^LFEiZiTy#>Jomaqp zSHE9z2e}WA)S+YK5=KTXD-SEOwbzA`#~nI3BOm3`Wgsm0dDDX_%^gnVZTL{ zmkMg292%~*JJgMKp2)lD(d@{HHj&t#;s&jh(n6=1H`nrtV8U{s-2@pOMD2zru3-$z zXull|lo?uaW=Plbyo4aTS=vH%Z7piq=+BlA6I1a9Eh&hJg7vR^F)iu7=f%X_@}?F) zOen}0n8lf~UeJ)N#Ccg=^Tqsi77kGiHGCEgW4HugzwjrdxxV7C3u0nMslC7?Y^aU- zm7&a)h>3~yzUSaQ`9)&`Nix#`XJrpBepYvuKL{`k?WlrKM)Sc-yc=HhuD7wKCnE^K zKDd0*KvJyDroJjPgoK2YmzT5Fo1nf~Y^Kf8C+FzHVKH30<(;wLIL@s5vIc*!lX)IZ$PAS_zresqY+xo{#vFZ4+8+2s0#y{~$fPO0jy6#&rDb0A0u7U6 z)qy?@C>+ji)LNK9@x�{jtW6=mmo;@2jY*@2m?EvF9pZbC9~2uO~6@3 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%0DjD;BWmj8sIMn>kcSrd?+%dW`)r*wj^8E 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig5-createnewou.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig5-createnewou.png new file mode 100644 index 0000000000000000000000000000000000000000..d640052d26b8c19d518898428fd0a015aa90616e GIT binary patch literal 30301 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig6-enablevbs.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig6-enablevbs.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a4b1881f462add758943df575311c584894312 GIT binary patch literal 29145 zcmXtf1ymc&_jaMsB8B1rio09!;#S;U8YD<5?zBL$;BLj;t+;)8 zf8Y77h@d8H?Bnx@*;w9OO7bp=JsL1m)L)01a z0g5X`LHfmy5z0Me2F+4RRqDly>NxBNV{~L5(+Q;O`r-xdpZ^j{3L7rPix zO(|+qI|+CNYTj+W{)~x=azSoa^?4~(3UzRfKDsuTJC2w<9{&}^BIpf)GywzL^;o>o zab?fTidy`;S2k3qa`7a0(kM^D@7T*qKN2!l-E$4cNwsP!Jo%U>%)L9;qFp}lFy6GlBIU2y2|^TAf_rAT{J5LW0z4f>q|%m@p*e8jJ?lVB603&s}tfrJiVJ;eq1eCd>bp`;pMJ2+Z}Vj zmaQA`lr^9rLz+K1Iq7b&4*4Nk9Z&7|%P0jz}2Ayj5>1b4MKbInCM2N*} z?4Y}Q`u?52<>Ctg?>A(%LtSI!0b>=kH5v7nF@DHqEJ7Z|3@*A_--;Lt#Qd%he0OHk z@?-Dk*n8EF(NM10ueZP|V=AI+ISW;65g`MfIu-r&CMPQ^s}U-D3j^VHI9|U?c2z)& zEI`ykasSsQY8IzUSD%xGg`P>JG_?%uo@S-peo@;qgWuUFn|JWH!n-`TB+pgMu;c3YnZPS%#(3y z3Ma&LMu%Lfbu!#5kG}i;LP)1oFK10hRAlA-i1cq^ejS2RlFDUdi0EH0UPToPqdD?{ zLC}2H%(V{}w$CPqA*Np~arj;l-6m|(N2B@5(GKp|#>q1rbrg?m8_Yh$f*wedU-qWO+TXQ+z%;MdJQuYI$LU*?yQrq9yVB3+*>bB(N~1b``F`3a^Jdz zHRW#6W$>T$lkS~_7}Ai!`k&?BB7aP+qss-=`6H$@(*T9vHLP>Z4K_5J``Q#E7FAa->l z-0giS_HHCjgl6jA?~U+WfWhYVDH!h-BShgJj8jEw7)*{YsrUleEdnfcq2^mg*6Dr)TlZj zu%*eVn%t+MxR}}f&^(xjg9SWHmYNX)B{U7T#x*$jEG;Hejt!M1ir*uLXA=~p7&{Dv z>&9tUg;<3Znl#rq&l%-p(<8#51_lPP9Pcq)`(mlsab3M-IX|2ad|6+cvHNQ=hAkp0`sjZqDZco$A^H-9%rr7Pv*YoWg7Cm8I2?8MCxZ-MpntQs%%z0iJO9Y+ zva6Cf2`e5twkwwlYVIm)u?YyFvHfTHS*<}4SC;iNJ?G`4Hkvit%ci-(;K6OdE1o2w z&Nq?H`*%g2f_8K27%C}pvgRb&H7HjsCjsP7{cF6N@3O{uBOVf|X{zU_`gPSc)bd&x zh23r4{*6pAHtJX7Db3(F272YVtl&`%U-*tpwHq>#kG9hQP-_`x>;+EUnt-*Y?-Yg5 z9b~Q@-nMqZqc9snNcsT(4%3BNJswn&HkrK92e{M!3Wbg*#>^b9|BP_|v)d=%5s1;n zw-NMyOVc4w8CLYBvQC;))i%<4`ww6?Pa-?#`n@vPD^$05V`@Hk$MhxF`kV*`F}1~j zNxcT<*dge6A|}Pj39C2lVU4o;6*lL%auoCy?PKwV=H|zwbr!~;XPm`KZj5G$Q-k6Z zn_Y+8JT6XCApAbS+67De(HJWsWj;(B+4$JWLwLg!@6OAr+$QaPQAOgs{jRCVmu$6{ zpVH8zQi_HEF)x*dn|4MfUq|g`$c!fcl2torZ0Us?w0acKN5#?I?NmGB>T|zOWd2MS zX^5F_W3z8|7AV=bn2{mq@^|N=IT)VNA594zQV3=;J$<$F5X7XS6`KuwQ}UxiL4})+ z*o=8hSe1Tj1m4>#-=!(VeR;{Iq8x!Xmqd?*D?j2? zhwi?@D}yAmgDT|z5aO4;E9(kgd02fs^Jyu0sxigTX{@XJy1`Q64%2Mnox01urD<=a zNhsa_^#y%l?@2kHQnJuyd*r9{s?$NsQEctgrQd6v#yCnLH+fDCPo2g?vIvQGpRD-A8?bZ|Fgy6%~+p?0LV$GEp9Zp+!;_Qsn3TH#_!+VSCG;*Jz)8zY{@pla&L{>1hy=WtCYT z_VabTB+&rRF-f(LWLZ6aqiu8Ca^m==iV(X#fz7mA!Aex~-QQ;(6E3OwNW*k?;kV_H^ihh~)n(oM z-HG{bw6%%$r|SG%T$h%+OzvE|Slnmd-|R`Q*As;7_R}!EklDn`DyOx;C52qo*c8dd z4v|iTjt$Y55Uh-s12S~!tp(T=00hqmQB36onB8)ACuPbUaB3r8qKX!foODX&UWxM< zUy?Zogj9OD1bsiYT{Q5i}hYt07n6EX^ z_gsf;?ePwofxm%hT>m~tU56F4Ow_Hg{o7~88| zMn`R5+lzi>Mxv`$iXhSQYAnoGnwZlm`I&z@d_iTV%POu(9Q-#;izP;@ag;AEPuJ(b zuJ&PMf@7G9BRkeJJLNM!LEbDD4vrpko^?oBg*v(-s)dF=&Ezn z=Q4q+-*~2j(0|uu6Bd*eE`Mb#M;zfq{mcG~%2$9Df4(jk&CN~)rQyxoAPNWGalwuRg?{d<+&(nd`g+sT?~ zkEJ3_JW!U5MxwzNWs$|1tS(ooWbfA0kdcxqvc#Trm!&9He$K%nUy7jCq7$BOI^#{U z!L{D~(Rxg8pQEldQe)#`#%R<; zQ%LE?vRTl*4#}B>l-c#!*zU^nr+Qc3MW?0#Qa|%MaTEXrbyG?>wbp8sn54A;P~(dH zgwNVc4j5V?WsJ#FSXd_<(!>P_e$?pQ)dZGW)z50B^qNHs{r^6Ajc_GBUbsEslSzhm z^C_9*b!hg5TqvTuKY;rc4owlH6#-DS0 zD;`qxh#&bI(TVDEH9)l}t4wfBS(!$UjiSNQ3lEL=Q6|kir9<_alMrIwV4%T$5{F8K zqFia2jpo3oy6;|i1ySn63TEg`n$2NAGOm-KK_>F*eE$3KJ+Y#+tjF3sw{pN`DG^XcHKwb{&#fYo zZ1YRdj)=2#!T75R=gixp4g4v+;u>wBMge}3|4ZTFmk@Pg&x)#z7~E#r=2o1KjHFM0 zGAb78n^Y^c2cHF}rhbw){jB_}Gimd4y^=kJt!zuLkBDWx$Mx*1_JBd5i~m_@T)Qy0 zz?Y3^YGR1%0E|5X4-(Ttgr8uml^PlGH-u=KjKL)V10ow5LPTQIXrjLnnda6PCqMUX z*2z=bC7kCho{V(1hUaYL=SK~5YQoodGXCrS{89*%aCPx6tVWF_d1h+-*|0}yD@8gc z`WiZZ-s(I$^nD~KjlRqRG>~|V8-zHCl^0_I&Bxz4ul_W>Ok`3fpmV=mNKv8X zr=Z|2adh+a6pfv4+Os_kvN}%RKo~AfUY=i#5Fae0iJhS?mDGexoxfG^zmXbR^tyP$ zX~!szp%6S?s4uUrg@zJoTHGIYm#p}^a|>lL!0xyV13f%e&yiCa5a#c4GOA~^;O{)= zWTT-Urk0&?H@b~2RDS%!;cB7d+USGZ{@RY-)4gE$u0#qGY$i9$>niE2?^`(mBpjDY z#P{Yjfk8nNl(XmcWYoz1`1X+*TEK2~>~twY%!>0rIR zy)Pi9*_xmwGEvg#r;~sE_pzo=i)EbwzD+yfzr>*Nzj>#t#)OWAq{nKXWRPe@KG_e(w9Pe zeeEV0<50XUW9hq@iB46e@I1r^X9!8 z_HS$c==S!wqd?vz>dntWQ_EJ~APoN05r@m@6Bt(#Db9XNBRiCAS%Qcpfafl zf6~ST1Ogj2X{DkHY{q?I@pIxI(X|C{s`0=!ofcESj+YN8vu^Hd@O_ZzHBM&c2oi|_t9)#GOA zEgA^AgilRv%CdXBRu63<-LH2; z{9bcF4JCo{m3zRG`3ssHK!mBxTk@Xy$W%zE2Lpm$634B%%DJkZ$y$PhU(>`*B?8jl{`E7gIhTkE=! z=(@qR`n}QL{zrhJty@rCiurEo3QqAFJC@F=DaXh&7!i`JG+kT+3!4%@t~ZfJD7kS~ zzLb*T*JWa8m4+qAblTVCin8Ls_H{9uzJ@M%l0uH(;crT2eP>P}bDT!oMKdN6Hqkl9 zbB{RLzO9 zEbe5B;E^dM?bUHNh>b2tD?X)*r5JQe6=Vi&y#avg{ybkC8W{&fn4_2X{rjwK@-s1T zN-Wl#0OsRfX@|GRL;tJ;tQ;669NT*kv{G1+GX z;lqaJ=XEEFFd(p89dy`&pDHpE#GLomQk20CVHtPtEAbJ#7QchcXp}^rA*YWnysWC- z3^p~5bJEt*?{WUmM)<~_0QM<_sE#>=fKxd3Iqs#~Tv_o|DJr0&y{gU)K99{c{OP0T zj;|y)JK01=QU-s!M}CW735Yx>nS!fhqwFtmkEg=Gm~`NquPrkyL)? zEg9Q#7sVIG_G$d*!)^+zjW8ELRgEwEL7LY+1^A4A(g=U|LDij3`CEQSd-;84RHLN{ z4p|V<9>fb@s_at)t(<0NypsL?kg!`0t(JTI!T_KMPUt7>wcFx$@}FRMis;it{tp$- z@&BCiulVmiU_#IUq^vF#n7m%GJ?KMon8KA4a`eKMQ7zxP4l!rOF;>!Owc6uFtSegl zioG6&7W6H%j!q*2R)P zwdLktad=A*erWLh(ElPRbTO88t37A_0YUrJvi6D^b2#h)p(%CzF$a4e@sv}0*1-k; zD~b$#be>~!-0hKjpW(xh&IV8%lmJhn)pCNeBt{tSG!qvYLvQTQb<5on(saMm7h(Y_ zuFrSLgETLtf#Xw{sVe0v9Bdv%y1gp(PNn}MI;}j}R+sQv36X8NB#dz&acYkzcmL0g z0bxQ^b6j8Un9QULJ;vPe^sEE=EKCO%8d-m6q+7O17xuNy2`WKW2s%3A2; zWMwtE>pph|O*E&QMxPA+>U4%6;I1X3NJn$oLGr-LcF(Gk0S^y9Ase+^Wx^lV1)Q`&1t<=`GPH(R?V_nDd&bE$ znLoM}?FJw9fmYvGu!FF|W)&NCEO40I=7@^_U^Ua-!M{bM;hT|Kx3)9RPl&^in!#Y~ zC!N8!)3lzAKg`O#S%su4-Rt+wZLtU=A`sGG>$BwAY{V(;9upB3V17Ujd`Y>-?f5T4 z@ble|+arBkVdBzq>p2^2hNr(asSoQx#RaKV6Pg8K`h`ND7t!{~iG;Ouz7Kq#ote|; z=^R%dlzVf)drMpj9npVj`|^;T|I5cF0WX_yr$4T`F1+B}-kgyZ=>v60q6lYJL`28^ z_GN1o(hINO@<I97~CahyaH7$AXclO1PBSD@Ty?+e|4{_6)#T@$vCB z_B6bOi6P~!1JXgR>T^aXXE0&#Hf*{U%eCO{FOUS0wEd3_*#trrT#f6~)$LCyrQ$04 zb|pMA{pSZF&ul!dBt6GSY9C|r1k&w*nU3sz8S1zXXfOR$+n`oaXHhHVbTj*+h) zXmhvQU?~f>FI&@CmqndfZB)eyDRNu{5y21?7FDJ+$}9F6a8>o(mUF|`9!s2 zztgwRr~S=F6~56-qOSe$$sI2EQGum^r2a|+H#|GDnOBU0!r1=q&hBtw*2oYPkg(#j z+P_daD|po0)OOYw&%7QvV;hSD$q}DMFw_&+q-zFQMwXlVevba1DG^?bL!vJWd_{Qvbck?UUfS7-HAM-o$w8u4=kod}s(weK7n=E{kWc=qh0Wb~^eu>rX;qvR7KC5i3@E=cu-{S<2=h{6U6`n5! zC~U!EPk9Q|vDHb(ecByucMH*MKh#Zajt@G8Lj!)AuTG0MuBa-nCu{f|o;(eVY$ujc z{bKzT$c7nY@f8X+%X87hx&mMX{YEBQC#)b^R&;RD^Y8mTE@zt;`XW?@BI|XB$H&yc zw8j70-c8t4?WRT|;Nzm=DOuz|!D*dT$Ejr(6brUR%QOQHaEKw};rbFp+ zNhH-K;+n>_LHD{^kc6fc)gIMBd_DR82Dn<>n?2;Iorbirp!_3C-V!O4GQ*hC)>Xk&~Yv z)AWjULvPK4QM2m2>u+D(@;PgRISkw8KK8B><>aDX>RptB&PlECjTK25x-(j$Ts)Gu zQ4Lp#o~e@N>NRM$$ahUhRemI-pV#vYXCsC=_}3qTMzyY2xHMXR(E>|4gg#Bvr%|Q) z5nTzkE%_H?QnkSMu5Wc+5u@O5jMgBY)T_Z*0$1hne$`wSzXO>5cjss;rY?A?V` zn!VSN5jVC}<>Kf?#hJT7epo?%Hi<{jYApi;xq=_ZlgOz5;bP;? z(B4X*`l}L7VZ}|NQN<7B>uga|s}q)$;k5lcWG+qRDnZ4RQQWn-jf#_yZF!~+VnGY#HokHC z;;cL(j$pkA1!eAG`Qi+fT0ywn05u0i6^PFwvPhMpME)f9Vb#aAx3_C!!<3M4!@ww@ z(p72Eb%3Gd^doIAG`1f{eEnAGFfbTO?H<0j`3m|a8&x-sb>t-s_;!F}#ZI?0U6En{n znfeZ3>2{iUHuGNO`Kw|j?7<)bHaGUCoMB@@MwP|vV1rIm6r zGR%}z&9ont%%63Ii%Q>;y|Hc2Efq)kDTb#W=k$IXiYw^jF(61p;Xr*bU;QECeM3~g zDLnam9$nnC`gq*ejQPJzy5b`a>7?tlGWYl~U$#w!e{oYASDSxx-Es5hO@+p`IIVR# zYTuPL@KKBWTfDP(CnnA+eVKlKn~qgYlEpYWCZ!q$4Ssx-dHJ$iCb(d2EkQjZQ-}NB zuR4<@7yi)YV4HPd2sD2PDpngGSz_P2mVyo=mDM5w8eHRIAMA4RNJaDTFxQ|1$X@)# zS6=Zh(sjSU1r06ahRz*4jYTlY;%&pinfmSZ3dOG`fxmlH?W;>h30(95DYmeMRslc$ zqQgy1Ek9|?>Mh#nDYiidZTDI|y$bhwR>j%5#NW#etOHxH{C|v|?G0uqfA>T^t{FXN zAgy*hyT8HyKKsWhmyh=4uSVLG1L^(j*(e6{6n>o;3NbA|i^+Xj5F*BmE(=DudRwpS zxef?a>{oAUaAu{~+Lcbm1M8=Yj*R1qe(#{#j5vtLZBT*SGsuWu?~|>h1;BU!W}J}% z7L5}@P`o=oDD^)7xdmql0S(L7PeFHg{@MO??nR;{uYQTk$iSdYe;-8rHf3PlvAE`0 zHQ7+>e{CmtNgN4p6Mlp_D#g%EaJ+5C5lud(LbMCk>ja5svK8Abp7*!(6(3`lwT8J| zq^^|@eEURQP1$(_b=@;NE-r%-ds@9H$>-bD>=3~eHkJLVdRXb79QD#S)e$p0lTULT zZ_jh2ssSf~)8g|OhRcpiPp4?|!%RAFmID88g)eqW>lZR|6k$Ctv|(xRo>3^xiDb-I zsJe)2lmcT66!q6{xNc?s83w_l1jeI;6PAaY6BcU8L>6?(h@_k|Ul7qxnw(wML|U32 z_{(*$y{Pc|7lAw0)|2k~!C=z)9kmd;s%VKt%EXd{dxv$;AExtX_5!?PU&p#h(Z3pY za`EADvMLSqrj+Q;lq2~gfJud9rn{yzAN6XVkQ(l2oB)jksK&}1AG_8nQ8G9ik@iX2 z#n1V7s!75hZQ@o&C!jDWp=04uz{}r-OZ^yiVYUHS$(gU{WlESGRGbWDH*rDq1cY52 zsM?`N9mJ&Pa=e7tsb4?WWz6+B%j)7snSB#NTy^%t)8MzE`$h0p6tL8) zrbS%|8IARD(^~`LZq{yp zXzaYGJU^KK-o5Ud`a^(NJNaB=QEb-&ol}H3`rxQlfE}&YP69>U&ai$WMzSB5F) zcbB+P?0$g?rr|G2VQGMj49m6JWv`dN0TZ7U3O0hN8hBb)O8%Xw8%S3DnDv!votbAY z)2IaXGM;406d!j3vQhy(5^r0>^{W`;-hicQJ62dui>7C~OirbLaTyCQjCTtnWOioN z-&wPej!k#(M9~ZPkeLk){n(A$>DS7^>rIQj_^Gx-*|tiAc0YA^sr=OsN%m|Z{wy?6 z5hP>8L$9VZ*-|i9R8=oobC89=flx)2o8#R@c)Nw2`)qas=1M2P%0{TDqhiN}IJ#;i zqT8ot*8E1)2jwZx^84JswkFHT$Lp2nf0JsX0^rV3LevryCnb{*`d4HxYFx`CKIC`Q zl(aK-8;W^M?*9NNv{$KrCc4szxd}iz~{6+0N$#` zQwqzLWO4>W@r2O9sx9j`Uh+9n;w};3+vV+g)Don_^q+)YlV!KeI-eh^-TjYh6W^eA zQ=d)oj5`ot>Ry9Yi%jml&I?YaX1`Ijx?2<~@VwEjajP21Gcmx7A;khqO|G0MH{y%d z&W|Q#6wZn1WRoVCx@5L}PHMId_NqxBW^|RA7kG&y6E8AnStq=1pFOcZUE--@IX1!2 z2Fu(Dd9L>+9=!nFS9+7Ric zi}rEwiIYNgdSEtZOi@9EfF%islB37YIdtSSmt2$`b+BXI+&77r#r+X9{fPwKppn$b#$m@)AS#9k_T-vXQe;1VLbmLFR zzefYl3vcc20BTG-Hcg(@Mji7*)9mDN#3bI+Hn;g!&K4~svUWXwdWX@v0$m@Zd7{)qhw=bpaGUjDors)V?mSb9AD*84R~MCt zf}{)k#uObhH`9+iOClW=_llAH<4w3%S=KVL2P%zfOYM`!Ha8$6bw9!sH_eO$L_eqAnfZ(B-v%?lf z8)!awx51kuUuO$rpu(n}(zM`GO6+uUAV7g36QxNY{fa}?ry$Lw}Rz#+f>T5V(B zp{%kpI;*?n&)BS{w8Z=ELuarzuaXUIjYdVQ)SJ35&Rwvy?5vHlRz~e~g{qu#PpO2k z=O)UFcZh9hZkaDW;@52!dAo~jDtg)3ywORrS)NR4Nb-gaiyA@hHjDFubLN8 zcwy-d5YeG+W3mi|BPlfQ6_Uzq4lKtOe z146YyUiGr=fIpp5XagHg+;rwaRq9Nj5wRq4!}@pM&9p(W=w9C-L<7e9XR80YSZuls-`4(8YRoQ-C{XbY{MZZ_Ul{fg5kurK z4gACON~(4sIZWn-6doW6%|!l4_!KGK5;*o7DI_wx5Y<@ z5)TapNeQVWG`Q~olW!RpE~94QV2b0QH3y6F^p0)TY)MVMhPBNKYEZsP5K;8cMNxH? zABo%r`1y96I^1#4?T0(>$j6PMYRoYvLuR>8)#>=^XMfb0?8-^Zie+D?<3N1%pEy{1 zh)ZlRf_Mlal-v+EKC~!<-U+6y=&jO0N$2)uAs#|geneEX!FEHNOIT-ziMuB%w~*<) zm#ID#q@sX%?Vrq;U9e^c(N1sbKLH}+(mAGiIytk_lZ{d(GzgmL^77guxjhXji;lm4 z*OIuY{)PU#H=(qwP&$77l){)dL9~)s@jfr3gV%L1pI>0CD3DG zV-r>!4v&(~-jp9x{r3(v6XROt+a;@MJ7Vs4j;N=@avNDNV8y2+rmL0aSwkb4msDP< z%$w#*&8;ErW#^0^k$~^Q?qiejeAvER`G+sodp;K=9DSE)Qj@O%^vR2P>iBuS=Zc@e zREt*#(XBYImfVj7{>2-RzVFk4uJ>tC@p?uLXNRFb`d2aF!LQ%OhC8}~RYRWnrtUAF z9`8-xZv~cQ0qo``F4hC87FS%Hhr@E-KG~(E)9D?JW3g9Sf6}SH;6G6q<%n_}I<-QC^X+&rYjez8GIOUwRm6SqLgU6o+A zXpLKE4~r42AFSv&#dOgyCPcHZs9auXal9v(0fu}ue^x4VrMEX5@EBGy% z=jEMwkH@RhTT1YWdWQhH4jc#r14HKzTLx`mX~fBO+)_Kg|Mm7wzaUFTrLcRui^eL= z;t#6m-sJEdfBCiHYo9O~LRTa9+pX4FYOlhfSAgn?P-SH=#s<~>EV`mEliH&-^&k9< zQGPIDWX_~ceeikvx6#sVey`QB9=FZobi2#I0Q*4X&u}RU)1V6>)XVEOikOXrLyzct z=He_O@9cx`YHiS2v~73J@;LS~2!!+YEg{Tm-jD4D8SDznprot!yT7U)i>V$q04vq>0wtRwEL8i$45FRl2Bn`rbE zji1VFr)KrFXYQ)1+@GvQ$^}3g2G7;k;i?AyQFyQ~N6vKa&1xtxS}P0M9^n)azB8s= zi;uZqz+zb-?+GLyWVDFrJ>U5*rIgG7D=i_T-hcBp8|OOj%{3LywSb1wn=H*^Q#qns z-Mh&<)4-p$elIjptm<4h}0^XmgrKOnmsLIm#79`?-cJq1s7076^ zF;~ytZK(R5Hybp$Gu$KOl3xaZ}i25%jmET zHfp6hQc(ysTTe0{3?JeL%7wZv-1t%}nn$spF}iB0N2de6A-}#*AZ~3pf7|-ZRPBTk zOaeM%>I_2gMqU2A=pAQvo;yoV{Za7VB%ErWr|f-4#pqFkOcXKGqOBq-B*C)iYasl^ z7gU(ZpwU=CpOPp$TLld-DufFCX;UAf5KD>qwvn&^h-eJ)$ugCU>KmSkAHf|2+9dsS zm$rz(mb$WBm9dT7<*2ucPjq`V&qnYbcHZ^(FD}(0ZnS$f&oIzL5;0tU*01L}x{#_bAkVZ+sL0!Nuv@TX)9wICDWD%<^|5zEb*83*QJF z9bW+2yr=SwSY&pTMN*+H zhmK>Tf;6IO+eNn)JBD3Ssj2mn4fcJi%4G1In?WCPmkY)EHI+j*?Rk$#Xg{Gr20b%9 z(hhIk3aB7sjASF&AEDp!C@hRm%jJQ7WVhX=7AUY6fSL7G(l>(OGiI+qEWlI3o6NhS z6np`I|6^^Qal_8GT0JjJZxcsnVa7=O9zXO4beT*4ZGBzc3vTOkx6$z?40B6mAjK7y zKP0ItlQjq%6%B*}u`W>7K#Oz5$drh?xN;5L-!IF2E?=(xUf?|XBlz{EpUsbMr~ z5P8}v^*6fi)5+Doj*VSzKXH6Yb=|+Kx8?K6zf1?gB?U;v7zC5IU}s11;V18@uKQ(K z;dyF}`Ys~ zVMp;ie;LdZNJ$hJ4}j%t#ZHF=ZZukHe}$(~OG$gMJXkgtg)if6?CdBpmzsS%8O20I z1d0XVta2elRM_3BMl(`XbcVm#JpY!Q;C(}POInf-d<9G2kSJ+eGB;wBD0=scsX?jd zg6)ZCuP^DB3*M%Wi7A=chTJBgp<@W|_DO!?*G$5WAhgvdA%vbv-1{HIYTa%z&2mBS zWl8KSa6K}7r|93Cy+ug|sq`fZbzxt7}*mWG~J)A#3(R(0Pjk%#B}=##}&>o1nh z07{0Y?#$n2wJ00kd0L?)&W(;49pBB$VZJpvMX8#WmOF01%d3tbv7R3oyO;6Q5|{)O zHDZ+HQCOoTh%d{;yL&}f40eNBZ(qqNHV1%j$W~lR4h@o>Zp~^Q>R6@oEYUg7xoimV zK706p*t{%r<;vhh9tAFZ#m7*8+VJ1jyumL$+$fSn_2^yobcG#*r_QZ z;lEiqxw%<6OyT}!krz&Jq^AOTQD=U-v1Y^~o{g6gzf~b!J0VVNKDxkVxRaUXy_wRf z8up{QW-s^Wt84UITIYMTBChhor)RowHQUD7#$rafUbd$Ln!a7HmA9TJ%hjGIxmZcb zT>&0CYl-w)S5uo*>+rp)C9+{CuUX`%B6l8CYPq<@*JzpEeL)za4#knjyKK?qreZ^DsdUo_}L$N<$ zy%O+qraZ}a%9JN`>yAWvZTgkn1dOhN;64yI$}36-Vu{+Z*4MVu>s+5O51e}j<@vlh z&r7c)^i@6g&}(S-SXS=IT;|IqSq#RxnH$|SzaUR0Dlf1LqyNXEt!Ctq+c703il=IT z-1BPJ;?q38(LchaYFaFgQ`QgdWODzvJD#yOwS9TNy|WEctasv4O%-D5S$VL-Y~4if zKTYq^Uf4OsoK)&oY|k}mqz_oI>w5M)KdNPVSndh+rDB#{^qWV}*VGiT3Q0A}F9#~F zf&1#1*0Jo~wo~&P#gInwvjWya@$&4?6bX&U7j5Yz3?Al5NHd>b|20fl_`u?R++QZT zGn-(2-o>`*vi`6Td2!&h{#W_G<%7}^6DEA>aOlkikuHHcWV?Pw3GpMBd&$I7(^EWQ z(0G~-PG~{b+u*35A>0KQzRENFOQ^+DX$M?i7Bk<3$L@$mG}*`-=VWcT1P^?a0{ z73Q^AmTeVopQ$I=Xzdj2PkU3oorB9#DM(gR;Ur&wl3VLvam7=X`&uO&R;B{s;NXCI z9^30zosB;8YK3vrDKKhy8)jnJ{d*QZ%|${+t>#1%VKtuWkR4N>q_o&} z48=h2?;}k0{gJL<<|Joq7)xF0&aD1h$9uX#FFnQ{Y0M~&9l%z?RUOWh!=R-UBp-{3 zNiM07`6jPnD_--n43&`6XJg|||DK#~y^)KBa_`j(B?`qNY@Mu(mkc`tB42v`IVe>$ zrxivI?M9e6t`|iOV_qIR*v(x>jHM`Abq$DwTVqEjk%z)06`6<=Vd|RqyzGj`ci=$S zdEh(59(-u->CJ!_knyOQTYOIBS+`sZ(vsVD=Y?=#m-5EPw;m6ZO{LDV;8m;TWDsnu zk9PG?ogjey6BJ>W&`ah+>a-Fo9G1-Y^v2d(nn_DjvB=ROulcWZ@jOc6g&o+yrUnEo z7zo-HUb^=p2*->3scadiI?m;r?@?foT>_gEX$u9d&KYXG>r2T|2>-A6MvA7tF_`|HJ?nA03iGs} z`@m#wYDft~%s^qmjMQT7w@aXMDDLOiih%?mAhl{{KuA%%eWd%+`*tAN`KOnO2(BS( z+^y8lADqs>2AS4s%3Vp319-7EvNDyy4VGjFDOAqVkbDSJ(J-DO*@uV>4D07Ge%??S z=N5U;J(PjGkTW`LJ~LkPs=HkY*EO@G+6j!M84UZ!#OU*55y4(@n5YE4Nih&|He@1l zt(Z8O_9Q1Ub$-WfDSJ5BHSncO(NpVlAG|4go@gNIS=BKnf}Kx8b%pN zJW(mHBKnQ)HxI>1v%82&V#eCqyRyk!ghamhr4{0RH z%N!JQ3g<|GmRbKocC~ilav_5t6a8lcj4|u!m`-u|z!b~_~06+30uJFI7UyWoZ zCcOU&lf+TP!VjVM+IJZp%-{m`yS~hr2tL?(tq=Vb>8%(woHeebusvBFRHpyU{ttPN zS&nce_y0H&pR5IWjGUfK%PQgGAH|i0rh%qv_l~zL4xB%R&>YVfrZ{xEEn=l^2q_Rj zJ^l#M0bVGsIgKKk8OlLzNpj-4Bd+TYBH2Q(k<=@q4|;)=0v1wLk#Oh3?nH=Ps%u9t zm5N*~q0rPtZ?5_IvCRftq(Y;BfS!r~O+_3WoWe?x$O0nfjE)hBBfa9>;;=Ag?^>{& zu{T42K2l-g`8@^re(LjEKOavWTU$bD7@30JvwVfsD3vKrzP`ZVR?MSI#jCr@FB*^|Or4k)EU1!iFUAH5G5(7uYHhy9r|-(1@5=t8%6H9pl`*LRZe$m{Gpk`_ zu^+b<2tnGlX(b>_8glC_iO1F2A1{<#1d{l;CK)b1SBVX0->O&ISvfV-bW;(xMtF&+ zDJ+1Zf&$EyV`4^lg)#V%Rc$g!`3h3pEhtNGF{`RS1?AkJqhUlRQG-O#CLcPzH3q*x znm%H`^|n-`i1C@+%fh}Qq5Z0am4am03&zm*B~kxjfmG!r&G`2vh?a^b=M5;4$`MP^dIQRo@&BrN4{)}>=zkm?TCHl$s-kLD5L&CTYZXC= zpmx=&UAuNwRjt}$?;vLFEp6>sH4>YuRlD})|Blc1`}}|3JdY%j_r3R=*E#2P&%N(^ zZ`>x?X((1@m*r&_AL*Fb;?+dlvsLh0whGYRlo@Ky;2H1xzj=dd)8SBhc( z(CR6HY`@h;D=T!}9IXYT-wQIu?ar(cIx7;IN9emJNlzY*u*;W%{L-&{g4|oY8X4P= z^HX7}l?`?F{yBYkb~K3VM@veH@pN#w!RUQ&mrTU#WZJD}@n*q!36q{h{>$b*9^Q%u zvHQ2A+@$@iEVrwjQUu8}tNzVauJ{Y`EU9elX8#Qj<;temv8WJ}N%4E3@}m}eW#f#| ze-0R8dN(}p3CDaXD|`fmEzUJTla911uxc|^cc9ZLjG|)Wh97n#x*UwO5^zN-V{47a zB6FX9ZfF)N4>}PC;J0E6bU47ufKAj)<*u_YvU6oo8a*A8N!x{InrpWH{X?JW?>aWV zqnWi`4h@;%bIs)mn^jBx2-5X6xN%9x>{`(Ox}qVx}_a74^ z)_SVK{{N(Q&@g2caCp_4*YD+L)OwS3(S!a$tBfalCr5%3JJ^+ zys}m8{4*?VhYby?PvQ~0p>`vB+iI>0IU(vcm=W*WC2~uNSlvBZd1g}5xh_zp;tJc+ zSW5k{SroNhahEl{#6KmwA9JbY@5I{|6SY%=h7 zFfxb0nD*Aj&&`A+M*v8wxX?+&(IkYti-^EA015=+1;Fk74Dm4dE-Vb(-~wMrf-5WH zR;IbA0UhqJ$H^vW{$(@2&R117QY>3ms8B79cS^HWT}&mqr;hJVXozs|zXJgQFb}8Z zINflrr-)1YZOSO1q*VW5H&8`1$+%oWdWy~bemIuro z{oq5txkszygYYz~NS-TJ3y>^;Y^B4Mu~I$gFFzcj??h5rP-`Z$$d-pr33-h4e&PS? z_&Cc_2%SSMaAoo#5ybl4 zDlXQRp=YYfkQ1n0LKy^2h$(y_Hdzr-uclAdjo(NDM-R#*D68~%kGI?91;&~4yCdCF z6^aNLHnVBbn5b>lJOfOy$BrfoI@^D)D0`_`K^6g#7fPzy_X#c=YX~nP1Q(HF0i12& z!6J3zz`%H^p>nsFlMwK+RgFQj_-a!3@?}KCCg)84Ou3_^TK$=Ah4H78Fl=|I)Oezl zmz{FefnA`!=U89tVJ<6@vAar@|7jFMSuzl>((trsCvxX{B~a@p8JeLNS1ZMbu_fe6 z-Qk15Kdr&CaD;SjP6Dd)HkGF0#0?MtIG2M`-DgN@kk_y{BZ~!(Dp*B+yvoxARi{8n z@rMn>2g>lZTmQOXW*++Rd%v`%+4J1p*@9HTf4q@_r4s`CJ2{&@+nq>9GG5Qd(Nt zH61g0iz$=`M{*u{+Gv$Rh3d50P$ad(uvJkuMW_8bj>~ORH&O9=RNkAQmnI!^skfbD6iI2UX1k=Z9~xm+9nHc;z`#Rc9*7tf5E&N3e{> z;uD9eJaR$Z|LMyf7PRr0%Zc!C-ytsccd z!lb?zU0_FWS0Hf*jJfux=O!WCh=@KY&;KB0ZtZ*S0r&m8R^GvF^4RO69^q^wXHD-r{RT~BA>zg!o@bCl}nIDV&Gb$VR&OaS#zUHRcx^@ zC?^DzAFq7w08gdoY#SwPP3`$4kt*pWsmkTT>VZD;u=YRva|vgS#v~ zhx@Hqe8-&uF}?D^b&dFcvvIe!tXw34L{}83J|9J!84o&jL1b1THpiwDw^*FWutrc- zb{u-zP|WQJsqwXcZjgrfbjUE}z*wLksAXQVo1?Rw9U70&^_V>tpFbWhHu#tYCY?PdK(Oj4gl>%F{|BCk+J-|hQa!}_-H4zJ-YFh(yV7T&&8f|I8d%N#;zJI9KnHOsQ_F0RUx+L^_zn2s?ke|`u$#o z^>btHy9cYDOUfdBSHZn}H#pHwwI znSJ+U=07;)OHk6T{=W%OefYn)t&hMj$O+XGm1_tsp@5sxI`!cfTgd@|F!rgIX!}OB z{ky=IPgXt9o`tC9Lj_(l8Q#FlI;_!?*64oBvBlC>xBOUev3`x4yF1-k_VH=kd9!m< zoF+6?(nmCgX(-ogJZGALQ$zN2%1|@oX}(k( zKUFhw@ut#l^Y5aMY4Uz}%{t>n1@mtFUq4D~EsWIb5><#Sv+=t5jH$VHGjh0g|`7Tv)UZ;}Mko=YVqr^|uP;5aH z+El*~o|5~!3IT)l%XlLA@_1-)qh+QY^;~8gn?bM@HesRlW}l3cuLT9^yT($k`y`1< zs{JBoBS;&g^uzr*Uq0QE2#FDi$=$^hoy`JfL!JJJ0?QI~YJjtu=zGWQ-svcjdOlmx z-GR?Fu*zniKkKGV&~&@jWGcW}$?u)xnY$OU;Hi8NsG2;UAfZf3ZqVG&jpkDFC&yOQ6wvP^s6fg2KFE;(A zciao74-2EFksN&(nOtax(QYX!&BM|8J6E1w$gt9_o$PTrP=SZGhEGf)CN2?^n0Nvb z5Q$D~`lF?K-Q#e^SNumV-Z)I*AWV3@u`bt8x54yur_c(ncD5$vc4jt}M{zntdR~Q4 zyHwlta2FY~616jOROxmROgDZYF|<97DYo)D4*a{rV8j_Xe84ItHMnzcIt8$sbwRxH zptA<|x#iky-`1u}9@BE-NvP&BMm*Jbcm7m1c(~@y*NfS-Rm_Csu6{2v9U^)vcS2vf z0~2#wdkgG<0X73UILuVrP1umkCpW+1sdk)ecc1p?(ABthl+Uzcqrn+bVB9urQ>HmZ z-amczLqO-;WYr5+NVOR}R5oRDp=aGO9YCCyVvQ~-De-d7_Jj!ed6{gi_DqKNtW^b$ z&GxLRTUh*C+Z%~bJC1=loPscVEB>4A}~>) zeBB1^UpV7kvv=4It%%s~k@S3a_I+!YnKAJ!AV3py(LFFT;W+0$jyYYAH-=t}@tt|i z2#}JV*`RTSI;Fslj+W2lIVqk~ue;-UlZEZ9t*mq_EXa?*Yh#w_XMX#AlFz?xe`^sr zV?8TPb<4dF98$7W)Xx>@i8afjMF~W5u&X^ujrWhdOL;Zc<`FsZb$7VI-4_bwWl!(e zKWcXahVQm)SE|Fpq@upjm|poA&B(?RY4`oBoh=j}#6Fek;&ZTXzd1GKj9ek?Ioaq~?{MB+KhvI+qTYo|{5l$4>x6dAL3Qj;`gnbGE_U|0$CFk$uG981>5Gb0 znsI2gOTC(3hR4LjxJy)>)CU>{bihKcCv@G;`wW|`T*oQ}OM|OCb{1QA>sp7$Y%m^E zJ;Ue`VF&&F*7}z^e225i#s#bASc-kaqks)=W(lv6pD|K(RXg25YHp;4XGyC%%jV~N z;7QEsWD~TXEXwn!s>Y$-vV}1s{q($rv-#wg`g)Du#s<8-z{heYZi>^L{^CKh%*?an z`lUsBX)1q|a|JK+e)PMc zVeTazr{pVfiC@ogGqIp>sx#Fzu#luAxMBD`nTdwf$-kFbV&Hq7sPXafKQS1XN}7s_ z??a4WY^`8I!u{um%Sp^`KFif2Hue*RamH!J|9U!GYMPGXWb;TGhP7sl@{tX6sb7VC zJ(uP? znJ3!Ua`oeA7mcY8c~;oIa2T`EbKgV90mgM26pP{U193y(cCm^Zy6kp(3Nz*BryPK4 zts)6!!Bl0z5r5`hQq7%hm9=aQ9Q>i12{!iTmMrIcI=BbFIGdU9k?-d`anko0Sj<6A zFrCO%%1kx>9*yD6(nN+al|R`t@EIFJ_VCD@4+`+StCbnRGwLnb$_NZ-9OTOuKLaZ)$*m zkc>8)Yp)Dzj&y3Oi)-u5$H;By3^4^J(*k=l?>&EvOd1wQW9Ga%nIWak|8fd39t|%O z512Q=TEAwtbVpA%PWr3Xo6jsm?a!B43q@=f-(Ds9u;PS%EURr9ys0!#NNT`s72$-G z<{hDbBQhZ5;2B|tD`mM0)XGP+rgWB?>QAW2P#JB#sAwYRUWOm{G<6M>Z$p4Gkq*1u zYWzrLHcH_5iuKLS&GmJOcfY?+H+ji}W4~~XF!xRj46t}gGKqd7mS!>p1#QKF&hbMH>x6cHblF)F48N6)Gv<91SUsS>J55AiUM~-d`fbA zAH1Xb4JZ1*{H+*-Mb$Sna#Ms zwpKJ0r)%{XasqpcyZ5t|k*@PXmFJwhhAjg5z zP!ErO9Jam;?s}n`$#G0+DzQ}-uoXJBb*rJxIdsnxr(?NijRY@K-p9|MKU^FQOR$MKK`zTe+9Gih6*>RTvMBPVg8zN0Fmxf96NV1^D|@* zE2yT6*cjmt3_SP=jZ(j;?Kv0^nlZ-A~iAl2TX)6AFY zDyqy^l$t*K6aR)|htwL5S|6XKOZF!i38iPeL;rkUf-UP|kZ>J$fKl|fp;`m2|D4XY zj(P=`xl?A7{-HbIP!OGK5u2kkib%I{cjn4lE%bP|=(#d~b(>~dQfq&_^lVl9s}jAa z8BOF;;j7m(y!;#M@B;s|i64^OZ9Q5Oyx(cv^z?B0k-!FSW5(`@rQdMcz;XsH@XQuH z^UEC5_C*ynJ4AthR@z!uG@ggZ0E?n&^$zJ=iCMp${rtr&{F)or&buv((dqJi0|Vtr z3rUajsl#_V-tQyS^GA=qj@Ipu*6En0H$C&Q2rYy{rarP#AdIFe&X%=V&nRuvvA#Mn zSr!M$A+ZNnl&&<{Bb}Ozu{hMjc)UqmID1)1ge@Hy}tz11M_+uhqY z`73dT^#p2EJ5GildHk=10?DIW{&pa%?M~zIN+EFctieg9*$ygX%3JDXjSvx$@Aqnu z29hL!Dk(WxitOWkDJ5-ABBEGZZOi+8K5oZntP+Xa8=H49UOAh;O*A|ycK4cbUT^(2 zy)f&WQXeIxS%B!IygLny+}~y8gW0LAr|PSsI&(Xj*F#Uc2AKJjHz3j8%Qao`K3y{| z9O>TdzWI44RmI7Sx!|}+81pB6#MxJyrzVHrR3prJ_SRpiBPl)3g5Qfred+IElS@oZ zy(fRlT~A8EH2miT=KB$#CFx89Y+CzrWIy_;pkSqCKa*o=+}lvfsqT`|e|1te;oj%H znB%+({RRtnW|d~&M`K4u<$K|+UJ_o$9(Af7V-$4Ti42f=qxe@$RvO%V0!T`XVt8Bb z+*ZO={x0d`n{p9jD3zo2A0p*)d6CyCi0UbDW~sf#({`Ob*#iNZ{kNTyxNdHacWdVxlg_*T=`F>F-L7L2$`axkl@BGhkh-OlE7#36uA~7XvhB#)lI# zr$5q#FJ_m-HdFk(m!0W+oB#ZY#vwQC#3y#_ExT{6(&Wu$u%uTTIsdkl!>+mox4QIq z#hMDs@)W#eLJQdnxI$cwEl!AMn-zY~bLj4fZK?;ZMy6Xp3n!E;)7-2VA^Ena@2ACeKW z3K#t>1uUlSGD4XFY22TCofqfdLya+Kb*sLU4}%32Bx~3xtwQARr(5QwXT3TN&953Z zOEI3m`AWujHpEi-8cjJ@TNmqe5rvr09g~2c6uVJP4ovlk zHGOhJZu1@F;t;*vOo|psct_P#W{TgZibO*dVF-#b9+x==L_L&Tbgxzl{S)QkrY324 zBJP{{1#Eslu6CJ?DWV~Q!(e5-W`-7w6M1-opIWW2cUvE8@>%+7r(a`lZ#Pxz*b>Ui z*Zl1~aB*>IB)9=R?P-JA;oO;&mE?UXBdE7}xclerF!zJu_)m%b@~(|8<{U=$%ujeL zaMYSZUvO2W8h_dPpShz|lZ92o!d1f}jFaxuDX@>{=W=l7<*{XlbhJHh9!H5ICUOn# z1fSMFL$`8$$>#2zC^qTdGl@;>I)S`uo=7Ti6Q-DQ*MGT0Pkhy`c;JBlB3&kxVg_>V zvhI5-Ghm42WDv2RtaHwLhc@pvHyG-4ArS zJ8&tCQ$HGMGLL)>u-qQTPx+Ylo|m9oW|wnM@EtCC+Kwfd?9U;NT>2;BOEI9Hm(^DN zDFLt%$q3^oT1b*7FOY<_cZ~G(4euRoceD5l9E-!PRcx{cn-7O3@;Ta`*PVam<22`6 z+K+i1Z(J#aQX&IQ?Wt$LiI5+yU4U%k1IQIUCeU!b=1dX%()gr*Y{y|s;Sc?<_dcd>L`Srrl>byr^oBXLT%{=@~&|T6GhYO#| zxzqk~)*nCjM9O5UKZ%7qqF=M5pD@H^uXn|C$E1Tt>Mgb3n$Mda58^ed?my zd5)1q1aB&%-m@6c95c`M9NeR`z)=x9aNJqK1w&Fw;i;xD4R6v0^S?5SEzZLYyXMF7 zr;H&DmGaL(23{;4SsgP7*)hM>plHK}hcEj~{6htTUrH1!Z4LiAj`JvXMinpO=f@3? zq?#5zI5T@R?rqKm-^vZ>K1=OAIRS&##vg4*^HVRfAtusa^ZN2PjFn-K3 z^gP~EuAf%|@5vM60_kP1`Y77Y{==uKd`NlK+*qdUIM*6Qk1G`bgVEQhil@(_(LSS{oM@k6Xy}azK{PAyfUM`Ud-U-5ReUdZ}(Y$hn{SzYa&9*?7$C zPeKBiSYzQBW2|N8l9)bSt6ItZRhzr!l{F@(|9)<@M1*d`}Z^$p_fmCJsxEsj9dMKWrSIfizEBPziUv3#*+?W19zY5kRd zDzz)2syR-@c?@+3#~B5jooHWdR#`Q{>55Bk85Az&il3}iu&T#>sbK;Fx(FJaq1KWw zr=DklpwiC%GwrNw6mmjt7yHbWYb$vsD$3@GBpLXcdM0@9mn?;cn0IGGy5N zN*1eY@yMvL-AbKB4ktYO;5R(b9sOs`6v&x?PWDZQ7KeuJ4TkMyk-8y2+P9K&*oNcB zU<&XxqS{z2Duuo4yx`;zXiJOelYB5^4GPsZlrIzH%@IBtph6Yt_0w{Y@^>PW7Mlki z|6m}!uPc2!c9B{=LcTm~Z62QMLEmk$3GIEPsoB*k1`HF_Kd-|_DlI<$B}Yi8j{k~< z(326=a+c$v1!jM!6kO*!?{&}?ePcd8AE=?%@FQI=>1?KjLX8rT#)O zKUUt!4(X)akCltCDDE9j(t5m{4di~YHVv_dqNN;zram;tpD1jmA&42s0K8%*DJ4-> z<-FqMEL};ck$d6eh9D~_@m_=C*mDgnOd(Xsbp&k8Bs7jv=J26Ll6-h(3qU7`x?XJ* zbEK20UVMDj^_~G45=42viF`aSATnRd03`*6aoAQAV22~PdNg4O1SmpCKmp_kril|U zbN%zbpMn>Vk-Dji(nLE=v&S~XgM7ClcM#^8sRW_FL0>F?gmOJG($1r%%8-A+GxCPK zi0|s%^u`tFUZC4$9mL=`=8!~OqH3h_%d4*_d4O3$(2%4dTw-eQSs`~N6+vc4w6-&c zOur&bQ+35*g}sSWC#Swe>l0L~2D(hmRVZLC$mkRhix;PPd>b)$kf*oL^Ul*7 z$+*M;N)zI~<&?m_@4Lo+&G9*RZRX*5Gh?#^^ALk+$hKOV_EtxLN2vYdsJpUqBlojT zb&U^;)VOS|em&$y-I=XCND|hN-{!p>X-1%j3R2tYRyXRupptt9j z?M{MWLZdT1j|S>e;1AFR;+FKJq$IOaIHhRe(0MU3wrF|iCN=B(b_*;z;SSCs1`>|a zh_JHL(UkKPZ9t5k!c0BA5NPW%#(3442eim~*tJWC`VIFD2ln;~5OOctXN5!4@zG6q zZkgvh^YChfidMVDv*d1FhH$*HovfNEHsnp{u8Y3IYG<>yCQnSA=bY9-TXnD6_ydB! z1w-Se1b{9NW~}TvIO%M>(%@Q;}{b)aw4d z%?m^qs0$TBQKK*mZ_6qzg{^I2*+924WhI*eNVg04z{{#0Pg#Jg-f=y<_m0Z|6t~Z{ ze;6N63(F=0*eoF$ED_!wYr6b!Dv>@Z{2OBA_g{EHN7o^gTorqi^1uG1wFgE~g|-1x zZ=W<6Ax^Dj*SKvv^Pqpt+`c{jGAVF0)Np+%o-KVVjp_d{Bi|6K(}3uVgmoF(9`Klx z)^i$(UUTro|9&I2pQ1u%>Wp1#1#V~o1oRGV?aFm=0KK=Z`|*+>h{4wYhm&q=7(UmM z>MFPP`!-$~9H17H>N30dVsnMOvW!%OPX)GM=>)J12|+pZo7z|w_8(W}zl7h{-=yt9 zrL;daDi8$Ha^-8lnebdh-%%trP;>nRwija<xJ! zzZu}va}>)#+ce8Ma;cN@lDoIE`xa%AfkWLNckkL*zL01fm&mZyOj7skLeK&TzN>Vr-Pxo&EHT@aMoY1=-f!$8t=>n?fa zl1bv2J6Bp!qhbG%^(;U$|HB3Z3jrivi`bLaCNSeA>&(J^yI|URdyZ6e0jxg_nQqTD(Xsq$=SQA(%@))Xk~}{D94^cj&sue!8hnw_+u9 z1gt!PozP)JFWSn-(%^A4Nte>=HXvY{;rxtEtIKf6vW8Z}@B-2p_}v#+x@0&s4(!pp z;^I)W{orrZdLlhL{78+U@mMVapJ|qi?L|Gi(q=3V9K0_jFe)k&*bv*t=sxKWjeFwJ zzjFI8e1BIBGBI@8Ll4=dB3SJ8h9UMmE_LJi3j@%qVs16B-Me~GJ1{U}rS*$e$bW~d zUrO`pOM%EXAeLqRLjhqAHm5^{(Ot7f4x$wQ!VL{oa}Aa4EYMHoOI@!5JPwe?lWsSz z@2Gdc-+%58L?tE?2lNy~0C5A*#~RC6x@wOY&R&Ke0dbC>7Ov4%mseb?rPfVlDHn}V zh<=f)g>{&>$Q^O@Cd9!dox?d?wDWY)pB{S1+lP#_NqOodg|&k(U}78M@Ov*gbMUO60VDV|Me-1vmFKcL}KQ8d_j}uq+<74P|pSz z|5i}%4VcE;2XOm*ek7LMKIJD06birs3VYEv>%t(wu#)&SE80fg%qzD8?-?$c?L;^A zlsBOu+9ln&C1Legc`Rq}9Ym8`$he8b?i)S`a0~ecAQ0l@&nraDYdS>(qI#Fn&)dHb zvoR{dp#zn;kOPCv92gjyy+1!jK|tM(n(G;N+~933O)vszW@4M zAyVqcg#r?aCn7OF6VLE{W^98AN~AUXMioy&HLLT`IFP{Cvy&GG*EA9E2JgCv%|lz9 zo&!gW>eFbe4@2$oF9{SOXh;T-v@)@7D*Fu}s8|fi3TOed0LJ|QC%vRPz-2)9FH<}0KkOqYL0Eye=p$o8{bzt*|3n`2s{DFQ$ROrk5d_4M={@2vt4d66i^FDzL$ zx9^pXb9VV@=f$ceZfGrOjUO-kR^^fuVBpgdS~mjp0Tgl$o`tEZs+Q|;aY<`iiso%! zOfMp1X_3BUI`$P>WXNS&egk&H4_6gGT>Tb$^;Ju$EEb>j`~z!BmdBGw zLwRR_!fr3_<;vHu$1o{zcq`0F&n;)P#0|A0Oy2$7fKS=O8+b61_xB=q;rpzdBBlS; zxEt9&Emi5dlRIdbmBhL}``frbi!YRyrtg07gNNgdozt(}XI+d7{zb(A3mX7&7sQ-8 zEgw91k(h(wg+M4(55vxV=SO&hRAcP@!|&V)U#vcuDX80T!)fi_3uT7Xc@T8dYu5ej zO<5U55Y+#Fo``sbL@Gpql^%Ln_Y6G;kwSsfr}h3Ustcq&##;YeJogOWauHPyZ#PX9 z^{o~8?~;r$|L|H55w*RZ|DV3L6{1kn8-w%-bu8EF;>m=+Rgc_MF#AkJ>lOqPp{soL zWk5o1NRrUNigSXEwq-SHTY%q2ALRE9V^_(SrP+6lcO6QznJJNViG;{pQD1dAe$~~1 zjw{K3%+T}#*~EjsQM93(`))yL>Eq`mH<9F~po;26f&s0MdR9^*{;xiJqCG3X3YWKB zGyc}8Z?%_LvUwO@s)RpC+JShEO~W4D0ZaV5Ly*V%=xZ9zJ_C?-C@dGLsTeApCpZ z8r_lN=Xb`EiaY9esEJ4qBee2#8opN{daKK^f{eo`&Db|po!gkNpEGSh>foEZ5078u zbRYq?kgfQFbewM7qls4Csh$QC!67e#GO_VVm*rO}bI4PFANE?GSUYEMWh|OEa7<+? zt5M8k9@USfjQcQ7D?L>B5w)(M=e}HVrrKnnOpvH@xRp>V#LgI0<55|dkr9~WJk%!Z z1=HXRjEb#9xTo&h1(^RR9z_CzTA^k23VgMfEVf!&T7K`q&x$ktMdkX?H9cH;z*Ugm zGk%_VIXVf{PEr z8($J|+N1ZmnCo!SUOK?|ZW~`B_666!!ej9Igxg2|Y-U|-5m^`-Y$>=|d+wA3!_*CL zTpy>)YcwHLa-6@hu^~K@ke;6YQU~9^@~}IqT3C%nl+y}5t5{%#uJ5@t5c?Qnc#&ae zZ*T9d22giVXq<5F$2nvCgw6{RA-)Nr<yIb!$Dcm)$EfjyF>5)IrYl%QV?V%8CDIIwor>-pJ@n{%uc)qeR|sOauB z3R{eI$@?-Rq#me(qfrK7F_4ERco{0+&j>I?-o;WbK`E|Z|MQfAG78d7CDgqjre0iU z;Y!<~cL(Mq+N~z|rN0Z7K*pq<&VP61-bGRwa2gxe}Sz GAOAn-YH(fv literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig7-enablevbsofkmci.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig7-enablevbsofkmci.png new file mode 100644 index 0000000000000000000000000000000000000000..25f73eb1908c9d0dbbd5dd6d11367eebb9e6503e GIT binary patch literal 38468 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 Rbc7$0msWXP@W}Y({{pIDBnSWi literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig8-createoulinked.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig8-createoulinked.png new file mode 100644 index 0000000000000000000000000000000000000000..d640052d26b8c19d518898428fd0a015aa90616e GIT binary patch literal 30301 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/dg-fig9-enablevbs.png b/windows/security/threat-protection/windows-defender-application-control/images/dg-fig9-enablevbs.png new file mode 100644 index 0000000000000000000000000000000000000000..3a33c13350ff69fa445c2abb6762749ea1e91bce GIT binary patch literal 30194 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 wMD9G}+W(ROfPwlyWA5i6{GVg@ Date: Wed, 28 Feb 2018 10:59:10 -0800 Subject: [PATCH 031/212] split up steps topic --- ...oy-windows-defender-application-control.md | 232 +----------------- ...ion-control-policies-using-group-policy.md | 46 ++++ ...s-defender-application-control-policies.md | 45 +++- ...s-defender-application-control-policies.md | 35 ++- ...l-specific-plug-ins-add-ins-and-modules.md | 29 ++- 5 files changed, 153 insertions(+), 234 deletions(-) diff --git a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md index 9093c56669..6a7873aa9b 100644 --- a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md @@ -71,193 +71,11 @@ After you complete these steps, the WDAC binary file (DeviceGuardPolicy.bin) and We recommend that every WDAC policy be run in audit mode before being enforced. Doing so allows administrators to discover any issues with the policy without receiving error message dialog boxes. For information about how to audit a WDAC policy, see the next section, [Audit Windows Defender Application Control policies](#audit-windows-defender-application-control-policies). -## Audit Windows Defender Application Control policies -When WDAC policies are run in audit mode, it allows administrators to discover any applications that were missed during an initial policy scan and to identify any new applications that have been installed and run since the original policy was created. While a WDAC policy is running in audit mode, any binary that runs and would have been denied had the policy been enforced is logged in the **Applications and Services Logs\\Microsoft\\Windows\\CodeIntegrity\\Operational** event log. When these logged binaries have been validated, they can easily be added to a new WDAC policy. When the new exception policy is created, you can merge it with your existing WDAC policies. -> [!Note] -> Before you begin this process, you need to create a WDAC policy binary file. If you have not already done so, see [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer), earlier in this topic, for a step-by-step walkthrough of the process to create a WDAC policy and convert it to binary format. -**To audit a Windows Defender Application Control policy with local policy:** -1. Find a *.bin policy file that you have created, for example, the DeviceGuardPolicy.bin file that resulted from the steps in the earlier section, [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer). Copy the file to C:\\Windows\\System32\\CodeIntegrity. -2. On the computer you want to run in audit mode, open the Local Group Policy Editor by running **GPEdit.msc**. - - > [!Note] - - > - The computer that you will run in audit mode must be clean of viruses or malware. Otherwise, in the process that you follow after auditing the system, you might unintentionally merge in a policy that allows viruses or malware to run. - - > - An alternative method to test a policy is to rename the test file to SIPolicy.p7b and drop it into C:\\Windows\\System32\\CodeIntegrity, rather than deploy it by using the Local Group Policy Editor. - -3. Navigate to **Computer Configuration\\Administrative Templates\\System\\Windows Defender Device Guard**, and then select **Deploy Windows Defender Application Control**. Enable this setting by using the appropriate file path, for example, C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 1. - - > [!Note] - - > - The illustration shows the example file name *DeviceGuardPolicy.bin* because this name was used earlier in this topic, in [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer). Also, this policy file does not need to be copied to every system. You can instead copy the WDAC policies to a file share to which all computer accounts have access. - - > - Any policy you select here is converted to SIPolicy.p7b when it is deployed to the individual computers. - - > - You might have noticed that the GPO setting references a .p7b file and this policy uses a .bin file. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped onto the computers running Windows 10. We recommend that you make your WDAC policy names friendly and allow the system to convert the policy names for you. By doing this, it ensures that the policies are easily distinguishable when viewed in a share or any other central repository. - - ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig22-deploycode.png) - - Figure 1. Deploy your Windows Defender Application Control policy - -4. Restart the reference system for the WDAC policy to take effect. - -5. Use the system as you normally would, and monitor code integrity events in the event log. While in audit mode, any exception to the deployed WDAC policy will be logged in the **Applications and Services Logs\\Microsoft\\Windows\\CodeIntegrity\\Operational** event log, as shown in Figure 2. - - ![Event showing exception to WDAC policy](images/dg-fig23-exceptionstocode.png) - - Figure 2. Exceptions to the deployed WDAC policy - - You will be reviewing the exceptions that appear in the event log, and making a list of any applications that should be allowed to run in your environment. - -6. If you want to create a catalog file to simplify the process of including unsigned LOB applications in your WDAC policy, this is a good time to create it. For information, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). - -Now that you have a WDAC policy deployed in audit mode, you can capture any audit information that appears in the event log. This is described in the next section. - -## Create a Windows Defender Application Control policy that captures audit information from the event log - -Use the following procedure after you have been running a computer with a WDAC policy in audit mode for a period of time. When you are ready to capture the needed policy information from the event log (so that you can later merge that information into the original WDAC policy), complete the following steps. - - - -1. Review the audit information in the event log. From the WDAC policy exceptions that you see, make a list of any applications that should be allowed to run in your environment, and decide on the file rule level that should be used to trust these applications. - - Although the Hash file rule level will catch all of these exceptions, it may not be the best way to trust all of them. For information about file rule levels, see [Windows Defender Application Control file rule levels](deploy-windows-defender-application-control-policy-rules-and-file-rules.md#windows-defender-application-control-file-rule-levels) in "Deploy Windows Defender Application Control: policy rules and file rules." - - Your event log might also contain exceptions for applications that you eventually want your WDAC policy to block. If these appear, make a list of these also, for a later step in this procedure. - -2. In an elevated Windows PowerShell session, initialize the variables that will be used. The example filename shown here is **DeviceGuardAuditPolicy.xml**: - - ` $CIPolicyPath=$env:userprofile+"\Desktop\"` - - ` $CIAuditPolicy=$CIPolicyPath+"DeviceGuardAuditPolicy.xml"` - -3. Use [New-CIPolicy](https://technet.microsoft.com/library/mt634473.aspx) to generate a new WDAC policy from logged audit events. This example uses a file rule level of **Hash** and includes `3> CIPolicylog.txt`, which redirects warning messages to a text file, **CIPolicylog.txt**. - - ` New-CIPolicy -Audit -Level Hash -FilePath $CIAuditPolicy –UserPEs 3> CIPolicylog.txt` - - > [!Note] - > When you create policies from audit events, you should carefully consider the file rule level that you select to trust. The preceding example uses the **Hash** rule level, which is the most specific. Any change to the file (such as replacing the file with a newer version of the same file) will change the Hash value, and require an update to the policy. - -4. Find and review the WDAC audit policy .xml file that you created. If you used the example variables as shown, the filename will be **DeviceGuardAuditPolicy.xml**, and it will be on your desktop. Look for the following: - - - Any applications that were caught as exceptions, but should be allowed to run in your environment. These are applications that should be in the .xml file. Leave these as-is in the file. - - - Any applications that actually should not be allowed to run in your environment. Edit these out of the .xml file. If they remain in the .xml file, and the information in the file is merged into your existing WDAC policy, the policy will treat the applications as trusted, and allow them to run. - -You can now use this file to update the existing WDAC policy that you ran in audit mode by merging the two policies. For instructions on how to merge this audit policy with the existing WDAC policy, see the next section, [Merge Windows Defender Application Control policies](#merge-windows-defender-application-control-policies). - -> [!Note] -> You may have noticed that you did not generate a binary version of this policy as you did in [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer). This is because WDAC policies created from an audit log are not intended to run as stand-alone policies but rather to update existing WDAC policies. - -## Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules - -As of Windows 10, version 1703, you can use WDAC policies not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser): - -| Approach (as of Windows 10, version 1703) | Guideline | -|---|---| -| You can work from a list of plug-ins, add-ins, or modules that you want only a specific application to be able to run. Other applications would be blocked from running them. | Use `New-CIPolicyRule` with the `-AppID` option. | -| In addition, you can work from a list of plug-ins, add-ins, or modules that you want to block in a specific application. Other applications would be allowed to run them. | Use `New-CIPolicyRule` with the `-AppID` and `-Deny` options. | - -To work with these options, the typical method is to create a policy that only affects plug-ins, add-ins, and modules, then merge it into your ‘master’ policy (merging is described in the next section). - -For example, to create a WDAC policy that allows **addin1.dll** and **addin2.dll** to run in **ERP1.exe**, your organization’s enterprise resource planning (ERP) application, but blocks those add-ins in other applications, run the following commands. Note that in the second command, **+=** is used to add a second rule to the **$rule** variable: - -``` -$rule = New-CIPolicyRule -DriverFilePath '.\temp\addin1.dll' -Level FileName -AppID '.\ERP1.exe' -$rule += New-CIPolicyRule -DriverFilePath '.\temp\addin2.dll' -Level FileName -AppID '.\ERP1.exe' -New-CIPolicy -Rules $rule -FilePath ".\AllowERPAddins.xml" -UserPEs -``` - -As another example, to create a WDAC policy that blocks **addin3.dll** from running in Microsoft Word, run the following command. You must include the `-Deny` option to block the specified add-ins in the specifed application: - -``` -$rule = New-CIPolicyRule -DriverFilePath '.\temp\addin3.dll' -Level FileName -Deny -AppID '.\winword.exe' -New-CIPolicy -Rules $rule -FilePath ".\BlockAddins.xml" -UserPEs -``` - -## Merge Windows Defender Application Control policies - -When you develop WDAC policies, you will occasionally need to merge two policies. A common example is when a WDAC policy is initially created and audited. Another example is when you create a single master policy by using multiple policies previously created from reference computers. Because each computer running Windows 10 can have only one WDAC policy, it is important to properly maintain these policies. In this example, audit events have been saved into a secondary WDAC policy that you then merge with the initial WDAC policy. - -> [!Note] -> The following example uses several of the WDAC policy .xml files that you created in earlier sections in this topic. You can follow this process, however, with any two WDAC policies you would like to combine. - -To merge two WDAC policies, complete the following steps in an elevated Windows PowerShell session: - -1. Initialize the variables that will be used: - - ` $CIPolicyPath=$env:userprofile+"\Desktop\"` - - ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` - - ` $AuditCIPolicy=$CIPolicyPath+"DeviceGuardAuditPolicy.xml"` - - ` $MergedCIPolicy=$CIPolicyPath+"MergedPolicy.xml"` - - ` $CIPolicyBin=$CIPolicyPath+"NewDeviceGuardPolicy.bin"` - - > [!Note] - > The variables in this section specifically expect to find an initial policy on your desktop called **InitialScan.xml** and an audit WDAC policy called **DeviceGuardAuditPolicy.xml**. If you want to merge other WDAC policies, update the variables accordingly. - -2. Use [Merge-CIPolicy](https://technet.microsoft.com/library/mt634485.aspx) to merge two policies and create a new WDAC policy: - - ` Merge-CIPolicy -PolicyPaths $InitialCIPolicy,$AuditCIPolicy -OutputFilePath $MergedCIPolicy` - -3. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the merged WDAC policy to binary format: - - ` ConvertFrom-CIPolicy $MergedCIPolicy $CIPolicyBin ` - -Now that you have created a new WDAC policy (for example, called **NewDeviceGuardPolicy.bin**), you can deploy the policy binary to systems manually or by using Group Policy or Microsoft client management solutions. For information about how to deploy this new policy with Group Policy, see the [Deploy and manage Windows Defender Application Control with Group Policy](#deploy-and-manage-windows-defender-application-control-with-group-policy) section. - -## Enforce Windows Defender Application Control policies - -Every WDAC policy is created with audit mode enabled. After you have successfully deployed and tested a WDAC policy in audit mode and are ready to test the policy in enforced mode, complete the following steps in an elevated Windows PowerShell session: - -> [!Note] -> Every WDAC policy should be tested in audit mode first. For information about how to audit WDAC policies, see [Audit Windows Defender Application Control policies](#audit-windows-defender-application-control-policies), earlier in this topic. - -1. Initialize the variables that will be used: - - ` $CIPolicyPath=$env:userprofile+"\Desktop\"` - - ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml" ` - - ` $EnforcedCIPolicy=$CIPolicyPath+"EnforcedPolicy.xml"` - - ` $CIPolicyBin=$CIPolicyPath+"EnforcedDeviceGuardPolicy.bin"` - - > [!Note] - > The initial WDAC policy that this section refers to was created in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section. If you are using a different WDAC policy, update the **CIPolicyPath** and **InitialCIPolicy** variables. - -2. Ensure that rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) are set the way that you intend for this policy. We strongly recommend that you enable these rule options before you run any enforced policy for the first time. Enabling these options provides administrators with a pre-boot command prompt, and allows Windows to start even if the WDAC policy blocks a kernel-mode driver from running. When ready for enterprise deployment, you can remove these options. - - To ensure that these options are enabled in a policy, use [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) as shown in the following commands. You can run these commands even if you're not sure whether options 9 and 10 are already enabled—if so, the commands have no effect. - - ` Set-RuleOption -FilePath $InitialCIPolicy -Option 9` - - ` Set-RuleOption -FilePath $InitialCIPolicy -Option 10` - -3. Copy the initial file to maintain an original copy: - - ` copy $InitialCIPolicy $EnforcedCIPolicy` - -4. Use [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) to delete the audit mode rule option: - - ` Set-RuleOption -FilePath $EnforcedCIPolicy -Option 3 -Delete` - - > [!Note] - > To enforce a WDAC policy, you delete option 3, the **Audit Mode Enabled** option. There is no “enforced” option that can be placed in a WDAC policy. - -5. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the new WDAC policy to binary format: - - ` ConvertFrom-CIPolicy $EnforcedCIPolicy $CIPolicyBin` - -Now that this policy is in enforced mode, you can deploy it to your test computers. Rename the policy to SIPolicy.p7b and copy it to C:\\Windows\\System32\\CodeIntegrity for testing, or deploy the policy through Group Policy by following the instructions in [Deploy and manage Windows Defender Application Control with Group Policy](#deploy-and-manage-windows-defender-application-control-with-group-policy). You can also use other client management software to deploy and manage the policy. ## Signing Windows Defender Application Control policies with SignTool.exe @@ -388,57 +206,9 @@ There may be a time when signed WDAC policies cause a boot failure. Because WDAC - <OS Volume>\\Windows\\System32\\CodeIntegrity\\ -## Deploy and manage Windows Defender Application Control with Group Policy - -WDAC policies can easily be deployed and managed with Group Policy. A Windows Defender Device Guard administrative template will be available in Windows Server 2016 that allows you to simplify deployment of Windows Defender Device Guard hardware-based security features and Windows Defender Application Control policies. The following procedure walks you through how to deploy a WDAC policy called **DeviceGuardPolicy.bin** to a test OU called *DG Enabled PCs* by using a GPO called **Contoso GPO Test**. - -> [!Note] -> This walkthrough requires that you have previously created a WDAC policy and have a computer running Windows 10 on which to test a Group Policy deployment. For more information about how to create a WDAC policy, see [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer), earlier in this topic. - -> [!Note] -> Signed WDAC policies can cause boot failures when deployed. We recommend that signed WDAC policies be thoroughly tested on each hardware platform before enterprise deployment. - -To deploy and manage a WDAC policy with Group Policy: - -1. On a domain controller on a client computer on which RSAT is installed, open the GPMC by running **GPMC.MSC** or searching for “Group Policy Management” in Windows Search. - -2. Create a new GPO: right-click an OU and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 3. - - > **Note**  You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). - - ![Group Policy Management, create a GPO](images/dg-fig24-creategpo.png) - - Figure 3. Create a GPO - -3. Name the new GPO. You can choose any name. - -4. Open the Group Policy Management Editor: right-click the new GPO, and then click **Edit**. - -5. In the selected GPO, navigate to Computer Configuration\\Administrative Templates\\System\\Device Guard. Right-click **Deploy Windows Defender Application Control** and then click **Edit**. - - ![Edit the Group Policy for Windows Defender Application Control](images/wdac-edit-gp.png) - - Figure 4. Edit the Group Policy for Windows Defender Application Control - -6. In the **Deploy Windows Defender Application Control** dialog box, select the **Enabled** option, and then specify the code integrity policy deployment path. - - In this policy setting, you specify either the local path in which the policy will exist on the client computer or a Universal Naming Convention (UNC) path that the client computers will look to retrieve the latest version of the policy. For example, with DeviceGuardPolicy.bin on the test computer, the example file path would be C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 5. - - > [!Note] - > The illustration shows the example file name *DeviceGuardPolicy.bin* because this name was used earlier in this topic, in [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer). Also, this policy file does not need to be copied to every computer. You can instead copy the WDAC policies to a file share to which all computer accounts have access. Any policy selected here is converted to SIPolicy.p7b when it is deployed to the individual client computers. - - ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig26-enablecode.png) - - Figure 5. Enable the Windows Defender Application Control policy - - > [!Note] - > You may have noticed that the GPO setting references a .p7b file and this example uses a .bin file for the policy. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped on the client computer running Windows 10. Make your WDAC policies friendly and allow the system to convert the policy names for you to ensure that the policies are easily distinguishable when viewed in a share or any other central repository. - -7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. Restarting the computer updates the WDAC policy. For information about how to audit WDAC policies, see the [Audit Windows Defender Application Control policies](#audit-windows-defender-application-control-policies) section. ## Related topics -[Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) +[Windows Defender Application Control](windows-defender-application-control.md) -[Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md index 60df195494..06d40a8837 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md @@ -16,3 +16,49 @@ ms.date: 02/28/2018 - Windows 10 - Windows Server 2016 + +WDAC policies can easily be deployed and managed with Group Policy. A Windows Defender Device Guard administrative template will be available in Windows Server 2016 that allows you to simplify deployment of Windows Defender Device Guard hardware-based security features and Windows Defender Application Control policies. The following procedure walks you through how to deploy a WDAC policy called **DeviceGuardPolicy.bin** to a test OU called *DG Enabled PCs* by using a GPO called **Contoso GPO Test**. + +> [!Note] +> This walkthrough requires that you have previously created a WDAC policy and have a computer running Windows 10 on which to test a Group Policy deployment. For more information about how to create a WDAC policy, see [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md), earlier in this topic. + +> [!Note] +> Signed WDAC policies can cause boot failures when deployed. We recommend that signed WDAC policies be thoroughly tested on each hardware platform before enterprise deployment. + +To deploy and manage a WDAC policy with Group Policy: + +1. On a domain controller on a client computer on which RSAT is installed, open the GPMC by running **GPMC.MSC** or searching for “Group Policy Management” in Windows Search. + +2. Create a new GPO: right-click an OU and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 3. + + > **Note**  You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md). + + ![Group Policy Management, create a GPO](images/dg-fig24-creategpo.png) + + Figure 3. Create a GPO + +3. Name the new GPO. You can choose any name. + +4. Open the Group Policy Management Editor: right-click the new GPO, and then click **Edit**. + +5. In the selected GPO, navigate to Computer Configuration\\Administrative Templates\\System\\Device Guard. Right-click **Deploy Windows Defender Application Control** and then click **Edit**. + + ![Edit the Group Policy for Windows Defender Application Control](images/wdac-edit-gp.png) + + Figure 4. Edit the Group Policy for Windows Defender Application Control + +6. In the **Deploy Windows Defender Application Control** dialog box, select the **Enabled** option, and then specify the code integrity policy deployment path. + + In this policy setting, you specify either the local path in which the policy will exist on the client computer or a Universal Naming Convention (UNC) path that the client computers will look to retrieve the latest version of the policy. For example, with DeviceGuardPolicy.bin on the test computer, the example file path would be C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 5. + + > [!Note] + > This policy file does not need to be copied to every computer. You can instead copy the WDAC policies to a file share to which all computer accounts have access. Any policy selected here is converted to SIPolicy.p7b when it is deployed to the individual client computers. + + ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig26-enablecode.png) + + Figure 5. Enable the Windows Defender Application Control policy + + > [!Note] + > You may have noticed that the GPO setting references a .p7b file and this example uses a .bin file for the policy. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped on the client computer running Windows 10. Make your WDAC policies friendly and allow the system to convert the policy names for you to ensure that the policies are easily distinguishable when viewed in a share or any other central repository. + +7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. Restarting the computer updates the WDAC policy. For information about how to audit WDAC policies, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md index 112dfa735b..9d87450308 100644 --- a/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies.md @@ -16,4 +16,47 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +Every WDAC policy is created with audit mode enabled. After you have successfully deployed and tested a WDAC policy in audit mode and are ready to test the policy in enforced mode, complete the following steps in an elevated Windows PowerShell session: + +> [!Note] +> Every WDAC policy should be tested in audit mode first. For information about how to audit WDAC policies, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md), earlier in this topic. + +1. Initialize the variables that will be used: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml" ` + + ` $EnforcedCIPolicy=$CIPolicyPath+"EnforcedPolicy.xml"` + + ` $CIPolicyBin=$CIPolicyPath+"EnforcedDeviceGuardPolicy.bin"` + + > [!Note] + > The initial WDAC policy that this section refers to was created in the [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md) section. If you are using a different WDAC policy, update the **CIPolicyPath** and **InitialCIPolicy** variables. + +2. Ensure that rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) are set the way that you intend for this policy. We strongly recommend that you enable these rule options before you run any enforced policy for the first time. Enabling these options provides administrators with a pre-boot command prompt, and allows Windows to start even if the WDAC policy blocks a kernel-mode driver from running. When ready for enterprise deployment, you can remove these options. + + To ensure that these options are enabled in a policy, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption) as shown in the following commands. You can run these commands even if you're not sure whether options 9 and 10 are already enabled—if so, the commands have no effect. + + ` Set-RuleOption -FilePath $InitialCIPolicy -Option 9` + + ` Set-RuleOption -FilePath $InitialCIPolicy -Option 10` + +3. Copy the initial file to maintain an original copy: + + ` copy $InitialCIPolicy $EnforcedCIPolicy` + +4. Use Set-RuleOption to delete the audit mode rule option: + + ` Set-RuleOption -FilePath $EnforcedCIPolicy -Option 3 -Delete` + + > [!Note] + > To enforce a WDAC policy, you delete option 3, the **Audit Mode Enabled** option. There is no “enforced” option that can be placed in a WDAC policy. + +5. Use [ConvertFrom-CIPolicy](https://docs.microsoft.com/powershell/module/configci/convertfrom-cipolicy) to convert the new WDAC policy to binary format: + + ` ConvertFrom-CIPolicy $EnforcedCIPolicy $CIPolicyBin` + +Now that this policy is in enforced mode, you can deploy it to your test computers. Rename the policy to SIPolicy.p7b and copy it to C:\\Windows\\System32\\CodeIntegrity for testing, or deploy the policy through Group Policy by following the instructions in [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md). You can also use other client management software to deploy and manage the policy. \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md index f1bd040f42..1a2d83fabe 100644 --- a/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md @@ -16,4 +16,37 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +When you develop WDAC policies, you will occasionally need to merge two policies. A common example is when a WDAC policy is initially created and audited. Another example is when you create a single master policy by using multiple policies previously created from reference computers. Because each computer running Windows 10 can have only one WDAC policy, it is important to properly maintain these policies. In this example, audit events have been saved into a secondary WDAC policy that you then merge with the initial WDAC policy. + +> [!Note] +> The following example uses several of the WDAC policy .xml files that you created in earlier sections in this topic. You can follow this process, however, with any two WDAC policies you would like to combine. + +To merge two WDAC policies, complete the following steps in an elevated Windows PowerShell session: + +1. Initialize the variables that will be used: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` + + ` $AuditCIPolicy=$CIPolicyPath+"DeviceGuardAuditPolicy.xml"` + + ` $MergedCIPolicy=$CIPolicyPath+"MergedPolicy.xml"` + + ` $CIPolicyBin=$CIPolicyPath+"NewDeviceGuardPolicy.bin"` + + > [!Note] + > The variables in this section specifically expect to find an initial policy on your desktop called **InitialScan.xml** and an audit WDAC policy called **DeviceGuardAuditPolicy.xml**. If you want to merge other WDAC policies, update the variables accordingly. + +2. Use [Merge-CIPolicy](https://docs.microsoft.com/powershell/module/configci/merge-cipolicy) to merge two policies and create a new WDAC policy: + + ` Merge-CIPolicy -PolicyPaths $InitialCIPolicy,$AuditCIPolicy -OutputFilePath $MergedCIPolicy` + +3. Use [ConvertFrom-CIPolicy](https://docs.microsoft.com/powershell/module/configci/convertfrom-cipolicy) to convert the merged WDAC policy to binary format: + + ` ConvertFrom-CIPolicy $MergedCIPolicy $CIPolicyBin ` + +Now that you have created a new WDAC policy, you can deploy the policy binary to systems manually or by using Group Policy or Microsoft client management solutions. For information about how to deploy this new policy with Group Policy, see [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy). + diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md index b8fc4f0261..765dc595f0 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md @@ -16,4 +16,31 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +# Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules + +As of Windows 10, version 1703, you can use WDAC policies not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser): + +| Approach (as of Windows 10, version 1703) | Guideline | +|---|---| +| You can work from a list of plug-ins, add-ins, or modules that you want only a specific application to be able to run. Other applications would be blocked from running them. | Use `New-CIPolicyRule` with the `-AppID` option. | +| In addition, you can work from a list of plug-ins, add-ins, or modules that you want to block in a specific application. Other applications would be allowed to run them. | Use `New-CIPolicyRule` with the `-AppID` and `-Deny` options. | + +To work with these options, the typical method is to create a policy that only affects plug-ins, add-ins, and modules, then merge it into your ‘master’ policy (merging is described in the next section). + +For example, to create a WDAC policy that allows **addin1.dll** and **addin2.dll** to run in **ERP1.exe**, your organization’s enterprise resource planning (ERP) application, but blocks those add-ins in other applications, run the following commands. Note that in the second command, **+=** is used to add a second rule to the **$rule** variable: + +``` +$rule = New-CIPolicyRule -DriverFilePath '.\temp\addin1.dll' -Level FileName -AppID '.\ERP1.exe' +$rule += New-CIPolicyRule -DriverFilePath '.\temp\addin2.dll' -Level FileName -AppID '.\ERP1.exe' +New-CIPolicy -Rules $rule -FilePath ".\AllowERPAddins.xml" -UserPEs +``` + +As another example, to create a WDAC policy that blocks **addin3.dll** from running in Microsoft Word, run the following command. You must include the `-Deny` option to block the specified add-ins in the specifed application: + +``` +$rule = New-CIPolicyRule -DriverFilePath '.\temp\addin3.dll' -Level FileName -Deny -AppID '.\winword.exe' +New-CIPolicy -Rules $rule -FilePath ".\BlockAddins.xml" -UserPEs +``` + From f3b1b117ae95d49fe16610f6c565311256bd1cd3 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 28 Feb 2018 11:36:04 -0800 Subject: [PATCH 032/212] split up steps topic --- ...application-control-policies-using-group-policy.md | 11 ++++++----- ...s-defender-application-control-deployment-guide.md | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md index 06d40a8837..165a7da434 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md @@ -19,10 +19,10 @@ ms.date: 02/28/2018 WDAC policies can easily be deployed and managed with Group Policy. A Windows Defender Device Guard administrative template will be available in Windows Server 2016 that allows you to simplify deployment of Windows Defender Device Guard hardware-based security features and Windows Defender Application Control policies. The following procedure walks you through how to deploy a WDAC policy called **DeviceGuardPolicy.bin** to a test OU called *DG Enabled PCs* by using a GPO called **Contoso GPO Test**. -> [!Note] +> [!NOTE] > This walkthrough requires that you have previously created a WDAC policy and have a computer running Windows 10 on which to test a Group Policy deployment. For more information about how to create a WDAC policy, see [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md), earlier in this topic. -> [!Note] +> [!NOTE] > Signed WDAC policies can cause boot failures when deployed. We recommend that signed WDAC policies be thoroughly tested on each hardware platform before enterprise deployment. To deploy and manage a WDAC policy with Group Policy: @@ -31,7 +31,8 @@ To deploy and manage a WDAC policy with Group Policy: 2. Create a new GPO: right-click an OU and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 3. - > **Note**  You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md). + > [!NOTE] + > You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md). ![Group Policy Management, create a GPO](images/dg-fig24-creategpo.png) @@ -51,14 +52,14 @@ To deploy and manage a WDAC policy with Group Policy: In this policy setting, you specify either the local path in which the policy will exist on the client computer or a Universal Naming Convention (UNC) path that the client computers will look to retrieve the latest version of the policy. For example, with DeviceGuardPolicy.bin on the test computer, the example file path would be C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 5. - > [!Note] + > [!NOTE] > This policy file does not need to be copied to every computer. You can instead copy the WDAC policies to a file share to which all computer accounts have access. Any policy selected here is converted to SIPolicy.p7b when it is deployed to the individual client computers. ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig26-enablecode.png) Figure 5. Enable the Windows Defender Application Control policy - > [!Note] + > [!NOTE] > You may have noticed that the GPO setting references a .p7b file and this example uses a .bin file for the policy. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped on the client computer running Windows 10. Make your WDAC policies friendly and allow the system to convert the policy names for you to ensure that the policies are easily distinguishable when viewed in a share or any other central repository. 7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. Restarting the computer updates the WDAC policy. For information about how to audit WDAC policies, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 23ad93f289..e73a0f707b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -56,7 +56,7 @@ This topic provides a roadmap for planning and getting started on the Windows De - [Deploy Windows Defender Application Control: policy rules and file rules](select-types-of-rules-to-create.md) - [Merge WDAC policies](merge-windows-defender-application-control-policies.md)
-3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](saudit-windows-defender-application-control-policies). +3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). 4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. @@ -68,7 +68,7 @@ This topic provides a roadmap for planning and getting started on the Windows De - [Enforce Windows Defender Application Control policies](enforce-windows-defender-application-control-policies.md) - [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md)
-8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by [Windows Defender Application Control](windows-defender-application-control). +8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by [Windows Defender Application Control](windows-defender-application-control.md). > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). From ae4be9f8b247a923cf8eb7a91ffe205e4d1e433d Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 28 Feb 2018 12:05:09 -0800 Subject: [PATCH 033/212] split up steps topic --- ...rt-windows-defender-application-control.md | 335 ------------------ ...rt-windows-defender-application-control.md | 326 ++++++++++++++++- 2 files changed, 325 insertions(+), 336 deletions(-) diff --git a/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md index 1cdb8061a7..4ac9a32cd7 100644 --- a/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md @@ -9,338 +9,3 @@ author: brianlic-msft ms.date: 10/27/2017 --- -# Deploy catalog files to support Windows Defender Application Control - -**Applies to** -- Windows 10 -- Windows Server 2016 - -Catalog files can be important in your deployment of Windows Defender Application Control (WDAC) if you have unsigned line-of-business (LOB) applications for which the process of signing is difficult. To prepare to create WDAC policies that allow these trusted applications but block unsigned code (most malware is unsigned), you create a *catalog file* that contains information about the trusted applications. After you sign and distribute the catalog, your trusted applications can be handled by WDAC in the same way as any other signed application. With this foundation, you can more easily block all unsigned applications, allowing only signed applications to run. - -For more description of catalog files, see [Reviewing your applications: application signing and catalog files](requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files) in "Requirements and deployment planning guidelines for Windows Defender Device Guard." - -## Create catalog files - -The creation of a catalog file simplifies the steps to run unsigned applications in the presence of a WDAC policy. - -To create a catalog file, you use a tool called **Package Inspector**. You must also have a WDAC policy deployed in audit mode on the computer on which you run Package Inspector, so that Package Inspector can include any temporary installation files that are added and then removed from the computer during the installation process. - -> **Note**  When you establish a naming convention it makes it easier to detect deployed catalog files in the future. In this guide, *\*-Contoso.cat* is used as the example naming convention. For more information about why this practice is helpful to inventory or detect catalog files, see [Inventory catalog files with System Center Configuration Manager](#inventory-catalog-files-with-system-center-configuration-manager), later in this topic. - -1. Be sure that a WDAC policy is currently deployed in audit mode on the computer on which you will run Package Inspector. - - Package Inspector does not always detect temporary installation files that are added and then removed from the computer during the installation process. To ensure that these binaries are also included in your catalog file, deploy a WDAC policy in audit mode. You can use the WDAC policy that you created and audited in [Create a Windows Defender Application Control policy from a reference computer](steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-from-a-reference-computer) and [Audit Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#audit-windows-defender-application-control-policies). - - > **Note**  This process should **not** be performed on a system with an enforced Windows Defender Application Control policy, only with a policy in audit mode. If a policy is currently being enforced, you will not be able to install and run the application unless the policy already allows it. - -2. Start Package Inspector, and then start scanning a local drive, for example, drive C: - - ` PackageInspector.exe Start C:` - - > **Note**  Package inspector can monitor installations on any local drive. Specify the appropriate drive on the local computer. -   -3. Copy the installation media to the local drive (typically drive C). - - By copying the installation media to the local drive, you ensure that Package Inspector detects and catalogs the actual installer. If you skip this step, the future WDAC policy may allow the application to run but not to be installed. - -4. Install the application. Install it to the same drive that the application installer is located on (the drive you are scanning). Also, while Package Inspector is running, do not run any installations or updates that you don't want to capture in the catalog. - - > **Important**  Every binary that is run while Package Inspector is running will be captured in the catalog. Ensure that only trusted applications are run during this time. - -5. Start the application. - -6. Ensure that product updates are installed, and downloadable content associated with the application is downloaded. - -7. Close and reopen the application. - - This step is necessary to ensure that the scan has captured all binaries. - -8. As appropriate, with Package Inspector still running, repeat the process for another application that you want in the catalog. Copy the installation media to the local drive, install the application, ensure it is updated, and then close and reopen the application. - -9. When you have confirmed that the previous steps are complete, use the following commands to generate the catalog and definition files on your computer's desktop. The filenames used in these example commands are **LOBApp-Contoso.cat** (catalog file) and **LOBApp.cdf** (definition file)—substitute different filenames as appropriate. - - For the last command, which stops Package Inspector, be sure to type the drive letter of the drive you have been scanning, for example, C:. - - ` $ExamplePath=$env:userprofile+"\Desktop"` - - ` $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"` - - ` $CatDefName=$ExamplePath+"\LOBApp.cdf"` - - ` PackageInspector.exe Stop C: -Name $CatFileName -cdfpath $CatDefName` - -> **Note**  Package Inspector catalogs the hash values for each discovered binary file. If the applications that were scanned are updated, complete this process again to trust the new binaries’ hash values. - -When finished, the files will be saved to your desktop. You can double-click the \*.cat file to see its contents, and you can view the \*.cdf file with a text editor. - -To trust the contents of the catalog file within a WDAC policy, the catalog must first be signed. Then, the signing certificate can be added to the WDAC policy, and the catalog file can be distributed to the individual client computers. - -For information about signing catalog files by using a certificate and SignTool.exe, a free tool available in the Windows SDK, see the next section, [Catalog signing with SignTool.exe](#catalog-signing-with-signtoolexe). - -For information about adding the signing certificate to a WDAC policy, see [Add a catalog signing certificate to a Windows Defender Application Control policy](#add-a-catalog-signing-certificate-to-a-windows-defender-application-control-policy). - -### Resolving package failures - -Packages can fail for the following reasons: - -- Package is too large for default USN Journal or Event Log sizes - - To diagnose whether USN journal size is the issue, after running through Package Inspector, click Start > install app > PackageInspector stop - - Get the value of the reg key at HKEY\_CURRENT\_USER/PackageInspectorRegistryKey/c: (this was the most recent USN when you ran PackageInspector start) - - `fsutil usn readjournal C: startusn=RegKeyValue > inspectedusn.txt` - - ReadJournal command should throw an error if the older USNs don’t exist anymore due to overflow - - For USN Journal, log size can be expanded using: `fsutil usn createjournal` command with a new size and alloc delta. `Fsutil usn queryjournal` will give the current size and allocation delta, so using a multiple of that may help - - To diagnose whether Eventlog size is the issue, look at the Microsoft/Windows/CodeIntegrity/Operational log under Applications and Services logs in Event Viewer and ensure that there are entries present from when you began Package Inspector (You can use write time as a justification; if you started the install 2 hours ago and there are only entries from 30 minutes prior, the log is definitely too small) - - To increase Eventlog size, in Event Viewer you can right click the operational log, click properties, and then set new values (some multiple of what it was previously) -- Package files that change hash each time the package is installed - - Package Inspector is completely incompatible if files in the package (temporary or otherwise) change hash each time the package is installed. You can diagnose this by looking at the hash field in the 3077 block events when the package is failing in enforcement. If each time you attempt to run the package you get a new block event with a different hash, the package will not work with Package Inspector -- Files with an invalid signature blob or otherwise “unhashable” files - - This issue arises when a file that has been signed is modified post signing in a way that invalidates the PE header and renders the file unable to be hashed by the Authenticode Spec. - - WDAC uses Authenticode Hashes to validate files when they are running. If the file is unhashable via the authenticode SIP, there is no way to identify the file to allow it, regardless of if you attempt to add the file to the policy directly, or re-sign the file with a Package Inspector catalog (the signature is invalidated due to file being edited, file can’t be allowed by hash due to authenticode hashing algorithm rejecting it) - - Recent versions of InstallShield packages that use custom actions can hit this. If the DLL input to the custom action was signed before being put through InstallShield, InstallShield adds tracking markers to the file (editing it post signature) which leaves the file in this “unhashable” state and renders the file unable to be allowed by Device Guard (regardless of if you try to allow directly by policy or resign with Package Inspector) - -## Catalog signing with SignTool.exe - -In this section, you sign a catalog file you generated by using PackageInspector.exe, as described in the previous section, [Create catalog files](#create-catalog-files). In this example, you need the following: - -- SignTool.exe, found in the Windows software development kit (SDK—Windows 7 or later) - -- The catalog file that you generated in the [Create catalog files](#create-catalog-files) section, or another catalog file that you have created - -- An internal certification authority (CA) code signing certificate or purchased code signing certificate - -If you do not have a code signing certificate, see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) for a walkthrough of how to create one. That topic uses an example certificate name of **ContosoDGSigningCert**, and the procedure that follows uses that example certificate name to sign the catalog file that you created in [Create catalog files](#create-catalog-files), earlier in this topic. If you are using an alternate certificate or catalog file, update the following steps with the appropriate variables and certificate. - -To sign the existing catalog file, copy each of the following commands into an elevated Windows PowerShell session. - -1. Initialize the variables that will be used: - - ` $ExamplePath=$env:userprofile+"\Desktop"` - - ` $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"` - - > **Note**  This example specifies the catalog file you created in the [Create catalog files](#create-catalog-files) section. If you are signing another catalog file, update the *$ExamplePath* and *$CatFileName* variables with the correct information. - -2. Import the code signing certificate that will be used to sign the catalog file. Import it to the signing user’s personal store. This example uses the certificate name from [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). - -3. Sign the catalog file with Signtool.exe: - - ` sign /n "ContosoDGSigningCert" /fd sha256 /v $CatFileName` - - > **Note**  The *<Path to signtool.exe>* variable should be the full path to the Signtool.exe utility. *ContosoDGSigningCert* represents the subject name of the certificate that you will use to sign the catalog file. This certificate should be imported to your personal certificate store on the computer on which you are attempting to sign the catalog file. - - > **Note**  For additional information about Signtool.exe and all additional switches, visit the [MSDN Sign Tool page](https://msdn.microsoft.com/library/8s9b9yaz(v=vs.110).aspx). -   -4. Verify the catalog file digital signature. Right-click the catalog file, and then click **Properties**. On the **Digital Signatures** tab, verify that your signing certificate exists with a **sha256** algorithm, as shown in Figure 1. - - ![Digital Signature list in file Properties](images/dg-fig12-verifysigning.png) - - Figure 1. Verify that the signing certificate exists - -5. Copy the catalog file to C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}. - - For testing purposes, you can manually copy signed catalog files to their intended folder. For large-scale implementations, to copy the appropriate catalog files to all desired computers, we recommend that you use Group Policy File Preferences or an enterprise systems management product such as System Center Configuration Manager. Doing this also simplifies the management of catalog versions. - -## Add a catalog signing certificate to a Windows Defender Application Control policy - -After the catalog file is signed, add the signing certificate to a WDAC policy, as described in the following steps. - -1. If you have not already verified the catalog file digital signature, right-click the catalog file, and then click **Properties**. On the **Digital Signatures** tab, verify that your signing certificate exists with the algorithm you expect. - -2. If you already have an XML policy file that you want to add the signing certificate to, skip to the next step. Otherwise, use [New-CIPolicy](https://technet.microsoft.com/library/mt634473.aspx) to create a WDAC policy that you will later merge into another policy (not deploy as-is). This example creates a policy called **CatalogSignatureOnly.xml** in the location **C:\\PolicyFolder**: - - ` New-CIPolicy -Level PcaCertificate -FilePath C:\PolicyFolder\CatalogSignatureOnly.xml –UserPEs` - - > **Note**  Include the **-UserPEs** parameter to ensure that the policy includes user mode code integrity. - -3. Use [Add-SignerRule](https://technet.microsoft.com/library/mt634479.aspx) to add the signing certificate to the WDAC policy, filling in the correct path and filenames for `` and ``: - - ` Add-SignerRule -FilePath -CertificatePath -User ` - -If you used step 2 to create a new WDAC policy, and want information about merging policies together, see [Merge Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#merge-windows-defender-application-control-policies). - -## Deploy catalog files with Group Policy - -To simplify the management of catalog files, you can use Group Policy preferences to deploy catalog files to the appropriate computers in your organization. The following process walks you through the deployment of a signed catalog file called **LOBApp-Contoso.cat** to a test OU called DG Enabled PCs with a GPO called **Contoso DG Catalog File GPO Test**. - -> **Note**  This walkthrough requires that you have previously created a signed catalog file and have a computer running Windows 10 on which to test a Group Policy deployment. For more information about how to create a catalog file, see [Create catalog files](#create-catalog-files), earlier in this topic. Also, before you begin testing of a catalog file with the WDAC policy it supports, review [Add a catalog signing certificate to a Windows Defender Application Control policy](#add-a-catalog-signing-certificate-to-a-windows-defender-application-control-policy). - -**To deploy a catalog file with Group Policy:** - -1. From either a domain controller or a client computer that has Remote Server Administration Tools (RSAT) installed, open the Group Policy Management Console (GPMC) by running **GPMC.MSC** or by searching for Group Policy Management. - -2. Create a new GPO: right-click an OU, for example, the **DG Enabled PCs OU**, and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 2. - - > **Note**  You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). - - ![Group Policy Management, create a GPO](images/dg-fig13-createnewgpo.png) - - Figure 2. Create a new GPO - -3. Give the new GPO a name, for example, **Contoso DG Catalog File GPO Test**, or any name you prefer. - -4. Open the Group Policy Management Editor: right-click the new GPO, and then click **Edit**. - -5. Within the selected GPO, navigate to Computer Configuration\\Preferences\\Windows Settings\\Files. Right-click **Files**, point to **New**, and then click **File**, as shown in Figure 3. - - ![Group Policy Management Editor, New File](images/dg-fig14-createnewfile.png) - - Figure 3. Create a new file - -6. Configure the catalog file share. - - To use this setting to provide consistent deployment of your catalog file (in this example, LOBApp-Contoso.cat), the source file should be on a share that is accessible to the computer account of every deployed computer. This example uses a share (on a computer running Windows 10) called \\\\Contoso-Win10\\Share. The catalog file being deployed is copied to this share. - -7. To keep versions consistent, in the **New File Properties** dialog box (Figure 4), select **Replace** from the **Action** list so that the newest version is always used. - - ![File Properties, Replace option](images/dg-fig15-setnewfileprops.png) - - Figure 4. Set the new file properties - -8. In the **Source file(s)** box, type the name of your accessible share, with the catalog file name included (for example, \\\\Contoso-Win10\\share\\LOBApp-Contoso.cat). - -9. In the **Destination File** box, type a path and file name, for example: - - **C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\\LOBApp-Contoso.cat** - - For the catalog file name, use the name of the catalog you are deploying. - -10. On the **Common** tab of the **New File Properties** dialog box, select the **Remove this item when it is no longer applied** option. Doing this ensures that the catalog file is removed from every system, in case you ever need to stop trusting this application. - -11. Click **OK** to complete file creation. - -12. Close the Group Policy Management Editor, and then update the policy on the test computer running Windows 10, by running GPUpdate.exe. When the policy has been updated, verify that the catalog file exists in C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} on the computer running Windows 10. - -Before you begin testing the deployed catalog file, make sure that the catalog signing certificate has been added to an appropriate WDAC policy, as described in [Add a catalog signing certificate to a Windows Defender Application Control policy](#add-a-catalog-signing-certificate-to-a-windows-defender-application-control-policy). - -## Deploy catalog files with System Center Configuration Manager - -As an alternative to Group Policy, you can use System Center Configuration Manager to deploy catalog files to the managed computers in your environment. This approach can simplify the deployment and management of multiple catalog files as well as provide reporting around which catalog each client or collection has deployed. In addition to the deployment of these files, System Center Configuration Manager can also be used to inventory the currently deployed catalog files for reporting and compliance purposes. Complete the following steps to create a new deployment package for catalog files: - -> **Note**  The following example uses a network share named \\\\Shares\\CatalogShare as a source for the catalog files. If you have collection specific catalog files, or prefer to deploy them individually, use whichever folder structure works best for your organization. - -1. Open the Configuration Manager console, and select the Software Library workspace. - -2. Navigate to Overview\\Application Management, right-click **Packages**, and then click **Create Package**. - -3. Name the package, set your organization as the manufacturer, and select an appropriate version number. - - ![Create Package and Program Wizard](images/dg-fig16-specifyinfo.png) - - Figure 5. Specify information about the new package - -4. Click **Next**, and then select **Standard program** as the program type. - -5. On the **Standard Program** page, select a name, and then set the **Command Line** property to **XCopy \\\\Shares\\CatalogShare C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} /H /K /E /Y**. - -6. On the **Standard Program** page, select the following options (Figure 6): - - - In **Name**, type a name such as **Contoso Catalog File Copy Program**. - - - In **Command line**, browse to the program location. - - - In **Startup folder**, type **C:\\Windows\\System32**. - - - From the **Run** list, select **Hidden**. - - - From the **Program can run** list, select **Whether or not a user is logged on**. - - - From the **Drive mode** list, select **Runs with UNC name**. - - ![Standard Program page of wizard](images/dg-fig17-specifyinfo.png) - - Figure 6. Specify information about the standard program - -7. Accept the defaults for the rest of the wizard, and then close the wizard. - -After you create the deployment package, deploy it to a collection so that the clients will receive the catalog files. In this example, you deploy the package you just created to a test collection: - -1. In the Software Library workspace, navigate to Overview\\Application Management\\Packages, right-click the catalog file package, and then click **Deploy**. - -2. On the **General** page, select the test collection to which the catalog files will be deployed, and then click **Next**. - -3. On the **Content** page, click **Add** to select the distribution point that will serve content to the selected collection, and then click **Next**. - -4. On the **Deployment Settings** page, select **Required** in the **Purpose** box. - -5. On the **Scheduling** page, click **New**. - -6. In the **Assignment Schedule** dialog box, select **Assign immediately after this event**, set the value to **As soon as possible**, and then click **OK**. - -7. On the **Scheduling** page, click **Next**. - -8. On the **User Experience** page (Figure 7), set the following options, and then click **Next**: - - - Select the **Software installation** check box. - - - Select the **Commit changes at deadline or during a maintenance window (requires restarts)** check box. - - ![Deploy Software Wizard, User Experience page](images/dg-fig18-specifyux.png) - - Figure 7. Specify the user experience - -9. On the **Distribution Points** page, in the **Deployment options** box, select **Run program from distribution point**, and then click **Next**. - -10. On the **Summary** page, review the selections, and then click **Next**. - -11. Close the wizard. - -Before you begin testing the deployed catalog file, make sure that the catalog signing certificate has been added to an appropriate WDAC policy, as described in [Add a catalog signing certificate to a Windows Defender Application Control policy](#add-a-catalog-signing-certificate-to-a-windows-defender-application-control-policy). - -## Inventory catalog files with System Center Configuration Manager - -When catalog files have been deployed to the computers within your environment, whether by using Group Policy or System Center Configuration Manager, you can inventory them with the software inventory feature of System Center Configuration Manager. The following process walks you through the enablement of software inventory to discover catalog files on your managed systems through the creation and deployment of a new client settings policy. - -> **Note**  A standard naming convention for your catalog files will significantly simplify the catalog file software inventory process. In this example, *-Contoso* has been added to all catalog file names. - -1. Open the Configuration Manager console, and select the Administration workspace. - -2. Navigate to **Overview\\Client Settings**, right-click **Client Settings**, and then click **Create Custom Client Device Settings**. - -3. Name the new policy, and under **Select and then configure the custom settings for client devices**, select the **Software Inventory** check box, as shown in Figure 8. - - ![Create Custom Client Device Settings](images/dg-fig19-customsettings.png) - - Figure 8. Select custom settings - -4. In the navigation pane, click **Software Inventory**, and then click **Set Types**, as shown in Figure 9. - - ![Software Inventory settings for devices](images/dg-fig20-setsoftwareinv.png) - - Figure 9. Set the software inventory - -5. In the **Configure Client Setting** dialog box, click the **Start** button to open the **Inventories File Properties** dialog box. - -6. In the **Name** box, type a name such as **\*Contoso.cat**, and then click **Set**. - - > **Note**  When typing the name, follow your naming convention for catalog files. - -7. In the **Path Properties** dialog box, select **Variable or path name**, and then type **C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}** in the box, as shown in Figure 10. - - ![Path Properties, specifying a path](images/dg-fig21-pathproperties.png) - - Figure 10. Set the path properties - -8. Click **OK**. - -9. Now that you have created the client settings policy, right-click the new policy, click **Deploy**, and then choose the collection on which you would like to inventory the catalog files. - -At the time of the next software inventory cycle, when the targeted clients receive the new client settings policy, you will be able to view the inventoried files in the built-in System Center Configuration Manager reports or Resource Explorer. To view the inventoried files on a client within Resource Explorer, complete the following steps: - -1. Open the Configuration Manager console, and select the Assets and Compliance workspace. - -2. Navigate to Overview\\Devices, and search for the device on which you want to view the inventoried files. - -3. Right-click the computer, point to **Start**, and then click **Resource Explorer**. - -4. In Resource Explorer, navigate to Software\\File Details to view the inventoried catalog files. - -> **Note**  If nothing is displayed in this view, navigate to Software\\Last Software Scan in Resource Explorer to verify that the client has recently completed a software inventory scan. - -## Related topics - -- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - -- [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md) - -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) - diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md index 5a8784f225..c2ea74a274 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md @@ -15,4 +15,328 @@ ms.date: 02/28/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +Catalog files can be important in your deployment of Windows Defender Application Control (WDAC) if you have unsigned line-of-business (LOB) applications for which the process of signing is difficult. To prepare to create WDAC policies that allow these trusted applications but block unsigned code (most malware is unsigned), you create a *catalog file* that contains information about the trusted applications. After you sign and distribute the catalog, your trusted applications can be handled by WDAC in the same way as any other signed application. With this foundation, you can more easily block all unsigned applications, allowing only signed applications to run. + +## Create catalog files + +The creation of a catalog file simplifies the steps to run unsigned applications in the presence of a WDAC policy. + +To create a catalog file, you use a tool called **Package Inspector**. You must also have a WDAC policy deployed in audit mode on the computer on which you run Package Inspector, so that Package Inspector can include any temporary installation files that are added and then removed from the computer during the installation process. + +> [!NOTE] +> When you establish a naming convention it makes it easier to detect deployed catalog files in the future. In this guide, *\*-Contoso.cat* is used as the example naming convention. + +1. Be sure that a WDAC policy is currently deployed in audit mode on the computer on which you will run Package Inspector. + + Package Inspector does not always detect temporary installation files that are added and then removed from the computer during the installation process. To ensure that these binaries are also included in your catalog file, deploy a WDAC policy in audit mode. + + > [!NOTE] + > This process should **not** be performed on a system with an enforced Windows Defender Application Control policy, only with a policy in audit mode. If a policy is currently being enforced, you will not be able to install and run the application unless the policy already allows it. + +2. Start Package Inspector, and then start scanning a local drive, for example, drive C: + + ` PackageInspector.exe Start C:` + + > [!NOTE] + > Package inspector can monitor installations on any local drive. Specify the appropriate drive on the local computer. +   +3. Copy the installation media to the local drive (typically drive C). + + By copying the installation media to the local drive, you ensure that Package Inspector detects and catalogs the actual installer. If you skip this step, the future WDAC policy may allow the application to run but not to be installed. + +4. Install the application. Install it to the same drive that the application installer is located on (the drive you are scanning). Also, while Package Inspector is running, do not run any installations or updates that you don't want to capture in the catalog. + + > [!IMPORTANT] + > Every binary that is run while Package Inspector is running will be captured in the catalog. Ensure that only trusted applications are run during this time. + +5. Start the application. + +6. Ensure that product updates are installed, and downloadable content associated with the application is downloaded. + +7. Close and reopen the application. + + This step is necessary to ensure that the scan has captured all binaries. + +8. As appropriate, with Package Inspector still running, repeat the process for another application that you want in the catalog. Copy the installation media to the local drive, install the application, ensure it is updated, and then close and reopen the application. + +9. When you have confirmed that the previous steps are complete, use the following commands to generate the catalog and definition files on your computer's desktop. The filenames used in these example commands are **LOBApp-Contoso.cat** (catalog file) and **LOBApp.cdf** (definition file)—substitute different filenames as appropriate. + + For the last command, which stops Package Inspector, be sure to type the drive letter of the drive you have been scanning, for example, C:. + + ` $ExamplePath=$env:userprofile+"\Desktop"` + + ` $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"` + + ` $CatDefName=$ExamplePath+"\LOBApp.cdf"` + + ` PackageInspector.exe Stop C: -Name $CatFileName -cdfpath $CatDefName` + +> **Note**  Package Inspector catalogs the hash values for each discovered binary file. If the applications that were scanned are updated, complete this process again to trust the new binaries’ hash values. + +When finished, the files will be saved to your desktop. You can double-click the \*.cat file to see its contents, and you can view the \*.cdf file with a text editor. + +To trust the contents of the catalog file within a WDAC policy, the catalog must first be signed. Then, the signing certificate can be added to the WDAC policy, and the catalog file can be distributed to the individual client computers. + +### Resolving package failures + +Packages can fail for the following reasons: + +- Package is too large for default USN Journal or Event Log sizes + - To diagnose whether USN journal size is the issue, after running through Package Inspector, click Start > install app > PackageInspector stop + - Get the value of the reg key at HKEY\_CURRENT\_USER/PackageInspectorRegistryKey/c: (this was the most recent USN when you ran PackageInspector start) + - `fsutil usn readjournal C: startusn=RegKeyValue > inspectedusn.txt` + - ReadJournal command should throw an error if the older USNs don’t exist anymore due to overflow + - For USN Journal, log size can be expanded using: `fsutil usn createjournal` command with a new size and alloc delta. `Fsutil usn queryjournal` will give the current size and allocation delta, so using a multiple of that may help + - To diagnose whether Eventlog size is the issue, look at the Microsoft/Windows/CodeIntegrity/Operational log under Applications and Services logs in Event Viewer and ensure that there are entries present from when you began Package Inspector (You can use write time as a justification; if you started the install 2 hours ago and there are only entries from 30 minutes prior, the log is definitely too small) + - To increase Eventlog size, in Event Viewer you can right click the operational log, click properties, and then set new values (some multiple of what it was previously) +- Package files that change hash each time the package is installed + - Package Inspector is completely incompatible if files in the package (temporary or otherwise) change hash each time the package is installed. You can diagnose this by looking at the hash field in the 3077 block events when the package is failing in enforcement. If each time you attempt to run the package you get a new block event with a different hash, the package will not work with Package Inspector +- Files with an invalid signature blob or otherwise “unhashable” files + - This issue arises when a file that has been signed is modified post signing in a way that invalidates the PE header and renders the file unable to be hashed by the Authenticode Spec. + - WDAC uses Authenticode Hashes to validate files when they are running. If the file is unhashable via the authenticode SIP, there is no way to identify the file to allow it, regardless of if you attempt to add the file to the policy directly, or re-sign the file with a Package Inspector catalog (the signature is invalidated due to file being edited, file can’t be allowed by hash due to authenticode hashing algorithm rejecting it) + - Recent versions of InstallShield packages that use custom actions can hit this. If the DLL input to the custom action was signed before being put through InstallShield, InstallShield adds tracking markers to the file (editing it post signature) which leaves the file in this “unhashable” state and renders the file unable to be allowed by Device Guard (regardless of if you try to allow directly by policy or resign with Package Inspector) + +## Catalog signing with SignTool.exe + +To sign a catalog file you generated by using PackageInspector.exe, you need the following: + +- SignTool.exe, found in the Windows software development kit (SDK—Windows 7 or later) + +- The catalog file that you generated previously + +- An internal certification authority (CA) code signing certificate or purchased code signing certificate + +To sign the existing catalog file, copy each of the following commands into an elevated Windows PowerShell session. + +1. Initialize the variables that will be used. Replace the *$ExamplePath* and *$CatFileName* variables as needed: + + ` $ExamplePath=$env:userprofile+"\Desktop"` + + ` $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"` + +2. Import the code signing certificate that will be used to sign the catalog file. Import it to the signing user’s personal store. + +3. Sign the catalog file with Signtool.exe: + + ` sign /n "ContosoDGSigningCert" /fd sha256 /v $CatFileName` + + > **Note**  The *<Path to signtool.exe>* variable should be the full path to the Signtool.exe utility. *ContosoDGSigningCert* represents the subject name of the certificate that you will use to sign the catalog file. This certificate should be imported to your personal certificate store on the computer on which you are attempting to sign the catalog file. + + > **Note**  For additional information about Signtool.exe and all additional switches, visit the [Sign Tool page](https://docs.microsoft.com/dotnet/framework/tools/signtool-exe). +   +4. Verify the catalog file digital signature. Right-click the catalog file, and then click **Properties**. On the **Digital Signatures** tab, verify that your signing certificate exists with a **sha256** algorithm, as shown in Figure 1. + + ![Digital Signature list in file Properties](images/dg-fig12-verifysigning.png) + + Figure 1. Verify that the signing certificate exists + +5. Copy the catalog file to C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}. + + For testing purposes, you can manually copy signed catalog files to their intended folder. For large-scale implementations, to copy the appropriate catalog files to all desired computers, we recommend that you use Group Policy File Preferences or an enterprise systems management product such as System Center Configuration Manager. Doing this also simplifies the management of catalog versions. + +## Add a catalog signing certificate to a Windows Defender Application Control policy + +After the catalog file is signed, add the signing certificate to a WDAC policy, as described in the following steps. + +1. If you have not already verified the catalog file digital signature, right-click the catalog file, and then click **Properties**. On the **Digital Signatures** tab, verify that your signing certificate exists with the algorithm you expect. + +2. If you already have an XML policy file that you want to add the signing certificate to, skip to the next step. Otherwise, use [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) to create a WDAC policy that you will later merge into another policy (not deploy as-is). This example creates a policy called **CatalogSignatureOnly.xml** in the location **C:\\PolicyFolder**: + + ` New-CIPolicy -Level PcaCertificate -FilePath C:\PolicyFolder\CatalogSignatureOnly.xml –UserPEs` + + > [!NOTE] + > Include the **-UserPEs** parameter to ensure that the policy includes user mode code integrity. + +3. Use [Add-SignerRule](https://docs.microsoft.com/powershell/module/configci/add-signerrule) to add the signing certificate to the WDAC policy, filling in the correct path and filenames for `` and ``: + + ` Add-SignerRule -FilePath -CertificatePath -User ` + +If you used step 2 to create a new WDAC policy, and want information about merging policies together, see [Merge Windows Defender Application Control policies](merge-windows-defender-application-control-policies.md). + +## Deploy catalog files with Group Policy + +To simplify the management of catalog files, you can use Group Policy preferences to deploy catalog files to the appropriate computers in your organization. The following process walks you through the deployment of a signed catalog file called **LOBApp-Contoso.cat** to a test OU called DG Enabled PCs with a GPO called **Contoso DG Catalog File GPO Test**. + +**To deploy a catalog file with Group Policy:** + +1. From either a domain controller or a client computer that has Remote Server Administration Tools (RSAT) installed, open the Group Policy Management Console (GPMC) by running **GPMC.MSC** or by searching for Group Policy Management. + +2. Create a new GPO: right-click an OU, for example, the **DG Enabled PCs OU**, and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 2. + + > [!NOTE] + > You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate). + + ![Group Policy Management, create a GPO](images/dg-fig13-createnewgpo.png) + + Figure 2. Create a new GPO + +3. Give the new GPO a name, for example, **Contoso DG Catalog File GPO Test**, or any name you prefer. + +4. Open the Group Policy Management Editor: right-click the new GPO, and then click **Edit**. + +5. Within the selected GPO, navigate to Computer Configuration\\Preferences\\Windows Settings\\Files. Right-click **Files**, point to **New**, and then click **File**, as shown in Figure 3. + + ![Group Policy Management Editor, New File](images/dg-fig14-createnewfile.png) + + Figure 3. Create a new file + +6. Configure the catalog file share. + + To use this setting to provide consistent deployment of your catalog file (in this example, LOBApp-Contoso.cat), the source file should be on a share that is accessible to the computer account of every deployed computer. This example uses a share (on a computer running Windows 10) called \\\\Contoso-Win10\\Share. The catalog file being deployed is copied to this share. + +7. To keep versions consistent, in the **New File Properties** dialog box (Figure 4), select **Replace** from the **Action** list so that the newest version is always used. + + ![File Properties, Replace option](images/dg-fig15-setnewfileprops.png) + + Figure 4. Set the new file properties + +8. In the **Source file(s)** box, type the name of your accessible share, with the catalog file name included (for example, \\\\Contoso-Win10\\share\\LOBApp-Contoso.cat). + +9. In the **Destination File** box, type a path and file name, for example: + + **C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\\LOBApp-Contoso.cat** + + For the catalog file name, use the name of the catalog you are deploying. + +10. On the **Common** tab of the **New File Properties** dialog box, select the **Remove this item when it is no longer applied** option. Doing this ensures that the catalog file is removed from every system, in case you ever need to stop trusting this application. + +11. Click **OK** to complete file creation. + +12. Close the Group Policy Management Editor, and then update the policy on the test computer running Windows 10, by running GPUpdate.exe. When the policy has been updated, verify that the catalog file exists in C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} on the computer running Windows 10. + +Before you begin testing the deployed catalog file, make sure that the catalog signing certificate has been added to an appropriate WDAC policy. + +## Deploy catalog files with System Center Configuration Manager + +As an alternative to Group Policy, you can use System Center Configuration Manager to deploy catalog files to the managed computers in your environment. This approach can simplify the deployment and management of multiple catalog files as well as provide reporting around which catalog each client or collection has deployed. In addition to the deployment of these files, System Center Configuration Manager can also be used to inventory the currently deployed catalog files for reporting and compliance purposes. Complete the following steps to create a new deployment package for catalog files: + +> **Note**  The following example uses a network share named \\\\Shares\\CatalogShare as a source for the catalog files. If you have collection specific catalog files, or prefer to deploy them individually, use whichever folder structure works best for your organization. + +1. Open the Configuration Manager console, and select the Software Library workspace. + +2. Navigate to Overview\\Application Management, right-click **Packages**, and then click **Create Package**. + +3. Name the package, set your organization as the manufacturer, and select an appropriate version number. + + ![Create Package and Program Wizard](images/dg-fig16-specifyinfo.png) + + Figure 5. Specify information about the new package + +4. Click **Next**, and then select **Standard program** as the program type. + +5. On the **Standard Program** page, select a name, and then set the **Command Line** property to **XCopy \\\\Shares\\CatalogShare C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} /H /K /E /Y**. + +6. On the **Standard Program** page, select the following options (Figure 6): + + - In **Name**, type a name such as **Contoso Catalog File Copy Program**. + + - In **Command line**, browse to the program location. + + - In **Startup folder**, type **C:\\Windows\\System32**. + + - From the **Run** list, select **Hidden**. + + - From the **Program can run** list, select **Whether or not a user is logged on**. + + - From the **Drive mode** list, select **Runs with UNC name**. + + ![Standard Program page of wizard](images/dg-fig17-specifyinfo.png) + + Figure 6. Specify information about the standard program + +7. Accept the defaults for the rest of the wizard, and then close the wizard. + +After you create the deployment package, deploy it to a collection so that the clients will receive the catalog files. In this example, you deploy the package you just created to a test collection: + +1. In the Software Library workspace, navigate to Overview\\Application Management\\Packages, right-click the catalog file package, and then click **Deploy**. + +2. On the **General** page, select the test collection to which the catalog files will be deployed, and then click **Next**. + +3. On the **Content** page, click **Add** to select the distribution point that will serve content to the selected collection, and then click **Next**. + +4. On the **Deployment Settings** page, select **Required** in the **Purpose** box. + +5. On the **Scheduling** page, click **New**. + +6. In the **Assignment Schedule** dialog box, select **Assign immediately after this event**, set the value to **As soon as possible**, and then click **OK**. + +7. On the **Scheduling** page, click **Next**. + +8. On the **User Experience** page (Figure 7), set the following options, and then click **Next**: + + - Select the **Software installation** check box. + + - Select the **Commit changes at deadline or during a maintenance window (requires restarts)** check box. + + ![Deploy Software Wizard, User Experience page](images/dg-fig18-specifyux.png) + + Figure 7. Specify the user experience + +9. On the **Distribution Points** page, in the **Deployment options** box, select **Run program from distribution point**, and then click **Next**. + +10. On the **Summary** page, review the selections, and then click **Next**. + +11. Close the wizard. + +Before you begin testing the deployed catalog file, make sure that the catalog signing certificate has been added to an appropriate WDAC policy,. + +## Inventory catalog files with System Center Configuration Manager + +When catalog files have been deployed to the computers within your environment, whether by using Group Policy or System Center Configuration Manager, you can inventory them with the software inventory feature of System Center Configuration Manager. The following process walks you through the enablement of software inventory to discover catalog files on your managed systems through the creation and deployment of a new client settings policy. + +> **Note**  A standard naming convention for your catalog files will significantly simplify the catalog file software inventory process. In this example, *-Contoso* has been added to all catalog file names. + +1. Open the Configuration Manager console, and select the Administration workspace. + +2. Navigate to **Overview\\Client Settings**, right-click **Client Settings**, and then click **Create Custom Client Device Settings**. + +3. Name the new policy, and under **Select and then configure the custom settings for client devices**, select the **Software Inventory** check box, as shown in Figure 8. + + ![Create Custom Client Device Settings](images/dg-fig19-customsettings.png) + + Figure 8. Select custom settings + +4. In the navigation pane, click **Software Inventory**, and then click **Set Types**, as shown in Figure 9. + + ![Software Inventory settings for devices](images/dg-fig20-setsoftwareinv.png) + + Figure 9. Set the software inventory + +5. In the **Configure Client Setting** dialog box, click the **Start** button to open the **Inventories File Properties** dialog box. + +6. In the **Name** box, type a name such as **\*Contoso.cat**, and then click **Set**. + + > **Note**  When typing the name, follow your naming convention for catalog files. + +7. In the **Path Properties** dialog box, select **Variable or path name**, and then type **C:\\Windows\\System32\\catroot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}** in the box, as shown in Figure 10. + + ![Path Properties, specifying a path](images/dg-fig21-pathproperties.png) + + Figure 10. Set the path properties + +8. Click **OK**. + +9. Now that you have created the client settings policy, right-click the new policy, click **Deploy**, and then choose the collection on which you would like to inventory the catalog files. + +At the time of the next software inventory cycle, when the targeted clients receive the new client settings policy, you will be able to view the inventoried files in the built-in System Center Configuration Manager reports or Resource Explorer. To view the inventoried files on a client within Resource Explorer, complete the following steps: + +1. Open the Configuration Manager console, and select the Assets and Compliance workspace. + +2. Navigate to Overview\\Devices, and search for the device on which you want to view the inventoried files. + +3. Right-click the computer, point to **Start**, and then click **Resource Explorer**. + +4. In Resource Explorer, navigate to Software\\File Details to view the inventoried catalog files. + +> **Note**  If nothing is displayed in this view, navigate to Software\\Last Software Scan in Resource Explorer to verify that the client has recently completed a software inventory scan. + +## Related topics + +- [Windows Defender Application Control](windows-defender-application-control.md) + +- [Windows Defender Application Control Design Guide](windows-defender-application-control-design-guide.md) + +- [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) + From cd51a485b67d0bfda675c77e828bde581e15e138 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 28 Feb 2018 14:40:26 -0800 Subject: [PATCH 034/212] split up steps topic --- windows/security/threat-protection/TOC.md | 2 - ...nt-planning-guidelines-for-device-guard.md | 73 ++---------------- .../windows-defender-exploit-guard/TOC.md | 4 +- ...tion-based-protection-of-code-integrity.md | 0 ...tion-based-protection-of-code-integrity.md | 76 +++++++++++++++++++ 5 files changed, 83 insertions(+), 72 deletions(-) rename windows/security/threat-protection/{ => windows-defender-exploit-guard}/enable-virtualization-based-protection-of-code-integrity.md (100%) create mode 100644 windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index d696520fe5..b933b18be6 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -289,8 +289,6 @@ ### [Windows Defender Application Control deployment guide](windows-defender-application-control/windows-defender-application-control-deployment-guide.md) #### [Deploy WDAC policies](windows-defender-application-control/deploy-windows-defender-application-control-policies.md) -## [Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md) - ### [Windows Defender Application Control and AppLocker](windows-defender-application-control/windows-defender-application-control-and-applocker.md) ### [AppLocker](windows-defender-application-control/applocker/applocker-overview.md) #### [Administer AppLocker](windows-defender-application-control/applocker/administer-applocker.md) diff --git a/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md b/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md index 418d67676f..b5faab1dad 100644 --- a/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md +++ b/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md @@ -9,77 +9,12 @@ author: brianlic-msft ms.date: 10/20/2017 --- -# Requirements and deployment planning guidelines for Windows Defender Device Guard +# Planning guidelines for Windows Defender Device Guard **Applies to** - Windows 10 - Windows Server 2016 -The information in this article is intended for IT professionals, and provides a foundation for [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). - ->**Note**  If you are an OEM, see the requirements information at [PC OEM requirements for Windows Defender Device Guard and Windows Defender Credential Guard](https://msdn.microsoft.com/library/windows/hardware/mt767514.aspx). - -## Hardware, firmware, and software requirements for Windows Defender Device Guard - -To deploy Windows Defender Device Guard in a way that uses all of its virtualization-based security (VBS) features, the computers you are protecting must meet certain hardware, firmware, and software requirements. However, computers lacking some of the hardware and firmware requirements will still receive some protection when you deploy Windows Defender Application Control (WDAC) policies—the difference is that those computers will not be as hardened against certain threats. - -For example, hardware that includes CPU virtualization extensions and SLAT will be hardened against malware that attempts to gain access to the kernel, but without protected BIOS options such as “Boot only from internal hard drive,” the computer could be booted (by a malicious person who has physical access) into an operating system on bootable media. For an outline of how VBS-related hardware strengthens the hardening offered by Windows Defender Device Guard, see [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). - -You can deploy Windows Defender Device Guard in phases, and plan these phases in relation to the computer purchases you plan for your next hardware refresh. - -> [!WARNING] -> Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - -The following tables provide more information about the hardware, firmware, and software required for deployment of various Windows Defender Device Guard features. The tables describe baseline protections, plus protections for improved security that are associated with hardware and firmware options available in 2015, 2016, and 2017. - -> **Notes**
-> • To understand the requirements in the following tables, you will need to be familiar with the main features in Windows Defender Device Guard: Windows Defender Application Control (WDAC), virtualization-based protection of code integrity, and Universal Extensible Firmware Interface (UEFI) Secure Boot. For information about these features, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
-> • Beginning with Windows 10, version 1607, Trusted Platform Module (TPM 2.0) must be enabled by default on new computers. - -## Baseline protections - -|Baseline Protections | Description | Security benefits | -|--------------------------------|----------------------------------------------------|-------------------| -| Hardware: **64-bit CPU** | A 64-bit computer is required for the Windows hypervisor to provide VBS. | | -| Hardware: **CPU virtualization extensions**,
plus **extended page tables** | These hardware features are required for VBS:
One of the following virtualization extensions:
• VT-x (Intel) or
• AMD-V
And:
• Extended page tables, also called Second Level Address Translation (SLAT). | VBS provides isolation of the secure kernel from the normal operating system. Vulnerabilities and zero-days in the normal operating system cannot be exploited because of this isolation. | -| Firmware: **UEFI firmware version 2.3.1.c or higher with UEFI Secure Boot** | See the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](http://msdn.microsoft.com/library/windows/hardware/dn932805.aspx#system-fundamentals-firmware-uefisecureboot) | UEFI Secure Boot helps ensure that the device boots only authorized code. This can prevent boot kits and root kits from installing and persisting across reboots. | -| Firmware: **Secure firmware update process** | UEFI firmware must support secure firmware update found under the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](http://msdn.microsoft.com/library/windows/hardware/dn932805.aspx#system-fundamentals-firmware-uefisecureboot). | UEFI firmware just like software can have security vulnerabilities that, when found, need to be patched through firmware updates. Patching helps prevent root kits from getting installed. | -| Software: **HVCI compatible drivers** | See the Windows Hardware Compatibility Program requirements under [Filter.Driver.DeviceGuard.DriverCompatibility](https://msdn.microsoft.com/library/windows/hardware/mt589732(v=vs.85).aspx).| [HVCI Compatible](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10/) drivers help ensure that VBS can maintain appropriate memory permissions. This increases resistance to bypassing vulnerable kernel drivers and helps ensure that malware cannot run in kernel. Only code verified through code integrity can run in kernel mode. | -| Software: Qualified **Windows operating system** | Windows 10 Enterprise, Windows 10 Education, Windows Server 2016, or Windows 10 IoT Enterprise

Important:
Windows Server 2016 running as a domain controller does not support Windows Defender Credential Guard. Only virtualization-based protection of code integrity is supported in this configuration.

| Support for VBS and for management features that simplify configuration of Windows Defender Device Guard. | - -> **Important**  The following tables list additional qualifications for improved security. You can use Windows Defender Device Guard with hardware, firmware, and software that support baseline protections, even if they do not support protections for improved security. However, we strongly recommend meeting these additional qualifications to significantly strengthen the level of security that Windows Defender Device Guard can provide. - -## Additional qualifications for improved security - -The following tables describe additional hardware and firmware qualifications, and the improved security that is available when these qualifications are met. - - -### Additional security qualifications starting with Windows 10, version 1507, and Windows Server 2016, Technical Preview 4 - -| Protections for Improved Security | Description | Security benefits | -|---------------------------------------------|----------------------------------------------------|------| -| Firmware: **Securing Boot Configuration and Management** | • BIOS password or stronger authentication must be supported.
• In the BIOS configuration, BIOS authentication must be set.
• There must be support for protected BIOS option to configure list of permitted boot devices (for example, “Boot only from internal hard drive”) and boot device order, overriding BOOTORDER modification made by operating system.
• In the BIOS configuration, BIOS options related to security and boot options (list of permitted boot devices, boot order) must be secured to prevent other operating systems from starting and to prevent changes to the BIOS settings. | • BIOS password or stronger authentication helps ensure that only authenticated Platform BIOS administrators can change BIOS settings. This helps protect against a physically present user with BIOS access.
• Boot order when locked provides protection against the computer being booted into WinRE or another operating system on bootable media. | - -
- -### Additional security qualifications starting with Windows 10, version 1607, and Windows Server 2016 - - -| Protections for Improved Security | Description | Security benefits | -|---------------------------------------------|----------------------------------------------------|-----| -| Firmware: **Hardware Rooted Trust Platform Secure Boot** | • Boot Integrity (Platform Secure Boot) must be supported. See the Windows Hardware Compatibility Program requirements under [System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby](https://msdn.microsoft.com/library/windows/hardware/dn932807(v=vs.85).aspx#system_fundamentals_firmware_cs_uefisecureboot_connectedstandby)
• The Hardware Security Test Interface (HSTI) 1.1.a must be implemented. See [Hardware Security Testability Specification](https://msdn.microsoft.com/en-us/library/windows/hardware/mt712332.aspx). | • Boot Integrity (Platform Secure Boot) from Power-On provides protections against physically present attackers, and defense-in-depth against malware.
• HSTI 1.1.a provides additional security assurance for correctly secured silicon and platform. | -| Firmware: **Firmware Update through Windows Update** | Firmware must support field updates through Windows Update and UEFI encapsulation update. | Helps ensure that firmware updates are fast, secure, and reliable. | -| Firmware: **Securing Boot Configuration and Management** | • Required BIOS capabilities: Ability of OEM to add ISV, OEM, or Enterprise Certificate in Secure Boot DB at manufacturing time.
• Required configurations: Microsoft UEFI CA must be removed from Secure Boot DB. Support for 3rd-party UEFI modules is permitted but should leverage ISV-provided certificates or OEM certificate for the specific UEFI software.| • Enterprises can choose to allow proprietary EFI drivers/applications to run.
• Removing Microsoft UEFI CA from Secure Boot DB provides full control to enterprises over software that runs before the operating system boots. | - -
- -### Additional security qualifications starting with Windows 10, version 1703 - - -| Protections for Improved Security | Description | Security benefits | -|---------------------------------------------|----------------------------------------------------|------| -| Firmware: **VBS enablement of NX protection for UEFI runtime services** | • VBS will enable No-Execute (NX) protection on UEFI runtime service code and data memory regions. UEFI runtime service code must support read-only page protections, and UEFI runtime service data must not be exceutable.
• UEFI runtime service must meet these requirements:
    • Implement UEFI 2.6 EFI_MEMORY_ATTRIBUTES_TABLE. All UEFI runtime service memory (code and data) must be described by this table.
    • PE sections need to be page-aligned in memory (not required for in non-volitile storage).
    • The Memory Attributes Table needs to correctly mark code and data as RO/NX for configuration by the OS:
        • All entries must include attributes EFI_MEMORY_RO, EFI_MEMORY_XP, or both
        • No entries may be left with neither of the above attributes, indicating memory that is both exceutable and writable. Memory must be either readable and executable or writeable and non-executable.

Notes:
• This only applies to UEFI runtime service memory, and not UEFI boot service memory.
• This protection is applied by VBS on OS page tables.


Please also note the following:
• Do not use sections that are both writeable and exceutable
• Do not attempt to directly modify executable system memory
• Do not use dynamic code | • Vulnerabilities in UEFI runtime, if any, will be blocked from compromising VBS (such as in functions like UpdateCapsule and SetVariable)
• Reduces the attack surface to VBS from system firmware. | -| Firmware: **Firmware support for SMM protection** | The [Windows SMM Security Mitigations Table (WSMT) specification](http://download.microsoft.com/download/1/8/A/18A21244-EB67-4538-BAA2-1A54E0E490B6/WSMT.docx) contains details of an Advanced Configuration and Power Interface (ACPI) table that was created for use with Windows operating systems that support Windows virtualization-based security (VBS) features.| • Protects against potential vulnerabilities in UEFI runtime services, if any, will be blocked from compromising VBS (such as in functions like UpdateCapsule and SetVariable)
• Reduces the attack surface to VBS from system firmware.
• Blocks additional security attacks against SMM. | ## Windows Defender Device Guard deployment in different scenarios: types of devices @@ -98,13 +33,15 @@ Windows Defender Device Guard can protect a Hyper-V virtual machine, just as it Windows Defender Device Guard protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable Windows Defender Device Guard for a virtual machine: -` Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true` +```powershell +Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true +``` ### Requirements for running Windows Defender Device Guard in Hyper-V virtual machines - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - - Windows Defender Device Guard and [nested virtualization](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. + - Windows Defender Device Guard and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. - Virtual Fibre Channel adapters are not compatible with Windows Defender Device Guard. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using Set-VMSecurity. - The AllowFullSCSICommandSet option for pass-through disks is not compatible with Windows Defender Device Guard. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using Set-VMSecurity. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index bb988c8373..30de9b3380 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -11,8 +11,8 @@ ### [Customize Exploit protection](customize-exploit-protection.md) #### [Import, export, and deploy Exploit protection configurations](import-export-exploit-protection-emet-xml.md) ### [Memory integrity](memory-integrity.md) -#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) -#### [Enable virtualization-based protection of code integrity](./device-guard/deploy-device-guard-enable-virtualization-based-security.md) +#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +#### [Enable virtualization-based protection of code integrity](enable-virtualization-based-protection-of-code-integrity.md) ## [Attack surface reduction](attack-surface-reduction-exploit-guard.md) ### [Evaluate Attack surface reduction](evaluate-attack-surface-reduction.md) ### [Enable Attack surface reduction](enable-attack-surface-reduction.md) diff --git a/windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md similarity index 100% rename from windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity.md rename to windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md new file mode 100644 index 0000000000..35bbc6bfd0 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md @@ -0,0 +1,76 @@ +--- +title: Requirements and deployment planning guidelines for irtualization-based protection of code integrity (Windows 10) +description: To help you plan a deployment of Microsoft Windows Defender Device Guard, this article describes hardware requirements for Windows Defender Device Guard, outlines deployment approaches, and describes methods for code signing and the deployment of code integrity policies. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: brianlic-msft +ms.date: 10/20/2017 +--- + +# Requirements and deployment planning guidelines for virtualization-based protection of code integrity + +**Applies to** +- Windows 10 +- Windows Server 2016 + +## Hardware, firmware, and software requirements for Windows Defender Device Guard + +Computers must meet certain hardware, firmware, and software requirements in order to take adavantage of all of the virtualization-based security (VBS) features in Windows Defender Device Guard. Computers lacking these requirements can still be protected by Windows Defender Application Control (WDAC) policies—the difference is that those computers will not be as hardened against certain threats. + +For example, hardware that includes CPU virtualization extensions and SLAT will be hardened against malware that attempts to gain access to the kernel, but without protected BIOS options such as “Boot only from internal hard drive,” the computer could be booted (by a malicious person who has physical access) into an operating system on bootable media. + +> [!WARNING] +> Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). + +The following tables provide more information about the hardware, firmware, and software required for deployment of various Windows Defender Device Guard features. The tables describe baseline protections, plus protections for improved security that are associated with hardware and firmware options available in 2015, 2016, and 2017. + +> [!NOTE] +> Beginning with Windows 10, version 1607, Trusted Platform Module (TPM 2.0) must be enabled by default on new computers. + +## Baseline protections + +|Baseline Protections | Description | Security benefits | +|--------------------------------|----------------------------------------------------|-------------------| +| Hardware: **64-bit CPU** | A 64-bit computer is required for the Windows hypervisor to provide VBS. | | +| Hardware: **CPU virtualization extensions**,
plus **extended page tables** | These hardware features are required for VBS:
One of the following virtualization extensions:
• VT-x (Intel) or
• AMD-V
And:
• Extended page tables, also called Second Level Address Translation (SLAT). | VBS provides isolation of the secure kernel from the normal operating system. Vulnerabilities and zero-days in the normal operating system cannot be exploited because of this isolation. | +| Firmware: **UEFI firmware version 2.3.1.c or higher with UEFI Secure Boot** | See the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwareuefisecureboot) | UEFI Secure Boot helps ensure that the device boots only authorized code. This can prevent boot kits and root kits from installing and persisting across reboots. | +| Firmware: **Secure firmware update process** | UEFI firmware must support secure firmware update found under the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwareuefisecureboot) | UEFI firmware just like software can have security vulnerabilities that, when found, need to be patched through firmware updates. Patching helps prevent root kits from getting installed. | +| Software: **HVCI compatible drivers** | See the Windows Hardware Compatibility Program requirements under [Filter.Driver.DeviceGuard.DriverCompatibility](https://docs.microsoft.com/windows-hardware/design/compatibility/filter#filterdriverdeviceguarddrivercompatibility).| [HVCI Compatible](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10/) drivers help ensure that VBS can maintain appropriate memory permissions. This increases resistance to bypassing vulnerable kernel drivers and helps ensure that malware cannot run in kernel. Only code verified through code integrity can run in kernel mode. | +| Software: Qualified **Windows operating system** | Windows 10 Enterprise, Windows 10 Education, Windows Server 2016, or Windows 10 IoT Enterprise

Important:
Windows Server 2016 running as a domain controller does not support Windows Defender Credential Guard. Only virtualization-based protection of code integrity is supported in this configuration.

| Support for VBS and for management features that simplify configuration of Windows Defender Device Guard. | + +> **Important**  The following tables list additional qualifications for improved security. You can use Windows Defender Device Guard with hardware, firmware, and software that support baseline protections, even if they do not support protections for improved security. However, we strongly recommend meeting these additional qualifications to significantly strengthen the level of security that Windows Defender Device Guard can provide. + +## Additional qualifications for improved security + +The following tables describe additional hardware and firmware qualifications, and the improved security that is available when these qualifications are met. + + +### Additional security qualifications starting with Windows 10, version 1507, and Windows Server 2016, Technical Preview 4 + +| Protections for Improved Security | Description | Security benefits | +|---------------------------------------------|----------------------------------------------------|------| +| Firmware: **Securing Boot Configuration and Management** | • BIOS password or stronger authentication must be supported.
• In the BIOS configuration, BIOS authentication must be set.
• There must be support for protected BIOS option to configure list of permitted boot devices (for example, “Boot only from internal hard drive”) and boot device order, overriding BOOTORDER modification made by operating system.
• In the BIOS configuration, BIOS options related to security and boot options (list of permitted boot devices, boot order) must be secured to prevent other operating systems from starting and to prevent changes to the BIOS settings. | • BIOS password or stronger authentication helps ensure that only authenticated Platform BIOS administrators can change BIOS settings. This helps protect against a physically present user with BIOS access.
• Boot order when locked provides protection against the computer being booted into WinRE or another operating system on bootable media. | + +
+ +### Additional security qualifications starting with Windows 10, version 1607, and Windows Server 2016 + + +| Protections for Improved Security | Description | Security benefits | +|---------------------------------------------|----------------------------------------------------|-----| +| Firmware: **Hardware Rooted Trust Platform Secure Boot** | • Boot Integrity (Platform Secure Boot) must be supported. See the Windows Hardware Compatibility Program requirements under [System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwarecsuefisecurebootconnectedstandby)
• The Hardware Security Test Interface (HSTI) 1.1.a must be implemented. See [Hardware Security Testability Specification](https://docs.microsoft.com/windows-hardware/test/hlk/testref/hardware-security-testability-specification). | • Boot Integrity (Platform Secure Boot) from Power-On provides protections against physically present attackers, and defense-in-depth against malware.
• HSTI 1.1.a provides additional security assurance for correctly secured silicon and platform. | +| Firmware: **Firmware Update through Windows Update** | Firmware must support field updates through Windows Update and UEFI encapsulation update. | Helps ensure that firmware updates are fast, secure, and reliable. | +| Firmware: **Securing Boot Configuration and Management** | • Required BIOS capabilities: Ability of OEM to add ISV, OEM, or Enterprise Certificate in Secure Boot DB at manufacturing time.
• Required configurations: Microsoft UEFI CA must be removed from Secure Boot DB. Support for 3rd-party UEFI modules is permitted but should leverage ISV-provided certificates or OEM certificate for the specific UEFI software.| • Enterprises can choose to allow proprietary EFI drivers/applications to run.
• Removing Microsoft UEFI CA from Secure Boot DB provides full control to enterprises over software that runs before the operating system boots. | + +
+ +### Additional security qualifications starting with Windows 10, version 1703 + + +| Protections for Improved Security | Description | Security benefits | +|---------------------------------------------|----------------------------------------------------|------| +| Firmware: **VBS enablement of NX protection for UEFI runtime services** | • VBS will enable No-Execute (NX) protection on UEFI runtime service code and data memory regions. UEFI runtime service code must support read-only page protections, and UEFI runtime service data must not be exceutable.
• UEFI runtime service must meet these requirements:
    • Implement UEFI 2.6 EFI_MEMORY_ATTRIBUTES_TABLE. All UEFI runtime service memory (code and data) must be described by this table.
    • PE sections need to be page-aligned in memory (not required for in non-volitile storage).
    • The Memory Attributes Table needs to correctly mark code and data as RO/NX for configuration by the OS:
        • All entries must include attributes EFI_MEMORY_RO, EFI_MEMORY_XP, or both
        • No entries may be left with neither of the above attributes, indicating memory that is both exceutable and writable. Memory must be either readable and executable or writeable and non-executable.

Notes:
• This only applies to UEFI runtime service memory, and not UEFI boot service memory.
• This protection is applied by VBS on OS page tables.


Please also note the following:
• Do not use sections that are both writeable and exceutable
• Do not attempt to directly modify executable system memory
• Do not use dynamic code | • Vulnerabilities in UEFI runtime, if any, will be blocked from compromising VBS (such as in functions like UpdateCapsule and SetVariable)
• Reduces the attack surface to VBS from system firmware. | +| Firmware: **Firmware support for SMM protection** | The [Windows SMM Security Mitigations Table (WSMT) specification](http://download.microsoft.com/download/1/8/A/18A21244-EB67-4538-BAA2-1A54E0E490B6/WSMT.docx) contains details of an Advanced Configuration and Power Interface (ACPI) table that was created for use with Windows operating systems that support Windows virtualization-based security (VBS) features.| • Protects against potential vulnerabilities in UEFI runtime services, if any, will be blocked from compromising VBS (such as in functions like UpdateCapsule and SetVariable)
• Reduces the attack surface to VBS from system firmware.
• Blocks additional security attacks against SMM. | + From 7fbd7f1f6a70c97dba805ac62f2070b5d660aa5e Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 28 Feb 2018 15:56:05 -0800 Subject: [PATCH 035/212] split up steps topic --- .../change-history-for-threat-protection.md | 4 +- ...rd-enable-virtualization-based-security.md | 12 +++--- ...-on-the-device-guard-deployment-process.md | 35 ++++++------------ windows/security/threat-protection/index.md | 2 +- ...s-defender-application-control-policies.md | 2 +- .../windows-defender-exploit-guard/TOC.md | 2 +- .../turn-windows-features-on-or-off.png | Bin 0 -> 66484 bytes .../memory-integrity.md | 14 +------ ...tion-based-protection-of-code-integrity.md | 2 - 9 files changed, 25 insertions(+), 48 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-exploit-guard/images/turn-windows-features-on-or-off.png diff --git a/windows/security/threat-protection/change-history-for-threat-protection.md b/windows/security/threat-protection/change-history-for-threat-protection.md index c3e8151acd..fb567d6989 100644 --- a/windows/security/threat-protection/change-history-for-threat-protection.md +++ b/windows/security/threat-protection/change-history-for-threat-protection.md @@ -21,12 +21,12 @@ New or changed topic | Description ## January 2018 |New or changed topic |Description | |---------------------|------------| -|[Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | +|[Windows Defender Application Control](windows-defender-exploit-guardwindows-defender-application-control/windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | ## November 2017 |New or changed topic |Description | |---------------------|------------| -| [How to enable virtualization-based protection of code integrity](enable-virtualization-based-protection-of-code-integrity.md)| New. Explains how to enable HVCI. | +| [How to enable virtualization-based protection of code integrity](windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md)| New. Explains how to enable HVCI. | ## October 2017 diff --git a/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md b/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md index ab3baf28eb..019674779a 100644 --- a/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md +++ b/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md @@ -24,7 +24,7 @@ Use the following procedure to enable virtualization-based protection of code in 1. **Decide whether to use the procedures in this topic, or to use the Windows Defender Device Guard readiness tool**. To enable HVCI, you can use [the Device Guard and Credential Guard hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or follow the procedures in this topic. -2. **Verify that hardware and firmware requirements are met**. Verify that your client computers have the hardware and firmware to run HVCI. For a list of requirements, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). +2. **Verify that hardware and firmware requirements are met**. Verify that your client computers have the hardware and firmware to run HVCI. For a list of requirements, see [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). 3. **Enable the necessary Windows features**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Windows feature requirements for virtualization-based security](#windows-feature-requirements-for-virtualization-based-protection-of-code-integrity). @@ -70,7 +70,7 @@ If you don't want to use the [hardware readiness tool](https://www.microsoft.com 5. Select the **Enabled** button. For **Select Platform Security Level**: - **Secure Boot** provides as much protection as a computer’s hardware can support. If the computer does not have input/output memory management units (IOMMUs), enable **Secure Boot**. - - **Secure Boot with DMA** enables Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). + - **Secure Boot with DMA** enables Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can have WDAC enabled. For **Virtualization Based Protection of Code Integrity**: @@ -90,10 +90,8 @@ If you don't want to use the [hardware readiness tool](https://www.microsoft.com Set the following registry keys to enable HVCI. This provides exactly the same set of configuration options provided by Group Policy. - - > [!IMPORTANT] -> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
+> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. #### For Windows 1607 and above @@ -196,7 +194,9 @@ reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG Windows 10 and Windows Server 2016 have a WMI class for related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: -` Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard` +```powershell +Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard +``` > [!NOTE] > The *Win32\_DeviceGuard* WMI class is only available on the Enterprise edition of Windows 10. diff --git a/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md b/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md index b2c2cb7926..400eeb9b69 100644 --- a/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md +++ b/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md @@ -19,7 +19,7 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). Then you can assess your end-user systems to see how many support the VBS features you are interested in, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). +1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). Then you can assess your end-user systems to see how many support the VBS features you are interested in, as described in [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). 2. **Group devices by degree of control needed**. Group devices according to the table in [Windows Defender Device Guard deployment in different scenarios: types of devices](requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. @@ -33,46 +33,35 @@ This topic provides a roadmap for planning and getting started on the Windows De - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? - In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). + In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](./windows-defender-application-control/windows-defender-application-control-and-applocker.md). Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. - Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md). + Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Microsoft recommended block list](./windows-defender-application-control/microsoft-recommended-block-rules.md). - - - - - -4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For a basic description of catalog files, see the table in [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). For more background information about catalog files, see [Reviewing your applications: application signing and catalog files](requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files). +4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For more background information about catalog files, see [Deploy catalog files to support WDAC](./windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md). ## Getting started on the deployment process -1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). +1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](./windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md). -2. **Create WDAC policies from “golden” computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. For more information, see: - - [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md) - - [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md)
+2. **Create WDAC policies from “golden” reference computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. + +3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](./windows-defender-application-control/audit-windows-defender-application-control-policies.md). -3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#audit-windows-defender-application-control-policies). +4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](./windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. -4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. - -6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see: - - [Create a Windows Defender Application Control policy that captures audit information from the event log](steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-that-captures-audit-information-from-the-event-log) - - [Merge Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#merge-windows-defender-application-control-policies)
+6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see [Merge Windows Defender Application Control policies](./windows-defender-application-control/merge-windows-defender-application-control-policies.md). 7. **Deploy WDAC policies and catalog files**. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. For more information, see: - - [Enforce Windows Defender Application Control policies](steps-to-deploy-windows-defender-application-control.md#enforce-windows-defender-application-control-policies) - - [Deploy and manage Windows Defender Application Control with Group Policy](steps-to-deploy-windows-defender-application-control.md#deploy-and-manage-windows-defender-application-control-with-group-policy)
+ - [Enforce Windows Defender Application Control policies](./windows-defender-application-control/enforce-windows-defender-application-control-policies.ms) + - [Deploy and manage Windows Defender Application Control with Group Policy](./windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy)
8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by Windows Defender Application Control, as described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md). -
diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index 5f49f4f7ef..f2c623bd85 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -20,7 +20,7 @@ Learn more about how to help protect against threats in Windows 10 and Windows |[Windows Defender Antivirus in Windows 10](windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md)|Provides info about Windows Defender Antivirus, a built-in antimalware solution that helps provide security and antimalware management for desktops, portable computers, and servers. Includes a list of system requirements and new features.| |[Windows Defender Application Guard](windows-defender-application-guard/wd-app-guard-overview.md)|Provides info about Windows Defender Application Guard, the hardware-based virtualization solution that helps to isolate a device and operating system from an untrusted browser session.| |[Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md)|Explains how Windows Defender Application Control restricts the applications that users are allowed to run and the code that runs in the System Core (kernel).| -|[Enable HVCI](enable-virtualization-based-protection-of-code-integrity.md)|Explains how to enable HVCI to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code.| +|[Enable HVCI](windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md)|Explains how to enable HVCI to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code.| |[Windows Defender Smart​Screen](windows-defender-smartscreen/windows-defender-smartscreen-overview.md) |Learn more about Windows Defender SmartScreen.| |[Mitigate threats by using Windows 10 security features](overview-of-threat-mitigations-in-windows-10.md) |Learn more about mitigating threats in Windows 10.| |[Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) |Use Group Policy to override individual **Process Mitigation Options** settings and help to enforce specific app-related security policies.| diff --git a/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md index 1a2d83fabe..3e2928127b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/merge-windows-defender-application-control-policies.md @@ -48,5 +48,5 @@ To merge two WDAC policies, complete the following steps in an elevated Windows ` ConvertFrom-CIPolicy $MergedCIPolicy $CIPolicyBin ` -Now that you have created a new WDAC policy, you can deploy the policy binary to systems manually or by using Group Policy or Microsoft client management solutions. For information about how to deploy this new policy with Group Policy, see [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy). +Now that you have created a new WDAC policy, you can deploy the policy binary to systems manually or by using Group Policy or Microsoft client management solutions. For information about how to deploy this new policy with Group Policy, see [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md). diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md index 30de9b3380..eedb76c8dc 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/TOC.md @@ -11,7 +11,7 @@ ### [Customize Exploit protection](customize-exploit-protection.md) #### [Import, export, and deploy Exploit protection configurations](import-export-exploit-protection-emet-xml.md) ### [Memory integrity](memory-integrity.md) -#### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +#### [Requirements for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) #### [Enable virtualization-based protection of code integrity](enable-virtualization-based-protection-of-code-integrity.md) ## [Attack surface reduction](attack-surface-reduction-exploit-guard.md) ### [Evaluate Attack surface reduction](evaluate-attack-surface-reduction.md) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/images/turn-windows-features-on-or-off.png b/windows/security/threat-protection/windows-defender-exploit-guard/images/turn-windows-features-on-or-off.png new file mode 100644 index 0000000000000000000000000000000000000000..8d47a53b51927ab39dffa35831707ebea9469991 GIT binary patch literal 66484 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 GzWony-!3u$ literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md index 3915a3405f..06270361cd 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md @@ -22,17 +22,7 @@ ms.date: 02/20/2018 **Applies to:** - Windows 10, version 1709 +- Windows Server 2016 - - -**Audience** - -- Enterprise security administrators - - -**Manageability available with** - -- Windows Defender Security Center app -- Group Policy -- PowerShell +Memory integrity is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. Memory integrity helps block many types of malware from running on computers that run Windows 10 and Windows Server 2016. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md index 35bbc6bfd0..61166e5854 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md @@ -15,8 +15,6 @@ ms.date: 10/20/2017 - Windows 10 - Windows Server 2016 -## Hardware, firmware, and software requirements for Windows Defender Device Guard - Computers must meet certain hardware, firmware, and software requirements in order to take adavantage of all of the virtualization-based security (VBS) features in Windows Defender Device Guard. Computers lacking these requirements can still be protected by Windows Defender Application Control (WDAC) policies—the difference is that those computers will not be as hardened against certain threats. For example, hardware that includes CPU virtualization extensions and SLAT will be hardened against malware that attempts to gain access to the kernel, but without protected BIOS options such as “Boot only from internal hard drive,” the computer could be booted (by a malicious person who has physical access) into an operating system on bootable media. From 1a1cde6aa047f06323014c5e66ea8ccebf02ebee Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 28 Feb 2018 16:33:36 -0800 Subject: [PATCH 036/212] split up steps topic --- .../threat-protection/change-history-for-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/change-history-for-threat-protection.md b/windows/security/threat-protection/change-history-for-threat-protection.md index fb567d6989..dd2b27f046 100644 --- a/windows/security/threat-protection/change-history-for-threat-protection.md +++ b/windows/security/threat-protection/change-history-for-threat-protection.md @@ -21,7 +21,7 @@ New or changed topic | Description ## January 2018 |New or changed topic |Description | |---------------------|------------| -|[Windows Defender Application Control](windows-defender-exploit-guardwindows-defender-application-control/windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | +|[Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md)|New topic. WDAC replaces cofigurable code integrity policies. | ## November 2017 |New or changed topic |Description | From 1d52f0326e86d2c648f103249f0457efceaf69a0 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 10:00:03 -0800 Subject: [PATCH 037/212] split steps --- .../TOC.md | 7 +- .../create-initial-default-policy.md | 62 +++++++++++++- ...s-defender-application-control-policies.md | 84 +++++++++++++++++++ .../signing-policies-with-signtool.md | 83 ++++++++++++++++++ ...r-application-control-against-tampering.md | 71 +++++++++++++++- 5 files changed, 300 insertions(+), 7 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/disable-windows-defender-application-control-policies.md create mode 100644 windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index c1539efcb9..35880caf7e 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -19,9 +19,9 @@ ### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) ### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) ### [Deploy WDAC policies](deploy-windows-defender-application-control-policies.md) -#### [Deploy WDAC policies by using Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) -#### [Deploy Windows Defender Application Control policies by using System Center Configuration Manager](deploy-windows-defender-application-control-policies-using-sccm.md) -#### [Deploy Windows Defender Application Control policies by using Microsoft Intune](deploy-windows-defender-application-control-policies-using-intune.md) +#### [Use Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) +#### [Use SCCM](deploy-windows-defender-application-control-policies-using-sccm.md) +#### [Use Intune](deploy-windows-defender-application-control-policies-using-intune.md) ### [Use code signing to simplify application control for classic Windows applications](use-code-signing-to-simplify-application-control-for-classic-windows-applications.md) #### [Optional: Use the Device Guard Signing Portal in the Microsoft Store for Business](use-device-guard-signing-portal-in-microsoft-store-for-business.md) #### [Optional: Create a code signing cert for WDAC](create-code-signing-cert-for-windows-defender-application-control.md) @@ -29,6 +29,7 @@ ### [Manage packaged apps with WDAC](manage-packaged-apps-with-windows-defender-application-control.md) ### [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md) ### [Use signed policies to protect Windows Defender Application Control against tampering](use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md) +### [Disable WDAC policies](disable-windows-defender-application-control-policies.md) ## [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md index a756c642b8..a23dfb0c0d 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md @@ -11,9 +11,67 @@ author: jsuther1974 ms.date: 02/27/2018 --- -# Create an initial default policy +# Create a Windows Defender Application Control policy from a reference computer **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +This section outlines the process to create a WDAC policy with Windows PowerShell. +For this example, you must initiate variables to be used during the creation process or use the full file paths in the command. +Then create the WDAC policy by scanning the system for installed applications. +The policy file is converted to binary format when it gets created so that Windows can interpret it. + +> [!Note] +> Make sure the reference computer is virus and malware-free, and install any software you want to be scanned before creating the WDAC policy. + +## Scripting and applications + +Each installed software application should be validated as trustworthy before you create a policy. +We recommend that you review the reference computer for software that can load arbitrary DLLs and run code or scripts that could render the PC more vulnerable. +Examples include software aimed at development or scripting such as msbuild.exe (part of Visual Studio and the .NET Framework) which can be removed if you do not want to run scripts. +You can remove or disable such software on the reference computer. +You can also fine-tune your control by [using Windows Defender Application Control in combination with AppLocker](windows-defender-application-control-and-applocker.md). + + +To create a WDAC policy, copy each of the following commands into an elevated Windows PowerShell session, in order: + +1. Initialize variables that you will use. The following example commands use **InitialScan.xml** and **DeviceGuardPolicy.bin** for the names of the files that will be created: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` + + ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` + +2. Use [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) to create a new WDAC policy by scanning the system for installed applications: + + ```powershell + New-CIPolicy -Level PcaCertificate -FilePath $InitialCIPolicy –UserPEs 3> CIPolicyLog.txt + ``` + + > [!Note] + + > - When you specify the **-UserPEs** parameter (to include user mode executables in the scan), rule option **0 Enabled:UMCI** is automatically added to the WDAC policy. In contrast, if you do not specify **-UserPEs**, the policy will be empty of user mode executables and will only have rules for kernel mode binaries like drivers, in other words, the whitelist will not include applications. If you create such a policy and later add rule option **0 Enabled:UMCI**, all attempts to start applications will cause a response from Windows Defender Application Control. In audit mode, the response is logging an event, and in enforced mode, the response is blocking the application. + + > - You can add the **-Fallback** parameter to catch any applications not discovered using the primary file rule level specified by the **-Level** parameter. For more information about file rule level options, see [Windows Defender Application Control file rule levels](select-types-of-rules-to-create.md). + + > - To specify that the WDAC policy scan only a specific drive, include the **-ScanPath** parameter followed by a path. Without this parameter, the entire system is scanned. + + > - The preceding example includes `3> CIPolicylog.txt`, which redirects warning messages to a text file, **CIPolicylog.txt**. + +3. Use [ConvertFrom-CIPolicy](https://docs.microsoft.com/powershell/module/configci/convertfrom-cipolicy) to convert the WDAC policy to a binary format: + + ```powershell + ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin + ``` + +After you complete these steps, the WDAC binary file (DeviceGuardPolicy.bin) and original .xml file (IntialScan.xml) will be available on your desktop. You can use the binary file as a WDAC policy or sign it for additional security. + +> [!Note] +> We recommend that you keep the original .xml file of the policy for use when you need to merge the WDAC policy with another policy or update its rule options. Alternatively, you would have to create a new policy from a new scan for servicing. For more information about how to merge WDAC policies, see [Merge Windows Defender Application Control policies](merge-windows-defender-application-control-policies.md). + +We recommend that every WDAC policy be run in audit mode before being enforced. Doing so allows administrators to discover any issues with the policy without receiving error message dialog boxes. For information about how to audit a WDAC policy, see the next section, [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). + + diff --git a/windows/security/threat-protection/windows-defender-application-control/disable-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/disable-windows-defender-application-control-policies.md new file mode 100644 index 0000000000..b81a9aacaa --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/disable-windows-defender-application-control-policies.md @@ -0,0 +1,84 @@ +--- +title: Disable Windows Defender Application Control policies (Windows 10) +description: This topic covers how to disable unsigned or signed WDAC policies. +ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.localizationpriority: high +author: jsuther1974 +ms.date: 02/27/2018 +--- + +# Disable Windows Defender Application Control policies + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + +This topic covers how to disable unsigned or signed WDAC policies. + +## Disable unsigned Windows Defender Application Control policies + +There may come a time when an administrator wants to disable a WDAC policy. For unsigned WDAC policies, this process is simple. Depending on how the WDAC policy was deployed, unsigned policies can be disabled in one of two ways. If a WDAC policy was manually enabled and copied to the code integrity folder location, simply delete the file and restart the computer. The following locations can contain executing WDAC policies: + +- <EFI System Partition>\\Microsoft\\Boot\\ + +- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ + +If the WDAC policy was deployed by using Group Policy, the GPO that is currently enabling and deploying the policy must be set to disabled. Then, the WDAC policy will be disabled on the next computer restart. + +## Disable signed Windows Defender Application Control policies within Windows + +Signed policies protect Windows from administrative manipulation as well as malware that has gained administrative-level access to the system. For this reason, signed WDAC policies are intentionally more difficult to remove than unsigned policies. They inherently protect themselves from modification or removal and therefore are difficult even for administrators to remove successfully. If the signed WDAC policy is manually enabled and copied to the CodeIntegrity folder, to remove the policy, you must complete the following steps. + +> [!Note] +> For reference, signed WDAC policies should be replaced and removed from the following locations: + +- <EFI System Partition>\\Microsoft\\Boot\\ + +- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ + + +1. Replace the existing policy with another signed policy that has the **6 Enabled: Unsigned System Integrity Policy** rule option enabled. + + > **Note**  To take effect, this policy must be signed with a certificate previously added to the **UpdatePolicySigners** section of the original signed policy you want to replace. + +2. Restart the client computer. + +3. Verify that the new signed policy exists on the client. + + > **Note**  If the signed policy that contains rule option 6 has not been processed on the client, the addition of an unsigned policy may cause boot failures. + +4. Delete the new policy. + +5. Restart the client computer. + +If the signed WDAC policy has been deployed using by using Group Policy, you must complete the following steps: + +1. Replace the existing policy in the GPO with another signed policy that has the **6 Enabled: Unsigned System Integrity Policy** rule option enabled. + + > **Note**  To take effect, this policy must be signed with a certificate previously added to the **UpdatePolicySigners** section of the original signed policy you want to replace. + +2. Restart the client computer. + +3. Verify that the new signed policy exists on the client. + + > **Note**  If the signed policy that contains rule option 6 has not been processed on the client, the addition of an unsigned policy may cause boot failures. + +4. Set the GPO to disabled. + +5. Delete the new policy. + +6. Restart the client computer. + +## Disable signed Windows Defender Application Control policies within the BIOS + +There may be a time when signed WDAC policies cause a boot failure. Because WDAC policies enforce kernel mode drivers, it is important that they be thoroughly tested on each software and hardware configuration before being enforced and signed. Signed WDAC policies are validated in the pre-boot sequence by using Secure Boot. When you disable the Secure Boot feature in the BIOS, and then delete the file from the following locations on the operating system disk, it allows the system to boot into Windows: + +- <EFI System Partition>\\Microsoft\\Boot\\ + +- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ + diff --git a/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md new file mode 100644 index 0000000000..d48e775f11 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md @@ -0,0 +1,83 @@ +--- +title: Signing Windows Defender Application Control policies with SignTool.exe (Windows 10) +description: SSigned WDAC policies give organizations the highest level of malware protection available in Windows 10. +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: jsuther1974 +ms.date: 02/21/2018 +--- + +# Signing Windows Defender Application Control policies with SignTool.exe + +**Applies to:** + +- Windows 10 +- Windows Server 2016 + +Signed WDAC policies give organizations the highest level of malware protection available in Windows 10. +In addition to their enforced policy rules, signed policies cannot be modified or deleted by a user or administrator on the computer. +These policies are designed to prevent administrative tampering and kernel mode exploit access. +With this in mind, it is much more difficult to remove signed WDAC policies. +Before you sign and deploy a signed WDAC policy, we recommend that you [audit the policy](#audit-windows-defender-application-control-policies) to discover any blocked applications that should be allowed to run. + +Signing WDAC policies by using an on-premises CA-generated certificate or a purchased code signing certificate is straightforward. +If you do not currently have a code signing certificate exported in .pfx format (containing private keys, extensions, and root certificates), see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) to create one with your on-premises CA. + +Before signing WDAC policies for the first time, be sure to enable rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) to leave troubleshooting options available to administrators. To ensure that a rule option is enabled, you can run a command such as `Set-RuleOption -FilePath -Option 9` even if you're not sure whether the option is already enabled—if so, the command has no effect. When validated and ready for enterprise deployment, you can remove these options. For more information about rule options, see [Windows Defender Application Control policy rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md#windows-defender-application-control-policy-rules) in "Deploy Windows Defender Application Control: policy rules and file rules." + +To sign a WDAC policy with SignTool.exe, you need the following components: + +- SignTool.exe, found in the Windows SDK (Windows 7 or later) + +- The binary format of the WDAC policy that you generated in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section or another WDAC policy that you have created + +- An internal CA code signing certificate or a purchased code signing certificate + +If you do not have a code signing certificate, see the [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) section for instructions on how to create one. If you use an alternate certificate or WDAC policy, be sure to update the following steps with the appropriate variables and certificate so that the commands will function properly. To sign the existing WDAC policy, copy each of the following commands into an elevated Windows PowerShell session: + +1. Initialize the variables that will be used: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` + + ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` + + > [!Note] + > This example uses the WDAC policy that you created in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section. If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. + +2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). + +3. Export the .cer code signing certificate. After the code signing certificate has been imported, export the .cer version to your desktop. This version will be added to the policy so that it can be updated later. + +4. Navigate to your desktop as the working directory: + + ` cd $env:USERPROFILE\Desktop ` + +5. Use [Add-SignerRule](https://technet.microsoft.com/library/mt634479.aspx) to add an update signer certificate to the WDAC policy: + + ` Add-SignerRule -FilePath $InitialCIPolicy -CertificatePath -Kernel -User –Update` + + > [!Note] + > *<Path to exported .cer certificate>* should be the full path to the certificate that you exported in step 3. + Also, adding update signers is crucial to being able to modify or disable this policy in the future. For more information about how to disable signed WDAC policies, see the [Disable signed Windows Defender Application Control policies within Windows](#disable-signed-windows-defender-application-control-policies-within-windows) section. + +6. Use [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) to remove the unsigned policy rule option: + + ` Set-RuleOption -FilePath $InitialCIPolicy -Option 6 -Delete` + +7. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the policy to binary format: + + ` ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin` + +8. Sign the WDAC policy by using SignTool.exe: + + ` sign -v /n "ContosoDGSigningCert" -p7 . -p7co 1.3.6.1.4.1.311.79.1 -fd sha256 $CIPolicyBin` + + > [!Note] + > The *<Path to signtool.exe>* variable should be the full path to the SignTool.exe utility. **ContosoDGSigningCert** is the subject name of the certificate that will be used to sign the WDAC policy. You should import this certificate to your personal certificate store on the computer you use to sign the policy. + +9. Validate the signed file. When complete, the commands should output a signed policy file called DeviceGuardPolicy.bin.p7 to your desktop. You can deploy this file the same way you deploy an enforced or non-enforced policy. For information about how to deploy WDAC policies, see [Deploy and manage Windows Defender Application Control with Group Policy](#deploy-and-manage-windows-defender-application-control-with-group-policy). + diff --git a/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md b/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md index f389192d1a..34188e138e 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md @@ -1,6 +1,6 @@ --- title: Use signed policies to protect Windows Defender Application Control against tampering (Windows 10) -description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. +description: Signed WDAC policies give organizations the highest level of malware protection available in Windows 10. ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb ms.prod: w10 ms.mktglfcycl: deploy @@ -16,4 +16,71 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + + +Signed WDAC policies give organizations the highest level of malware protection available in Windows 10. +In addition to their enforced policy rules, signed policies cannot be modified or deleted by a user or administrator on the computer. +These policies are designed to prevent administrative tampering and kernel mode exploit access. +With this in mind, it is much more difficult to remove signed WDAC policies. +Before you sign and deploy a signed WDAC policy, we recommend that you [audit the policy](audit-windows-defender-application-control-policies.md) to discover any blocked applications that should be allowed to run. + +Signing WDAC policies by using an on-premises CA-generated certificate or a purchased code signing certificate is straightforward. +If you do not currently have a code signing certificate exported in .pfx format (containing private keys, extensions, and root certificates), see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md) to create one with your on-premises CA. + +Before signing WDAC policies for the first time, be sure to enable rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) to leave troubleshooting options available to administrators. To ensure that a rule option is enabled, you can run a command such as `Set-RuleOption -FilePath -Option 9` even if you're not sure whether the option is already enabled—if so, the command has no effect. When validated and ready for enterprise deployment, you can remove these options. For more information about rule options, see [Windows Defender Application Control policy rules](select-types-of-rules-to-create.md). + +To sign a WDAC policy with SignTool.exe, you need the following components: + +- SignTool.exe, found in the Windows SDK (Windows 7 or later) + +- The binary format of the WDAC policy that you generated in [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md) or another WDAC policy that you have created + +- An internal CA code signing certificate or a purchased code signing certificate + +If you do not have a code signing certificate, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md) for instructions on how to create one. If you use an alternate certificate or WDAC policy, be sure to update the following steps with the appropriate variables and certificate so that the commands will function properly. To sign the existing WDAC policy, copy each of the following commands into an elevated Windows PowerShell session: + +1. Initialize the variables that will be used: + + ` $CIPolicyPath=$env:userprofile+"\Desktop\"` + + ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` + + ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` + + > [!Note] + > This example uses the WDAC policy that you created in the [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md) section. If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. + +2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md). + +3. Export the .cer code signing certificate. After the code signing certificate has been imported, export the .cer version to your desktop. This version will be added to the policy so that it can be updated later. + +4. Navigate to your desktop as the working directory: + + ` cd $env:USERPROFILE\Desktop ` + +5. Use [Add-SignerRule](https://docs.microsoft.com/powershell/module/configci/add-signerrule) to add an update signer certificate to the WDAC policy: + + ` Add-SignerRule -FilePath $InitialCIPolicy -CertificatePath -Kernel -User –Update` + + > [!Note] + > *<Path to exported .cer certificate>* should be the full path to the certificate that you exported in step 3. + Also, adding update signers is crucial to being able to modify or disable this policy in the future. For more information about how to disable signed WDAC policies, see [Disable signed Windows Defender Application Control policies within Windows](disable-windows-defender-application-control-policies.md#disable-signed-windows-defender-application-control-policies-within-windows). + +6. Use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption) to remove the unsigned policy rule option: + + ` Set-RuleOption -FilePath $InitialCIPolicy -Option 6 -Delete` + +7. Use [ConvertFrom-CIPolicy](https://docs.microsoft.com/powershell/module/configci/convertfrom-cipolicy) to convert the policy to binary format: + + ` ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin` + +8. Sign the WDAC policy by using SignTool.exe: + + ` sign -v /n "ContosoDGSigningCert" -p7 . -p7co 1.3.6.1.4.1.311.79.1 -fd sha256 $CIPolicyBin` + + > [!Note] + > The *<Path to signtool.exe>* variable should be the full path to the SignTool.exe utility. **ContosoDGSigningCert** is the subject name of the certificate that will be used to sign the WDAC policy. You should import this certificate to your personal certificate store on the computer you use to sign the policy. + +9. Validate the signed file. When complete, the commands should output a signed policy file called DeviceGuardPolicy.bin.p7 to your desktop. You can deploy this file the same way you deploy an enforced or non-enforced policy. For information about how to deploy WDAC policies, see [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md). + From 423812aead9d3c5f17fb11864d5cab8955c6da56 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 10:36:04 -0800 Subject: [PATCH 038/212] split steps --- ...ion-control-policy-rules-and-file-rules.md | 94 --------- ...oy-windows-defender-application-control.md | 192 ------------------ .../TOC.md | 1 + .../select-types-of-rules-to-create.md | 89 +++++++- .../types-of-devices.md | 53 +++++ ...ontrol-for-classic-windows-applications.md | 45 +++- 6 files changed, 186 insertions(+), 288 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/types-of-devices.md diff --git a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md index 8ac2e657c3..91fa61bd87 100644 --- a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md +++ b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md @@ -14,97 +14,3 @@ ms.date: 02/27/2018 **Applies to** - Windows 10 - Windows Server 2016 - -Windows Defender Application Control (WDAC) provides control over a computer running Windows 10 by using policies that specify whether a driver or application is trusted and can be run. A policy includes *policy rules* that control options such as audit mode or whether user mode code integrity (UMCI) is enabled in a WDAC policy, and *file rules* (or *file rule levels*) that specify the level at which applications will be identified and trusted. - -## Overview of the process of creating Windows Defender Application Control policies - -A common system imaging practice in today’s IT organization is to establish a “golden” image as a reference for what an ideal system should look like, and then use that image to clone additional company assets. WDAC policies follow a similar methodology, that begins with the establishment of a golden computer. As with imaging, you can have multiple golden computers based on model, department, application set, and so on. Although the thought process around the creation of WDAC policies is similar to imaging, these policies should be maintained independently. Assess the necessity of additional WDAC policies based on what should be allowed to be installed and run and for whom. For more details on doing this assessment, see the planning steps in [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). - -> **Note**  Each computer can have only **one** WDAC policy at a time. Whichever way you deploy this policy, it is renamed to SIPolicy.p7b and copied to **C:\\Windows\\System32\\CodeIntegrity** and, for UEFI computers, **<EFI System Partition>\\Microsoft\\Boot**. Keep this in mind when you create your WDAC policies. - -Optionally, WDAC can align with your software catalog as well as any IT department–approved applications. One straightforward method to implement WDAC is to use existing images to create one master WDAC policy. You do so by creating a WDAC policy from each image, and then by merging the policies. This way, what is installed on all of those images will be allowed to run, if the applications are installed on a computer based on a different image. Alternatively, you may choose to create a base applications policy and add policies based on the computer’s role or department. Organizations have a choice of how their policies are created, merged or serviced, and managed. - -If you plan to use an internal CA to sign catalog files or WDAC policies, see the steps in [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). - -## Windows Defender Application Control policy rules - -To modify the policy rule options of an existing WDAC policy, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). Note the following examples of how to use this cmdlet to add and remove a rule option on an existing WDAC policy: - -- To ensure that UMCI is enabled for a WDAC policy that was created with the `-UserPEs` (user mode) option, add rule option 0 to an existing policy by running the following command: - - ` Set-RuleOption -FilePath -Option 0` - - Note that a policy that was created without the `-UserPEs` option is empty of user mode executables, that is, applications. If you enable UMCI (Option 0) for such a policy and then attempt to run an application, Windows Defender Application Control will see that the application is not on its list (which is empty of applications), and respond. In audit mode, the response is logging an event, and in enforced mode, the response is blocking the application. To create a policy that includes user mode executables (applications), when you run `New-CIPolicy`, include the `-UserPEs` option. - -- To disable UMCI on an existing WDAC policy, delete rule option 0 by running the following command: - - ` Set-RuleOption -FilePath -Option 0 -Delete` - -You can set several rule options within a WDAC policy. Table 2 describes each rule option. - -> [!NOTE] -> We recommend that you use **Enabled:Audit Mode** initially because it allows you to test new WDAC policies before you enforce them. With audit mode, no application is blocked—instead the policy logs an event whenever an application outside the policy is started. To allow these applications, you can capture the policy information from the event log, and then merge that information into the existing policy. When the **Enabled:Audit Mode** is deleted, the policy runs in enforced mode. - -**Table 2. Windows Defender Application Control policy - policy rule options** - -| Rule option | Description | -|------------ | ----------- | -| **0 Enabled:UMCI** | WDAC policies restrict both kernel-mode and user-mode binaries. By default, only kernel-mode binaries are restricted. Enabling this rule option validates user mode executables and scripts. | -| **1 Enabled:Boot Menu Protection** | This option is not currently supported. | -| **2 Required:WHQL** | By default, legacy drivers that are not Windows Hardware Quality Labs (WHQL) signed are allowed to execute. Enabling this rule requires that every executed driver is WHQL signed and removes legacy driver support. Going forward, every new Windows 10–compatible driver must be WHQL certified. | -| **3 Enabled:Audit Mode (Default)** | Enables the execution of binaries outside of the WDAC policy but logs each occurrence in the CodeIntegrity event log, which can be used to update the existing policy before enforcement. To begin enforcing a WDAC policy, delete this option. | -| **4 Disabled:Flight Signing** | If enabled, WDAC policies will not trust flightroot-signed binaries. This would be used in the scenario in which organizations only want to run released binaries, not flighted builds. | -| **5 Enabled:Inherit Default Policy** | This option is not currently supported. | -| **6 Enabled:Unsigned System Integrity Policy (Default)** | Allows the policy to remain unsigned. When this option is removed, the policy must be signed and have UpdatePolicySigners added to the policy to enable future policy modifications. | -| **7 Allowed:Debug Policy Augmented** | This option is not currently supported. | -| **8 Required:EV Signers** | In addition to being WHQL signed, this rule requires that drivers must have been submitted by a partner that has an Extended Verification (EV) certificate. All future Windows 10 and later drivers will meet this requirement. | -| **9 Enabled:Advanced Boot Options Menu** | The F8 preboot menu is disabled by default for all WDAC policies. Setting this rule option allows the F8 menu to appear to physically present users. | -| **10 Enabled:Boot Audit on Failure** | Used when the WDAC policy is in enforcement mode. When a driver fails during startup, the WDAC policy will be placed in audit mode so that Windows will load. Administrators can validate the reason for the failure in the CodeIntegrity event log. | -| **11 Disabled:Script Enforcement** | This option is not currently supported. | -| **12 Required:Enforce Store Applications** | If this rule option is enabled, WDAC policies will also apply to Universal Windows applications. | -| **13 Enabled:Managed Installer** | Use this option to automatically allow applications installed by a software distribution solution, such as System Center Configuration Manager, that has been defined as a managed installer. | -| **14 Enabled:Intelligent Security Graph Authorization** | Use this option to automatically allow applications with "known good" reputation as defined by Microsoft’s Intelligent Security Graph (ISG). | -| **15 Enabled:Invalidate EAs on Reboot** | When the Intelligent Security Graph option (14) is used, WDAC sets an extended file attribute that indicates that the file was authorized to run. This option will cause WDAC to periodically re-validate the reputation for files that were authorized by the ISG.| -| **16 Enabled:Update Policy No Reboot** | Use this option to allow future WDAC policy updates to apply without requiring a system reboot. | - -## Windows Defender Application Control file rule levels - -File rule levels allow administrators to specify the level at which they want to trust their applications. This level of trust could be as fine-tuned as the hash of each binary or as general as a CA certificate. You specify file rule levels both when you create a new WDAC policy from a scan and when you create a policy from audit events. In addition, to combine rule levels found in multiple policies, you can merge the policies. When merged, WDAC policies combine their file rules, so that any application that would be allowed by either of the original policies will be allowed by the combined policy. - -Each file rule level has its benefit and disadvantage. Use Table 3 to select the appropriate protection level for your available administrative resources and Windows Defender Application Control deployment scenario. - -Table 3. Windows Defender Application Control policy - file rule levels - -| Rule level | Description | -|----------- | ----------- | -| **Hash** | Specifies individual hash values for each discovered binary. Although this level is specific, it can cause additional administrative overhead to maintain the current product versions’ hash values. Each time a binary is updated, the hash value changes, therefore requiring a policy update. | -| **FileName** | Specifies individual binary file names. Although the hash values for an application are modified when updated, the file names are typically not. This offers less specific security than the hash level but does not typically require a policy update when any binary is modified. | -| **SignedVersion** | This combines the publisher rule with a version number. This option allows anything from the specified publisher, with a version at or above the specified version number, to run. | -| **Publisher** | This is a combination of the PcaCertificate level (typically one certificate below the root) and the common name (CN) of the leaf certificate. This rule level allows organizations to trust a certificate from a major CA (such as Symantec), but only if the leaf certificate is from a specific company (such as Intel, for device drivers). | -| **FilePublisher** | This is a combination of the “FileName” attribute of the signed file, plus “Publisher” (PCA certificate with CN of leaf), plus a minimum version number. This option trusts specific files from the specified publisher, with a version at or above the specified version number. | -| **LeafCertificate** | Adds trusted signers at the individual signing certificate level. The benefit of using this level versus the individual hash level is that new versions of the product will have different hash values but typically the same signing certificate. Using this level, no policy update would be needed to run the new version of the application. However, leaf certificates have much shorter validity periods than CA certificates, so additional administrative overhead is associated with updating the WDAC policy when these certificates expire. | -| **PcaCertificate** | Adds the highest available certificate in the provided certificate chain to signers. This is typically one certificate below the root certificate, because the scan does not validate anything beyond the certificates included in the provided signature (it does not go online or check local root stores). | -| **RootCertificate** | Currently unsupported. | -| **WHQL** | Trusts binaries if they have been validated and signed by WHQL. This is primarily for kernel binaries. | -| **WHQLPublisher** | This is a combination of the WHQL and the CN on the leaf certificate and is primarily for kernel binaries. | -| **WHQLFilePublisher** | Specifies that the binaries are validated and signed by WHQL, with a specific publisher (WHQLPublisher), and that the binary is the specified version or newer. This is primarily for kernel binaries. | - -> [!NOTE] -> When you create WDAC policies with [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), you can specify a primary file rule level by including the **-Level** parameter. For discovered binaries that cannot be trusted based on the primary file rule criteria, use the **-Fallback** parameter. For example, if the primary file rule level is PCACertificate but you would like to trust the unsigned applications as well, using the Hash rule level as a fallback adds the hash values of binaries that did not have a signing certificate. - -## Example of file rule levels in use - -For example, consider some IT professionals in a department that runs many servers. They decide they want their servers to run only software signed by the providers of their software and drivers, that is, the companies that provide their hardware, operating system, antivirus, and other important software. They know that their servers also run an internally written application that is unsigned but is rarely updated. They want to allow this application to run. - -To create the WDAC policy, they build a reference server on their standard hardware, and install all of the software that their servers are known to run. Then they run [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) with **-Level Publisher** (to allow software from their software providers, the "Publishers") and **-Fallback Hash** (to allow the internal, unsigned application). They enable the policy in auditing mode and gather information about any necessary software that was not included on the reference server. They merge WDAC policies into the original policy to allow that additional software to run. Then they enable the WDAC policy in enforced mode for their servers. - -As part of normal operations, they will eventually install software updates, or perhaps add software from the same software providers. Because the "Publisher" remains the same on those updates and software, they will not need to update their WDAC policy. If they come to a time when the internally-written, unsigned application must be updated, they must also update the WDAC policy so that the hash in the policy matches the hash of the updated internal application. - -They could also choose to create a catalog that captures information about the unsigned internal application, then sign and distribute the catalog. Then the internal application could be handled by WDAC policies in the same way as any other signed application. An update to the internal application would only require that the catalog be regenerated, signed, and distributed (no restarts would be required). - - -## Related topics - -- [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) -- [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md) diff --git a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md index 6a7873aa9b..25b3275e4b 100644 --- a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md @@ -15,200 +15,8 @@ ms.date: 02/13/2018 - Windows 10 - Windows Server 2016 -For an overview of the process described in the following procedures, see [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md). To understand how the deployment of Windows Defender Application Control (WDAC) fits with other steps in the Windows Defender Device Guard deployment process, see [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). -## Create a Windows Defender Application Control policy from a reference computer -This section outlines the process to create a WDAC policy with Windows PowerShell. -For this example, you must initiate variables to be used during the creation process or use the full file paths in the command. -Then create the WDAC policy by scanning the system for installed applications. -The policy file is converted to binary format when it gets created so that Windows can interpret it. -> [!Note] -> Make sure the reference computer is virus and malware-free, and install any software you want to be scanned before creating the WDAC policy. - -### Scripting and applications - -Each installed software application should be validated as trustworthy before you create a policy. -We recommend that you review the reference computer for software that can load arbitrary DLLs and run code or scripts that could render the PC more vulnerable. -Examples include software aimed at development or scripting such as msbuild.exe (part of Visual Studio and the .NET Framework) which can be removed if you do not want to run scripts. -You can remove or disable such software on the reference computer. -You can also fine-tune your control by [using Windows Defender Application Control in combination with AppLocker](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). - - -To create a WDAC policy, copy each of the following commands into an elevated Windows PowerShell session, in order: - -1. Initialize variables that you will use. The following example commands use **InitialScan.xml** and **DeviceGuardPolicy.bin** for the names of the files that will be created: - - ` $CIPolicyPath=$env:userprofile+"\Desktop\"` - - ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` - - ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` - -2. Use [New-CIPolicy](https://technet.microsoft.com/library/mt634473.aspx) to create a new WDAC policy by scanning the system for installed applications: - - ` New-CIPolicy -Level PcaCertificate -FilePath $InitialCIPolicy –UserPEs 3> CIPolicyLog.txt ` - - > [!Note] - - > - When you specify the **-UserPEs** parameter (to include user mode executables in the scan), rule option **0 Enabled:UMCI** is automatically added to the WDAC policy. In contrast, if you do not specify **-UserPEs**, the policy will be empty of user mode executables and will only have rules for kernel mode binaries like drivers, in other words, the whitelist will not include applications. If you create such a policy and later add rule option **0 Enabled:UMCI**, all attempts to start applications will cause a response from Windows Defender Application Control. In audit mode, the response is logging an event, and in enforced mode, the response is blocking the application. - - > - You can add the **-Fallback** parameter to catch any applications not discovered using the primary file rule level specified by the **-Level** parameter. For more information about file rule level options, see [Windows Defender Application Control file rule levels](deploy-windows-defender-application-control-policy-rules-and-file-rules.md#windows-defender-application-control-file-rule-levels) in “Deploy Windows Defender Application Control: policy rules and file rules.” - - > - To specify that the WDAC policy scan only a specific drive, include the **-ScanPath** parameter followed by a path. Without this parameter, the entire system is scanned. - - > - The preceding example includes `3> CIPolicylog.txt`, which redirects warning messages to a text file, **CIPolicylog.txt**. - -3. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the WDAC policy to a binary format: - - ` ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin` - -After you complete these steps, the WDAC binary file (DeviceGuardPolicy.bin) and original .xml file (IntialScan.xml) will be available on your desktop. You can use the binary file as a WDAC policy or sign it for additional security. - -> [!Note] -> We recommend that you keep the original .xml file of the policy for use when you need to merge the WDAC policy with another policy or update its rule options. Alternatively, you would have to create a new policy from a new scan for servicing. For more information about how to merge WDAC policies, see [Merge Windows Defender Application Control policies](#merge-windows-defender-application-control-policies). - -We recommend that every WDAC policy be run in audit mode before being enforced. Doing so allows administrators to discover any issues with the policy without receiving error message dialog boxes. For information about how to audit a WDAC policy, see the next section, [Audit Windows Defender Application Control policies](#audit-windows-defender-application-control-policies). - - - - - - - -## Signing Windows Defender Application Control policies with SignTool.exe - -Signed WDAC policies give organizations the highest level of malware protection available in Windows 10. -In addition to their enforced policy rules, signed policies cannot be modified or deleted by a user or administrator on the computer. -These policies are designed to prevent administrative tampering and kernel mode exploit access. -With this in mind, it is much more difficult to remove signed WDAC policies. -Before you sign and deploy a signed WDAC policy, we recommend that you [audit the policy](#audit-windows-defender-application-control-policies) to discover any blocked applications that should be allowed to run. - -Signing WDAC policies by using an on-premises CA-generated certificate or a purchased code signing certificate is straightforward. -If you do not currently have a code signing certificate exported in .pfx format (containing private keys, extensions, and root certificates), see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) to create one with your on-premises CA. - -Before signing WDAC policies for the first time, be sure to enable rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) to leave troubleshooting options available to administrators. To ensure that a rule option is enabled, you can run a command such as `Set-RuleOption -FilePath -Option 9` even if you're not sure whether the option is already enabled—if so, the command has no effect. When validated and ready for enterprise deployment, you can remove these options. For more information about rule options, see [Windows Defender Application Control policy rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md#windows-defender-application-control-policy-rules) in "Deploy Windows Defender Application Control: policy rules and file rules." - -To sign a WDAC policy with SignTool.exe, you need the following components: - -- SignTool.exe, found in the Windows SDK (Windows 7 or later) - -- The binary format of the WDAC policy that you generated in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section or another WDAC policy that you have created - -- An internal CA code signing certificate or a purchased code signing certificate - -If you do not have a code signing certificate, see the [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) section for instructions on how to create one. If you use an alternate certificate or WDAC policy, be sure to update the following steps with the appropriate variables and certificate so that the commands will function properly. To sign the existing WDAC policy, copy each of the following commands into an elevated Windows PowerShell session: - -1. Initialize the variables that will be used: - - ` $CIPolicyPath=$env:userprofile+"\Desktop\"` - - ` $InitialCIPolicy=$CIPolicyPath+"InitialScan.xml"` - - ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` - - > [!Note] - > This example uses the WDAC policy that you created in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section. If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. - -2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). - -3. Export the .cer code signing certificate. After the code signing certificate has been imported, export the .cer version to your desktop. This version will be added to the policy so that it can be updated later. - -4. Navigate to your desktop as the working directory: - - ` cd $env:USERPROFILE\Desktop ` - -5. Use [Add-SignerRule](https://technet.microsoft.com/library/mt634479.aspx) to add an update signer certificate to the WDAC policy: - - ` Add-SignerRule -FilePath $InitialCIPolicy -CertificatePath -Kernel -User –Update` - - > [!Note] - > *<Path to exported .cer certificate>* should be the full path to the certificate that you exported in step 3. - Also, adding update signers is crucial to being able to modify or disable this policy in the future. For more information about how to disable signed WDAC policies, see the [Disable signed Windows Defender Application Control policies within Windows](#disable-signed-windows-defender-application-control-policies-within-windows) section. - -6. Use [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) to remove the unsigned policy rule option: - - ` Set-RuleOption -FilePath $InitialCIPolicy -Option 6 -Delete` - -7. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the policy to binary format: - - ` ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin` - -8. Sign the WDAC policy by using SignTool.exe: - - ` sign -v /n "ContosoDGSigningCert" -p7 . -p7co 1.3.6.1.4.1.311.79.1 -fd sha256 $CIPolicyBin` - - > [!Note] - > The *<Path to signtool.exe>* variable should be the full path to the SignTool.exe utility. **ContosoDGSigningCert** is the subject name of the certificate that will be used to sign the WDAC policy. You should import this certificate to your personal certificate store on the computer you use to sign the policy. - -9. Validate the signed file. When complete, the commands should output a signed policy file called DeviceGuardPolicy.bin.p7 to your desktop. You can deploy this file the same way you deploy an enforced or non-enforced policy. For information about how to deploy WDAC policies, see [Deploy and manage Windows Defender Application Control with Group Policy](#deploy-and-manage-windows-defender-application-control-with-group-policy). - -## Disable unsigned Windows Defender Application Control policies - -There may come a time when an administrator wants to disable a WDAC policy. For unsigned WDAC policies, this process is simple. Depending on how the WDAC policy was deployed, unsigned policies can be disabled in one of two ways. If a WDAC policy was manually enabled and copied to the code integrity folder location, simply delete the file and restart the computer. The following locations can contain executing WDAC policies: - -- <EFI System Partition>\\Microsoft\\Boot\\ - -- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ - -If the WDAC policy was deployed by using Group Policy, the GPO that is currently enabling and deploying the policy must be set to disabled. Then, the WDAC policy will be disabled on the next computer restart. - -## Disable signed Windows Defender Application Control policies within Windows - -Signed policies protect Windows from administrative manipulation as well as malware that has gained administrative-level access to the system. For this reason, signed WDAC policies are intentionally more difficult to remove than unsigned policies. They inherently protect themselves from modification or removal and therefore are difficult even for administrators to remove successfully. If the signed WDAC policy is manually enabled and copied to the CodeIntegrity folder, to remove the policy, you must complete the following steps. - -> [!Note] -> For reference, signed WDAC policies should be replaced and removed from the following locations: - -- <EFI System Partition>\\Microsoft\\Boot\\ - -- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ - - -1. Replace the existing policy with another signed policy that has the **6 Enabled: Unsigned System Integrity Policy** rule option enabled. - - > **Note**  To take effect, this policy must be signed with a certificate previously added to the **UpdatePolicySigners** section of the original signed policy you want to replace. - -2. Restart the client computer. - -3. Verify that the new signed policy exists on the client. - - > **Note**  If the signed policy that contains rule option 6 has not been processed on the client, the addition of an unsigned policy may cause boot failures. - -4. Delete the new policy. - -5. Restart the client computer. - -If the signed WDAC policy has been deployed using by using Group Policy, you must complete the following steps: - -1. Replace the existing policy in the GPO with another signed policy that has the **6 Enabled: Unsigned System Integrity Policy** rule option enabled. - - > **Note**  To take effect, this policy must be signed with a certificate previously added to the **UpdatePolicySigners** section of the original signed policy you want to replace. - -2. Restart the client computer. - -3. Verify that the new signed policy exists on the client. - - > **Note**  If the signed policy that contains rule option 6 has not been processed on the client, the addition of an unsigned policy may cause boot failures. - -4. Set the GPO to disabled. - -5. Delete the new policy. - -6. Restart the client computer. - -## Disable signed Windows Defender Application Control policies within the BIOS - -There may be a time when signed WDAC policies cause a boot failure. Because WDAC policies enforce kernel mode drivers, it is important that they be thoroughly tested on each software and hardware configuration before being enforced and signed. Signed WDAC policies are validated in the pre-boot sequence by using Secure Boot. When you disable the Secure Boot feature in the BIOS, and then delete the file from the following locations on the operating system disk, it allows the system to boot into Windows: - -- <EFI System Partition>\\Microsoft\\Boot\\ - -- <OS Volume>\\Windows\\System32\\CodeIntegrity\\ - - -## Related topics - -[Windows Defender Application Control](windows-defender-application-control.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 35880caf7e..61e00555ad 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -10,6 +10,7 @@ ## [Windows Defender Application Control deployment guide](windows-defender-application-control-deployment-guide.md) +### [Types of devices](types-of-devices.md) ### [Use WDAC with the Microsoft Intelligent Security Graph](use-windows-defender-application-control-with-intelligent-security-graph.md) ### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) ### [Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index 0a4a92346c..e87314b83e 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -9,10 +9,97 @@ author: jsuther1974 ms.date: 02/21/2018 --- -# Select the types of rules to create +# Deploy Windows Defender Application Control policy rules and file rules **Applies to:** - Windows 10 - Windows Server 2016 +Windows Defender Application Control (WDAC) provides control over a computer running Windows 10 by using policies that specify whether a driver or application is trusted and can be run. A policy includes *policy rules* that control options such as audit mode or whether user mode code integrity (UMCI) is enabled in a WDAC policy, and *file rules* (or *file rule levels*) that specify the level at which applications will be identified and trusted. + +## Overview of the process of creating Windows Defender Application Control policies + +A common system imaging practice in today’s IT organization is to establish a “golden” image as a reference for what an ideal system should look like, and then use that image to clone additional company assets. WDAC policies follow a similar methodology, that begins with the establishment of a golden computer. As with imaging, you can have multiple golden computers based on model, department, application set, and so on. Although the thought process around the creation of WDAC policies is similar to imaging, these policies should be maintained independently. Assess the necessity of additional WDAC policies based on what should be allowed to be installed and run and for whom. For more details on doing this assessment, see the [WDAC Design Guide](planning-and-getting-started-on-the-device-guard-deployment-process.md). + +> **Note**  Each computer can have only **one** WDAC policy at a time. Whichever way you deploy this policy, it is renamed to SIPolicy.p7b and copied to **C:\\Windows\\System32\\CodeIntegrity** and, for UEFI computers, **<EFI System Partition>\\Microsoft\\Boot**. Keep this in mind when you create your WDAC policies. + +Optionally, WDAC can align with your software catalog as well as any IT department–approved applications. One straightforward method to implement WDAC is to use existing images to create one master WDAC policy. You do so by creating a WDAC policy from each image, and then by merging the policies. This way, what is installed on all of those images will be allowed to run, if the applications are installed on a computer based on a different image. Alternatively, you may choose to create a base applications policy and add policies based on the computer’s role or department. Organizations have a choice of how their policies are created, merged or serviced, and managed. + +If you plan to use an internal CA to sign catalog files or WDAC policies, see the steps in [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md). + +## Windows Defender Application Control policy rules + +To modify the policy rule options of an existing WDAC policy, use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). Note the following examples of how to use this cmdlet to add and remove a rule option on an existing WDAC policy: + +- To ensure that UMCI is enabled for a WDAC policy that was created with the `-UserPEs` (user mode) option, add rule option 0 to an existing policy by running the following command: + + ` Set-RuleOption -FilePath -Option 0` + + Note that a policy that was created without the `-UserPEs` option is empty of user mode executables, that is, applications. If you enable UMCI (Option 0) for such a policy and then attempt to run an application, Windows Defender Application Control will see that the application is not on its list (which is empty of applications), and respond. In audit mode, the response is logging an event, and in enforced mode, the response is blocking the application. To create a policy that includes user mode executables (applications), when you run `New-CIPolicy`, include the `-UserPEs` option. + +- To disable UMCI on an existing WDAC policy, delete rule option 0 by running the following command: + + ` Set-RuleOption -FilePath -Option 0 -Delete` + +You can set several rule options within a WDAC policy. Table 2 describes each rule option. + +> [!NOTE] +> We recommend that you use **Enabled:Audit Mode** initially because it allows you to test new WDAC policies before you enforce them. With audit mode, no application is blocked—instead the policy logs an event whenever an application outside the policy is started. To allow these applications, you can capture the policy information from the event log, and then merge that information into the existing policy. When the **Enabled:Audit Mode** is deleted, the policy runs in enforced mode. + +**Table 2. Windows Defender Application Control policy - policy rule options** + +| Rule option | Description | +|------------ | ----------- | +| **0 Enabled:UMCI** | WDAC policies restrict both kernel-mode and user-mode binaries. By default, only kernel-mode binaries are restricted. Enabling this rule option validates user mode executables and scripts. | +| **1 Enabled:Boot Menu Protection** | This option is not currently supported. | +| **2 Required:WHQL** | By default, legacy drivers that are not Windows Hardware Quality Labs (WHQL) signed are allowed to execute. Enabling this rule requires that every executed driver is WHQL signed and removes legacy driver support. Going forward, every new Windows 10–compatible driver must be WHQL certified. | +| **3 Enabled:Audit Mode (Default)** | Enables the execution of binaries outside of the WDAC policy but logs each occurrence in the CodeIntegrity event log, which can be used to update the existing policy before enforcement. To begin enforcing a WDAC policy, delete this option. | +| **4 Disabled:Flight Signing** | If enabled, WDAC policies will not trust flightroot-signed binaries. This would be used in the scenario in which organizations only want to run released binaries, not flighted builds. | +| **5 Enabled:Inherit Default Policy** | This option is not currently supported. | +| **6 Enabled:Unsigned System Integrity Policy (Default)** | Allows the policy to remain unsigned. When this option is removed, the policy must be signed and have UpdatePolicySigners added to the policy to enable future policy modifications. | +| **7 Allowed:Debug Policy Augmented** | This option is not currently supported. | +| **8 Required:EV Signers** | In addition to being WHQL signed, this rule requires that drivers must have been submitted by a partner that has an Extended Verification (EV) certificate. All future Windows 10 and later drivers will meet this requirement. | +| **9 Enabled:Advanced Boot Options Menu** | The F8 preboot menu is disabled by default for all WDAC policies. Setting this rule option allows the F8 menu to appear to physically present users. | +| **10 Enabled:Boot Audit on Failure** | Used when the WDAC policy is in enforcement mode. When a driver fails during startup, the WDAC policy will be placed in audit mode so that Windows will load. Administrators can validate the reason for the failure in the CodeIntegrity event log. | +| **11 Disabled:Script Enforcement** | This option is not currently supported. | +| **12 Required:Enforce Store Applications** | If this rule option is enabled, WDAC policies will also apply to Universal Windows applications. | +| **13 Enabled:Managed Installer** | Use this option to automatically allow applications installed by a software distribution solution, such as System Center Configuration Manager, that has been defined as a managed installer. | +| **14 Enabled:Intelligent Security Graph Authorization** | Use this option to automatically allow applications with "known good" reputation as defined by Microsoft’s Intelligent Security Graph (ISG). | +| **15 Enabled:Invalidate EAs on Reboot** | When the Intelligent Security Graph option (14) is used, WDAC sets an extended file attribute that indicates that the file was authorized to run. This option will cause WDAC to periodically re-validate the reputation for files that were authorized by the ISG.| +| **16 Enabled:Update Policy No Reboot** | Use this option to allow future WDAC policy updates to apply without requiring a system reboot. | + +## Windows Defender Application Control file rule levels + +File rule levels allow administrators to specify the level at which they want to trust their applications. This level of trust could be as fine-tuned as the hash of each binary or as general as a CA certificate. You specify file rule levels both when you create a new WDAC policy from a scan and when you create a policy from audit events. In addition, to combine rule levels found in multiple policies, you can merge the policies. When merged, WDAC policies combine their file rules, so that any application that would be allowed by either of the original policies will be allowed by the combined policy. + +Each file rule level has its benefit and disadvantage. Use Table 3 to select the appropriate protection level for your available administrative resources and Windows Defender Application Control deployment scenario. + +Table 3. Windows Defender Application Control policy - file rule levels + +| Rule level | Description | +|----------- | ----------- | +| **Hash** | Specifies individual hash values for each discovered binary. Although this level is specific, it can cause additional administrative overhead to maintain the current product versions’ hash values. Each time a binary is updated, the hash value changes, therefore requiring a policy update. | +| **FileName** | Specifies individual binary file names. Although the hash values for an application are modified when updated, the file names are typically not. This offers less specific security than the hash level but does not typically require a policy update when any binary is modified. | +| **SignedVersion** | This combines the publisher rule with a version number. This option allows anything from the specified publisher, with a version at or above the specified version number, to run. | +| **Publisher** | This is a combination of the PcaCertificate level (typically one certificate below the root) and the common name (CN) of the leaf certificate. This rule level allows organizations to trust a certificate from a major CA (such as Symantec), but only if the leaf certificate is from a specific company (such as Intel, for device drivers). | +| **FilePublisher** | This is a combination of the “FileName” attribute of the signed file, plus “Publisher” (PCA certificate with CN of leaf), plus a minimum version number. This option trusts specific files from the specified publisher, with a version at or above the specified version number. | +| **LeafCertificate** | Adds trusted signers at the individual signing certificate level. The benefit of using this level versus the individual hash level is that new versions of the product will have different hash values but typically the same signing certificate. Using this level, no policy update would be needed to run the new version of the application. However, leaf certificates have much shorter validity periods than CA certificates, so additional administrative overhead is associated with updating the WDAC policy when these certificates expire. | +| **PcaCertificate** | Adds the highest available certificate in the provided certificate chain to signers. This is typically one certificate below the root certificate, because the scan does not validate anything beyond the certificates included in the provided signature (it does not go online or check local root stores). | +| **RootCertificate** | Currently unsupported. | +| **WHQL** | Trusts binaries if they have been validated and signed by WHQL. This is primarily for kernel binaries. | +| **WHQLPublisher** | This is a combination of the WHQL and the CN on the leaf certificate and is primarily for kernel binaries. | +| **WHQLFilePublisher** | Specifies that the binaries are validated and signed by WHQL, with a specific publisher (WHQLPublisher), and that the binary is the specified version or newer. This is primarily for kernel binaries. | + +> [!NOTE] +> When you create WDAC policies with [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy), you can specify a primary file rule level by including the **-Level** parameter. For discovered binaries that cannot be trusted based on the primary file rule criteria, use the **-Fallback** parameter. For example, if the primary file rule level is PCACertificate but you would like to trust the unsigned applications as well, using the Hash rule level as a fallback adds the hash values of binaries that did not have a signing certificate. + +## Example of file rule levels in use + +For example, consider some IT professionals in a department that runs many servers. They decide they want their servers to run only software signed by the providers of their software and drivers, that is, the companies that provide their hardware, operating system, antivirus, and other important software. They know that their servers also run an internally written application that is unsigned but is rarely updated. They want to allow this application to run. + +To create the WDAC policy, they build a reference server on their standard hardware, and install all of the software that their servers are known to run. Then they run [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy) with **-Level Publisher** (to allow software from their software providers, the "Publishers") and **-Fallback Hash** (to allow the internal, unsigned application). They enable the policy in auditing mode and gather information about any necessary software that was not included on the reference server. They merge WDAC policies into the original policy to allow that additional software to run. Then they enable the WDAC policy in enforced mode for their servers. + +As part of normal operations, they will eventually install software updates, or perhaps add software from the same software providers. Because the "Publisher" remains the same on those updates and software, they will not need to update their WDAC policy. If they come to a time when the internally-written, unsigned application must be updated, they must also update the WDAC policy so that the hash in the policy matches the hash of the updated internal application. + +They could also choose to create a catalog that captures information about the unsigned internal application, then sign and distribute the catalog. Then the internal application could be handled by WDAC policies in the same way as any other signed application. An update to the internal application would only require that the catalog be regenerated, signed, and distributed (no restarts would be required). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md new file mode 100644 index 0000000000..6daf806b7e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md @@ -0,0 +1,53 @@ +--- +title: types of devices (Windows 10) +description: TTypically, deployment of Windows Defender Device Guard happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: brianlic-msft +ms.date: 03/01/2018 +--- + +# Windows Defender Application Control deployment in different scenarios: types of devices + +**Applies to** +- Windows 10 +- Windows Server 2016 + +Typically, deployment of Windows Defender Device Guard happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. The following table can help you begin to develop a plan for deploying Windows Defender Device Guard in your organization. + +| **Type of device** | **How Windows Defender Device Guard relates to this type of device** | **Windows Defender Device Guard components that you can use to protect this kind of device** | +|------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------| +| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | Windows Defender Device Guard can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After Windows Defender Device Guard deployment, only approved applications can run. This is because of protections offered by WDAC. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | +| **Fully managed devices**: Allowed software is restricted by IT department.
Users can request additional software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline WDAC policy can be established and enforced. Whenever the IT department approves additional applications, it will update the WDAC policy and (for unsigned LOB applications) the catalog.
WDAC policies are supported by the HVCI service. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | +| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | Windows Defender Device Guard can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | - VBS (hardware-based) protections, enabled. When enabled with a WDAC policy in audit mode only, VBS means the hypervisor helps enforce the default kernel-mode code integrity policy, which protects against unsigned drivers or system files.

• WDAC, with UMCI enabled, but running in audit mode only. This means applications are not blocked—the policy just logs an event whenever an application outside the policy is started. | +| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | Windows Defender Device Guard does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | N/A | + +## Windows Defender Device Guard deployment in virtual machines + +Windows Defender Device Guard can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable Windows Defender Device Guard are the same from within the virtual machine. + +Windows Defender Device Guard protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable Windows Defender Device Guard for a virtual machine: + +```powershell +Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true +``` + + +### Requirements for running Windows Defender Device Guard in Hyper-V virtual machines + - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. + - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. + - Windows Defender Device Guard and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. + - Virtual Fibre Channel adapters are not compatible with Windows Defender Device Guard. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using Set-VMSecurity. + - The AllowFullSCSICommandSet option for pass-through disks is not compatible with Windows Defender Device Guard. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using Set-VMSecurity. + + + + +## Related topics + +- [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md) +- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) + + diff --git a/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md b/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md index d7707d1775..94fa8ec867 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-code-signing-to-simplify-application-control-for-classic-windows-applications.md @@ -16,4 +16,47 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +This topic covers guidelines for using code signing control classic Windows apps. + +## Reviewing your applications: application signing and catalog files + +Typically, WDAC policies are configured to use the application's signing certificate as part or all of what identifies the application as trusted. This means that applications must either use embedded signing—where the signature is part of the binary—or catalog signing, where you generate a “catalog file” from the applications, sign it, and through the signed catalog file, configure the WDAC policy to recognize the applications as signed. + +Catalog files can be very useful for unsigned LOB applications that cannot easily be given an embedded signature. However, catalogs need to be updated each time an application is updated. In contrast, with embedded signing, your WDAC policies typically do not have to be updated when an application is updated. For this reason, if code-signing is or can be included in your in-house application development process, it can simplify the management of WDAC (compared to using catalog signing). + +To obtain signed applications or embed signatures in your in-house applications, you can choose from a variety of methods: + +- Using the Microsoft Store publishing process. All apps that come out of the Microsoft Store are automatically signed with special signatures that can roll-up to our certificate authority (CA) or to your own. + +- Using your own digital certificate or public key infrastructure (PKI). ISV's and enterprises can sign their own Classic Windows applications themselves, adding themselves to the trusted list of signers. + +- Using a non-Microsoft signing authority. ISV's and enterprises can use a trusted non-Microsoft signing authority to sign all of their own Classic Windows applications. + +To use catalog signing, you can choose from the following options: + +- Use the Windows Defender Device Guard signing portal available in the Microsoft Store for Business and Education. The portal is a Microsoft web service that you can use to sign your Classic Windows applications. For more information, see [Device Guard signing](https://technet.microsoft.com/itpro/windows/manage/device-guard-signing-portal). + +- Create your own catalog files, which are described in the next section. + +### Catalog files + +Catalog files (which you can create in Windows 10 with a tool called Package Inspector) contain information about all deployed and executed binary files associated with your trusted but unsigned applications. When you create catalog files, you can also include signed applications for which you do not want to trust the signer but rather the specific application. After creating a catalog, you must sign the catalog file itself by using enterprise public key infrastructure (PKI), or a purchased code signing certificate. Then you can distribute the catalog, so that your trusted applications can be handled by WDAC in the same way as any other signed application. + +Catalog files are simply Secure Hash Algorithm 2 (SHA2) hash lists of discovered binaries. These binaries’ hash values are updated each time an application is updated, which requires the catalog file to be updated also. + +After you have created and signed your catalog files, you can configure your WDAC policies to trust the signer or signing certificate of those files. + +> [!NOTE] +> Package Inspector only works on operating systems that support Windows Defender Device Guard, such as Windows 10 Enterprise, Windows 10 Education, Windows 2016 Server, or Windows Enterprise IoT. + +For procedures for working with catalog files, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). + +## Windows Defender Application Control policy formats and signing + +When you generate a WDAC policy, you are generating a binary-encoded XML document that includes configuration settings for both the User and Kernel-modes of Windows 10 Enterprise, along with restrictions on Windows 10 script hosts. You can view your original XML document in a text editor, for example if you want to check the rule options that are present in the **<Rules>** section of the file. + +We recommend that you keep the original XML file for use when you need to merge the WDAC policy with another policy or update its rule options. For deployment purposes, the file is converted to a binary format, which can be done using a simple Windows PowerShell command. + +When the WDAC policy is deployed, it restricts the software that can run on a device. The XML document can be signed, helping to add additional protection against administrative users changing or removing the policy. \ No newline at end of file From 8e1ce4e51c074c4243e5538c28d116bf60e094a0 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 11:47:35 -0800 Subject: [PATCH 039/212] split steps --- ...stand-applocker-policy-design-decisions.md | 2 +- ...ication-control-policy-design-decisions.md | 119 ++++++++++++ ...lication-control-with-managed-installer.md | 169 +++++++++++++++++- 3 files changed, 281 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md index 5655cb2189..d8672db29e 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md @@ -224,7 +224,7 @@ Because the effectiveness of application control policies is dependent on the ab   ## Record your findings -The next step in the process is to record and analyze your answers to the preceding questions. If AppLocker is the right solution for your goals, tyou can set your application control policy objectives and plan your AppLocker rules. This process culminates in creating your planning document. +The next step in the process is to record and analyze your answers to the preceding questions. If AppLocker is the right solution for your goals, you can set your application control policy objectives and plan your AppLocker rules. This process culminates in creating your planning document. - For info about setting your policy goals, see [Determine your application control objectives](determine-your-application-control-objectives.md). - For info about creating your planning document, see [Create your AppLocker planning document](create-your-applocker-planning-document.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md index 7cee0477d0..e4043d220a 100644 --- a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md +++ b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md @@ -17,3 +17,122 @@ ms.date: 02/08/2018 - Windows 10 - Windows Server 2016 +This topic for the IT professional lists the design questions, possible answers, and ramifications of the decisions when you plan a deployment of application control policies by using Windows Defender Application Control (WDAC) within a Windows operating system environment. + +When you begin the design and planning process, you should consider the ramifications of your design choices. The resulting decisions will affect your policy deployment scheme and subsequent application control policy maintenance. + +You should consider using WDAC as part of your organization's application control policies if all the following are true: + +- You have deployed or plan to deploy the supported versions of Windows in your organization. +- You need improved control over the access to your organization's applications and the data your users access. +- The number of applications in your organization is known and manageable. +- You have resources to test policies against the organization's requirements. +- You have resources to involve Help Desk or to build a self-help process for end-user application access issues. +- The group's requirements for productivity, manageability, and security can be controlled by restrictive policies. + +The following questions are not in priority or sequential order. They should be considered when you deploy application control policies (as appropriate for your targeted environment). + +### Which apps do you need to control in your organization? + +You might need to control a limited number of apps because they access sensitive data, or you might have to exclude all applications except those that are sanctioned for business purposes. There might be certain business groups that require strict control, and others that promote independent application usage. + +| Possible answers | Design considerations| +| - | - | +| Control all apps | WDAC policies control applications by creating an allowed list of applications by file type. Exceptions are also possible. WDAC policies can only be applied to applications installed on computers running Windows 10 . | +| Control specific apps | When you create WDAC rules, a list of allowed apps are created. All apps on that list will be allowed to run (except those on the exception list). Apps that are not on the list will be prevented from running. WDAC policies can only be applied to apps installed on computers running Windows 10 or Windows Server 2016. | +|Control only Classic Windows applications, only Universal Windows apps, or both| WDAC policies control apps by creating an allowed list of apps by file type. Because Universal Windows apps are categorized under the Publisher condition, Classic Windows applications and Universal Windows apps can be controlled together. WDAC policies for Universal Windows apps can be applied only to apps that are installed on PCs that support the Microsoft Store, but Classic Windows applications can be controlled with WDAC on Windows. The rules you currently have configured for Classic Windows applications can remain, and you can create new ones for Universal Windows apps.| +| Control apps by business group and user | WDAC policies can be applied through a Group Policy Object (GPO) to computer objects within an organizational unit (OU). Individual WDAC rules can be applied to individual users or to groups of users.| +| Control apps by computer, not user | WDAC is a computer-based policy implementation. If your domain or site organizational structure is not based on a logical user structure, such as an OU, you might want to set up that structure before you begin your WDAC planning. Otherwise, you will have to identify users, their computers, and their app access requirements.| +|Understand app usage, but there is no need to control any apps yet | WDAC policies can be set to audit app usage to help you track which apps are used in your organization. You can then use teh CodeIntegrity log in Event Viewer to create WDAC policies.| + +### How do you currently control app usage in your organization? + +Most organizations have evolved app control policies and methods over time. With heightened security concerns and an emphasis on tighter IT control over desktop use, your organization might decide to consolidate app control practices or design a comprehensive application control scheme. WDAC includes improvements over SRP in the architecture and management of application control policies. + +| Possible answers | Design considerations | +| - | - | +| Security polices (locally set or through Group Policy) | Using WDAC requires increased effort in planning to create correct policies, but this results in a simpler distribution method.| +| Non-Microsoft app control software | Using WDAC requires a complete app control policy evaluation and implementation.| +| Managed usage by group or OU | Using WDAC requires a complete app control policy evaluation and implementation.| +| Authorization Manager or other role-based access technologies | Using WDAC requires a complete app control policy evaluation and implementation.| +| Other | Using WDAC requires a complete app control policy evaluation and implementation.| +  +### Are there specific groups in your organization that need customized application control policies? + +Most business groups or departments have specific security requirements that pertain to data access and the applications used to access that data. You should consider the scope of the project for each group and the group’s priorities before you deploy application control policies for the entire organization. + +| Possible answers | Design considerations | +| - | - | +| Yes | For each group, you need to create a list that includes their application control requirements. Although this may increase the planning time, it will most likely result in a more effective deployment.
If your GPO structure is not currently configured so that you can apply different policies to specific groups, you can alternatively apply WDAC rules in a GPO to specific user groups.| +| No | WDAC policies can be applied globally to applications that are installed on PCs running Windows 10. Depending on the number of apps you need to control, managing all the rules and exceptions might be challenging.| +  +### Does your IT department have resources to analyze application usage, and to design and manage the policies? + +The time and resources that are available to you to perform the research and analysis can affect the detail of your plan and processes for continuing policy management and maintenance. + +| Possible answers | Design considerations | +| - | - | +| Yes | Invest the time to analyze your organization's application control requirements, and plan a complete deployment that uses rules that are as simply constructed as possible.| +| No | Consider a focused and phased deployment for specific groups by using a small number of rules. As you apply controls to applications in a specific group, learn from that deployment to plan your next deployment. | +  +### Does your organization have Help Desk support? + +Preventing your users from accessing known, deployed, or personal applications will initially cause an increase in end-user support. It will be necessary to address the various support issues in your organization so security policies are followed and business workflow is not hampered. + +| Possible answers | Design considerations | +| - | - | +| Yes | Involve the support department early in the planning phase because your users may inadvertently be blocked from using their applications, or they may seek exceptions to use specific applications. | +| No | Invest time in developing online support processes and documentation before deployment. | + +  +### Do you know what applications require restrictive policies? +Any successful application control policy implementation is based on your knowledge and understanding of app usage within the organization or business group. In addition, the application control design is dependent on the security requirements for data and the apps that access that data. + +| Possible answers | Design considerations | +| - | - | +| Yes | You should determine the application control priorities for a business group and then attempt to design the simplest scheme for their application control policies. | +| No | You will have to perform an audit and requirements gathering project to discover the application usage. WDAC provides the means to deploy policies in audit mode.| +  +### How do you deploy or sanction applications (upgraded or new) in your organization? + +Implementing a successful application control policy is based on your knowledge and understanding of application usage within the organization or business group. In addition, the application control design is dependent on the security requirements for data and the applications that access that data. Understanding the upgrade and deployment policy will help shape the construction of the application control policies. + +| Possible answers | Design considerations | +| - | - | +| Ad hoc | You need to gather requirements from each group. Some groups might want unrestricted access or installation, while other groups might want strict controls.| +| Strict written policy or guidelines to follow | You need to develop WDAC rules that reflect those policies, and then test and maintain the rules. | +| No process in place | You need to determine if you have the resources to develop an application control policy, and for which groups. | +  +### What are your organization's priorities when implementing application control policies? + +Some organizations will benefit from application control policies as shown by an increase in productivity or conformance, while others will be hindered in performing their duties. Prioritize these aspects for each group to allow you to evaluate the effectiveness of WDAC. + +| Possible answers | Design considerations | +| - | - | +| Productivity: The organization assures that tools work and required applications can be installed. | To meet innovation and productivity goals, some groups require the ability to install and run a variety of software from different sources, including software that they developed. Therefore, if innovation and productivity is a high priority, managing application control policies through an allowed list might be time consuming and an impediment to progress. | +| Management: The organization is aware of and controls the apps it supports. | In some business groups, application usage can be managed from a central point of control. WDAC policies can be built into a GPO for that purpose. This shifts the burden of app access to the IT department, but it also has the benefit of controlling the number of apps that can be run and controlling the versions of those apps| +| Security: The organization must protect data in part by ensuring that only approved apps are used. | WDAC can help protect data by allowing a defined set of users access to apps that access the data. If security is the top priority, the application control policies will be the most restrictive.| +  +### How are apps currently accessed in your organization? + +WDAC is very effective for organizations that have application restriction requirements if they have environments with a simple topography and application control policy goals that are straightforward. For example, WDAC can benefit an environment where non-employees have access to computers that are connected to the organizational network, such as a school or library. Large organizations also benefit from WDAC policy deployment when the goal is to achieve a detailed level of control on the desktop computers with a relatively small number of applications to manage, or when the applications are manageable with a small number of rules. + +| Possible answers | Design considerations | +| - | - | +| Users run without administrative rights. | Apps are installed by using an installation deployment technology.| +| WDAC can help reduce the total cost of ownership for business groups that typically use a finite set of apps, such as human resources and finance departments. At the same time, these departments access highly sensitive information, much of which contains confidential and proprietary information. By using WDAC to create rules for specific apps that are allowed to run, you can help limit unauthorized applications from accessing this information.
**Note: **WDAC can also be effective in helping create standardized desktops in organizations where users run as administrators. | Users must be able to install applications as needed. +| Users currently have administrator access, and it would be difficult to change this.|Enforcing WDAC rules is not suited for business groups that must be able to install apps as needed and without approval from the IT department. If one or more OUs in your organization has this requirement, you can choose not to enforce application rules in those OUs by using WDAC or to implement the audit only enforcement setting.| +  +### Is the structure in Active Directory Domain Services based on the organization's hierarchy? + +Designing application control policies based on an organizational structure that is already built into Active Directory Domain Services (AD DS) is easier than converting the existing structure to an organizational structure. +Because the effectiveness of application control policies is dependent on the ability to update policies, consider what organizational work needs to be accomplished before deployment begins. + +| Possible answers | Design considerations | +| - | - | +| Yes | WDAC rules can be developed and implemented through Group Policy, based on your AD DS structure.| +| No | The IT department must create a scheme to identify how application control policies can be applied to the correct user or computer.| +  +## Record your findings + +The next step in the process is to record and analyze your answers to the preceding questions. If WDAC is the right solution for your goals, you can set your application control policy objectives and plan your WDAC rules. This process culminates in [creating your planning document](create-your-windows-defender-application-control-planning-document.md). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md index ed47945aaf..64299e61c8 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer.md @@ -1,19 +1,172 @@ --- -title: Use Windows Defender Application Control (WDAC) with a managed installer (Windows 10) -description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. -ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb +title: Deploy Managed Installer for Windows Defender Device Guard (Windows 10) +description: Explains how you can use a managed installer to automatically authorize applications deployed and installed by a designated software distribution solution, such as System Center Configuration Manager. +keywords: virtualization, security, malware ms.prod: w10 ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security ms.localizationpriority: high -author: jsuther1974 -ms.date: 02/27/2018 +author: mdsakibMSFT +ms.date: 03/01/2018 --- -# Use Windows Defender Application Control (WDAC) with a managed installer +# Deploy Managed Installer for Windows Defender Application Control **Applies to:** - Windows 10 - Windows Server 2016 + + +Creating and maintaining application execution control policies has always been challenging, and finding ways to address this issue has been a frequently-cited request for customers of AppLocker and Windows Defender Application Control (WDAC). +This is especially true for enterprises with large, ever changing software catalogs. + +Windows 10, version 1703 (also known as the Windows 10 Creators Update) provides a new option, known as a managed installer, that allows IT administrators to automatically authorize applications deployed and installed by a designated software distribution solution, such as System Center Configuration Manager. +A managed installer helps an IT admin balance security and manageability requirements when employing application execution control policies by providing an option that does not require specifying explicit rules for software that is being managed through a software distribution solution. + +## How does a managed installer work? + +A managed installer uses a new rule collection in AppLocker to specify one or more executables that are trusted by the organization as an authorized source for application deployment. +Specifying an executable as a managed installer will cause Windows to tag files that are written from the executable’s process (or processes it launches) as having originated from a trusted installation authority. + +Once the IT administrator adds the Allow: Managed Installer option to a WDAC policy, the WDAC component will subsequently check for the presence of the origin information when evaluating other application execution control rules specified in the policy. +If there are no deny rules present for the file, it will be authorized based on the managed installer origin information. + +> [!NOTE] +> Admins needs to ensure that there is a WDAC policy in place to allow the system to boot and run any other authorized applications that may not be deployed through a managed installer. +> +> Examples of WDAC policies available in C:\Windows\schemas\CodeIntegrity\ExamplePolicies help authorize Windows OS components, WHQL signed drivers and all Store apps. +> Admins can reference and customize them as needed for their Windows Defender Application Control deployment or create a custom WDAC policy as described in [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md). + +## Configuring a managed installer with AppLocker and Windows Defender Application Control + +Setting up managed installer tracking and application execution enforcement requires applying both an AppLocker and WDAC policy with specific rules and options enabled. +There are three primary steps to keep in mind: + +- Specify managed installers using the Managed Installer rule collection in AppLocker policy +- Enable service enforcement in AppLocker policy +- Enable the managed installer option in a WDAC policy + +### Specify managed installers using the Managed Installer rule collection in AppLocker policy + +The identity of the managed installer executable(s) is specified in an AppLocker policy in a Managed Installer rule collection. +Currently the AppLocker policy creation UI and cmdlets do not allow for directly specifying rules for the Managed Installer rule collection, however a text editor can be used to make the simple changes needed to an EXE or DLL rule collection policy to specify Type="ManagedInstaller". + +An example of a valid Managed Installer rule collection is shown below. + +```code + + + + + + + + + + + + + + + + +``` + +## Enable service enforcement in AppLocker policy + +Since many installation processes rely on services, it is typically necessary to enable tracking of services. +Correct tracking of services requires the presence of at least one rule in the rule collection – a simple audit only rule will suffice. +For example: + +```code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +### Enable the managed installer option in WDAC policy + +In order to enable trust for the binaries laid down by managed installers, the Allow: Managed Installer option must be specified in your WDAC policy. +This can be done by using the [Set-RuleOption cmdlet](https://docs.microsoft.com/powershell/module/configci/set-ruleoption). +An example of the managed installer option being set in policy is shown below. + +```code + + + + + + + + + + + + + + + + + +``` + +## Security considerations with managed installer + +Since managed installer is a heuristic-based mechanism, it does not provide the same security guarantees that explicit allow or deny rules do. +It is best suited for deployment to systems where each user is configured as a standard user and where all software is deployed and installed by a software distribution solution, such as System Center Configuration Manager. + +Users with administrator privileges or malware running as an administrator user on the system may be able to circumvent the intent of Windows Defender Application Control when the managed installer option is allowed. +If the authorized managed installer process performs installations in the context of a user with standard privileges, then it is possible that standard users or malware running as standard user may be able to circumvent the intent of Windows Defender Application Control. +Some application installers include an option to automatically run the application at the end of the installation process. If this happens when the installer is run by a managed installer, then the managed installer's heuristic tracking and authorization may continue to apply to all files created during the first run of the application. This could result in over-authorization for executables that were not intended. +To avoid this, ensure that the application deployment solution being used as a managed installer limits running applications as part of installation. + +## Known limitations with managed installer + +- Application execution control based on managed installer does not support applications that self-update. +If an application deployed by a managed installer subsequently updates itself, the updated application files will no longer include the managed installer origin information and will not be authorized to run. +Enterprises should deploy and install all application updates using the managed installer. +In some cases, it may be possible to also designate an application binary that performs the self-updates as a managed installer. +Proper review for functionality and security should be performed for the application before using this method. + +- Although WDAC policies can be deployed in both audit and enforced mode, the managed installer option is currently only recommended for use with policies set to enforced except in lab environments. +Using the managed installer option with WDAC policies set to audit only may result in unexpected behavior if the policy is subsequently changed to enforced mode. + +- Modern apps deployed through a managed installer will not be tracked by the managed installer heuristic and will need to be separately authorized in your WDAC policy. + +- Executables that extract files and then attempt to execute may not be allowed by the managed installer heuristic. +In some cases, it may be possible to also designate an application binary that performs such an operation as a managed installer. +Proper review for functionality and security should be performed for the application before using this method. + +- The managed installer heuristic does not authorize drivers. +The WDAC policy must have rules that allow the necessary drivers to run. + +- In some cases, the code integrity logs where WDAC errors and warnings are written will contain error events for native images generated for .NET assemblies. +Typically, the error is functionally benign as a blocked native image will result in the corresponding assembly being re-interpreted. +Review for functionality and performance for the related applications using the native images maybe necessary in some cases. From d71e0d0c762c9de45c564fffcb7bd30e892e23c8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 12:25:30 -0800 Subject: [PATCH 040/212] split steps --- .../TOC.md | 1 + .../select-types-of-rules-to-create.md | 2 +- .../signing-policies-with-signtool.md | 20 ++++++------- .../types-of-devices.md | 29 +++++++++---------- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 61e00555ad..4e65311bc7 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -30,6 +30,7 @@ ### [Manage packaged apps with WDAC](manage-packaged-apps-with-windows-defender-application-control.md) ### [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md) ### [Use signed policies to protect Windows Defender Application Control against tampering](use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md) +#### [Signing WDAC policies with SignTool.exe](signing-policies-with-signtool.md) ### [Disable WDAC policies](disable-windows-defender-application-control-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md index e87314b83e..96fe9e6b21 100644 --- a/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md +++ b/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create.md @@ -20,7 +20,7 @@ Windows Defender Application Control (WDAC) provides control over a computer run ## Overview of the process of creating Windows Defender Application Control policies -A common system imaging practice in today’s IT organization is to establish a “golden” image as a reference for what an ideal system should look like, and then use that image to clone additional company assets. WDAC policies follow a similar methodology, that begins with the establishment of a golden computer. As with imaging, you can have multiple golden computers based on model, department, application set, and so on. Although the thought process around the creation of WDAC policies is similar to imaging, these policies should be maintained independently. Assess the necessity of additional WDAC policies based on what should be allowed to be installed and run and for whom. For more details on doing this assessment, see the [WDAC Design Guide](planning-and-getting-started-on-the-device-guard-deployment-process.md). +A common system imaging practice in today’s IT organization is to establish a “golden” image as a reference for what an ideal system should look like, and then use that image to clone additional company assets. WDAC policies follow a similar methodology, that begins with the establishment of a golden computer. As with imaging, you can have multiple golden computers based on model, department, application set, and so on. Although the thought process around the creation of WDAC policies is similar to imaging, these policies should be maintained independently. Assess the necessity of additional WDAC policies based on what should be allowed to be installed and run and for whom. For more details on doing this assessment, see the [WDAC Design Guide](windows-defender-application-control-design-guide.md). > **Note**  Each computer can have only **one** WDAC policy at a time. Whichever way you deploy this policy, it is renamed to SIPolicy.p7b and copied to **C:\\Windows\\System32\\CodeIntegrity** and, for UEFI computers, **<EFI System Partition>\\Microsoft\\Boot**. Keep this in mind when you create your WDAC policies. diff --git a/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md index d48e775f11..eec16ba0ad 100644 --- a/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md +++ b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md @@ -20,22 +20,22 @@ Signed WDAC policies give organizations the highest level of malware protection In addition to their enforced policy rules, signed policies cannot be modified or deleted by a user or administrator on the computer. These policies are designed to prevent administrative tampering and kernel mode exploit access. With this in mind, it is much more difficult to remove signed WDAC policies. -Before you sign and deploy a signed WDAC policy, we recommend that you [audit the policy](#audit-windows-defender-application-control-policies) to discover any blocked applications that should be allowed to run. +Before you sign and deploy a signed WDAC policy, we recommend that you [audit the policy](audit-windows-defender-application-control-policies.md) to discover any blocked applications that should be allowed to run. Signing WDAC policies by using an on-premises CA-generated certificate or a purchased code signing certificate is straightforward. -If you do not currently have a code signing certificate exported in .pfx format (containing private keys, extensions, and root certificates), see [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) to create one with your on-premises CA. +If you do not currently have a code signing certificate exported in .pfx format (containing private keys, extensions, and root certificates), see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md) to create one with your on-premises CA. -Before signing WDAC policies for the first time, be sure to enable rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) to leave troubleshooting options available to administrators. To ensure that a rule option is enabled, you can run a command such as `Set-RuleOption -FilePath -Option 9` even if you're not sure whether the option is already enabled—if so, the command has no effect. When validated and ready for enterprise deployment, you can remove these options. For more information about rule options, see [Windows Defender Application Control policy rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md#windows-defender-application-control-policy-rules) in "Deploy Windows Defender Application Control: policy rules and file rules." +Before signing WDAC policies for the first time, be sure to enable rule options 9 (“Advanced Boot Options Menu”) and 10 (“Boot Audit on Failure”) to leave troubleshooting options available to administrators. To ensure that a rule option is enabled, you can run a command such as `Set-RuleOption -FilePath -Option 9` even if you're not sure whether the option is already enabled—if so, the command has no effect. When validated and ready for enterprise deployment, you can remove these options. For more information about rule options, see [Windows Defender Application Control policy rules](select-types-of-rules-to-create.md). To sign a WDAC policy with SignTool.exe, you need the following components: - SignTool.exe, found in the Windows SDK (Windows 7 or later) -- The binary format of the WDAC policy that you generated in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section or another WDAC policy that you have created +- The binary format of the WDAC policy that you generated in the [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md) section or another WDAC policy that you have created - An internal CA code signing certificate or a purchased code signing certificate -If you do not have a code signing certificate, see the [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) section for instructions on how to create one. If you use an alternate certificate or WDAC policy, be sure to update the following steps with the appropriate variables and certificate so that the commands will function properly. To sign the existing WDAC policy, copy each of the following commands into an elevated Windows PowerShell session: +If you do not have a code signing certificate, see the [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md) section for instructions on how to create one. If you use an alternate certificate or WDAC policy, be sure to update the following steps with the appropriate variables and certificate so that the commands will function properly. To sign the existing WDAC policy, copy each of the following commands into an elevated Windows PowerShell session: 1. Initialize the variables that will be used: @@ -46,7 +46,7 @@ If you do not have a code signing certificate, see the [Optional: Create a code ` $CIPolicyBin=$CIPolicyPath+"DeviceGuardPolicy.bin"` > [!Note] - > This example uses the WDAC policy that you created in the [Create a Windows Defender Application Control policy from a reference computer](#create-a-windows-defender-application-control-policy-from-a-reference-computer) section. If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. + > This example uses the WDAC policy that you created in [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md). If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. 2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). @@ -56,7 +56,7 @@ If you do not have a code signing certificate, see the [Optional: Create a code ` cd $env:USERPROFILE\Desktop ` -5. Use [Add-SignerRule](https://technet.microsoft.com/library/mt634479.aspx) to add an update signer certificate to the WDAC policy: +5. Use [Add-SignerRule](https://docs.microsoft.com/powershell/module/configci/add-signerrule) to add an update signer certificate to the WDAC policy: ` Add-SignerRule -FilePath $InitialCIPolicy -CertificatePath -Kernel -User –Update` @@ -64,11 +64,11 @@ If you do not have a code signing certificate, see the [Optional: Create a code > *<Path to exported .cer certificate>* should be the full path to the certificate that you exported in step 3. Also, adding update signers is crucial to being able to modify or disable this policy in the future. For more information about how to disable signed WDAC policies, see the [Disable signed Windows Defender Application Control policies within Windows](#disable-signed-windows-defender-application-control-policies-within-windows) section. -6. Use [Set-RuleOption](https://technet.microsoft.com/library/mt634483.aspx) to remove the unsigned policy rule option: +6. Use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption) to remove the unsigned policy rule option: ` Set-RuleOption -FilePath $InitialCIPolicy -Option 6 -Delete` -7. Use [ConvertFrom-CIPolicy](https://technet.microsoft.com/library/mt733073.aspx) to convert the policy to binary format: +7. Use [ConvertFrom-CIPolicy](https://docs.microsoft.com/powershell/module/configci/convertfrom-cipolicy) to convert the policy to binary format: ` ConvertFrom-CIPolicy $InitialCIPolicy $CIPolicyBin` @@ -79,5 +79,5 @@ If you do not have a code signing certificate, see the [Optional: Create a code > [!Note] > The *<Path to signtool.exe>* variable should be the full path to the SignTool.exe utility. **ContosoDGSigningCert** is the subject name of the certificate that will be used to sign the WDAC policy. You should import this certificate to your personal certificate store on the computer you use to sign the policy. -9. Validate the signed file. When complete, the commands should output a signed policy file called DeviceGuardPolicy.bin.p7 to your desktop. You can deploy this file the same way you deploy an enforced or non-enforced policy. For information about how to deploy WDAC policies, see [Deploy and manage Windows Defender Application Control with Group Policy](#deploy-and-manage-windows-defender-application-control-with-group-policy). +9. Validate the signed file. When complete, the commands should output a signed policy file called DeviceGuardPolicy.bin.p7 to your desktop. You can deploy this file the same way you deploy an enforced or non-enforced policy. For information about how to deploy WDAC policies, see [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md index 6daf806b7e..c2a024ee69 100644 --- a/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md +++ b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md @@ -1,6 +1,6 @@ --- title: types of devices (Windows 10) -description: TTypically, deployment of Windows Defender Device Guard happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. +description: Typically, deployment of Windows Defender Application Control happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. keywords: virtualization, security, malware ms.prod: w10 ms.mktglfcycl: deploy @@ -15,39 +15,36 @@ ms.date: 03/01/2018 - Windows 10 - Windows Server 2016 -Typically, deployment of Windows Defender Device Guard happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. The following table can help you begin to develop a plan for deploying Windows Defender Device Guard in your organization. +Typically, deployment of Windows Defender Application Control (WDAC) happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. The following table can help you begin to develop a plan for deploying WDAC in your organization. -| **Type of device** | **How Windows Defender Device Guard relates to this type of device** | **Windows Defender Device Guard components that you can use to protect this kind of device** | +| **Type of device** | **How WDAC relates to this type of device** | **WDAC components that you can use to protect this kind of device** | |------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------| -| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | Windows Defender Device Guard can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After Windows Defender Device Guard deployment, only approved applications can run. This is because of protections offered by WDAC. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | +| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | WDAC can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After WDAC deployment, only approved applications can run. This is because of protections offered by WDAC. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | | **Fully managed devices**: Allowed software is restricted by IT department.
Users can request additional software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline WDAC policy can be established and enforced. Whenever the IT department approves additional applications, it will update the WDAC policy and (for unsigned LOB applications) the catalog.
WDAC policies are supported by the HVCI service. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | -| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | Windows Defender Device Guard can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | - VBS (hardware-based) protections, enabled. When enabled with a WDAC policy in audit mode only, VBS means the hypervisor helps enforce the default kernel-mode code integrity policy, which protects against unsigned drivers or system files.

• WDAC, with UMCI enabled, but running in audit mode only. This means applications are not blocked—the policy just logs an event whenever an application outside the policy is started. | -| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | Windows Defender Device Guard does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | N/A | +| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | WDAC can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | - VBS (hardware-based) protections, enabled. When enabled with a WDAC policy in audit mode only, VBS means the hypervisor helps enforce the default kernel-mode code integrity policy, which protects against unsigned drivers or system files.

• WDAC, with UMCI enabled, but running in audit mode only. This means applications are not blocked—the policy just logs an event whenever an application outside the policy is started. | +| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | WDAC does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | N/A | -## Windows Defender Device Guard deployment in virtual machines +## WDAC deployment in virtual machines -Windows Defender Device Guard can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable Windows Defender Device Guard are the same from within the virtual machine. +WDAC can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable WDAC are the same from within the virtual machine. -Windows Defender Device Guard protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable Windows Defender Device Guard for a virtual machine: +WDAC protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable WDAC for a virtual machine: ```powershell Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true ``` -### Requirements for running Windows Defender Device Guard in Hyper-V virtual machines +### Requirements for running WDAC in Hyper-V virtual machines - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - - Windows Defender Device Guard and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. + - WDAC and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. - Virtual Fibre Channel adapters are not compatible with Windows Defender Device Guard. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using Set-VMSecurity. - The AllowFullSCSICommandSet option for pass-through disks is not compatible with Windows Defender Device Guard. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using Set-VMSecurity. - - - ## Related topics -- [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md) -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) +- [Windows Defender Application Control Design Guide](windows-defender-application-control-design-guide.md) +- [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) From a3ccf5446ba38dc5340c899476860f4a32a32250 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 14:04:46 -0800 Subject: [PATCH 041/212] removed extra heading --- .../audit-windows-defender-application-control-policies.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md index 2203e338e3..c7ccf71667 100644 --- a/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/audit-windows-defender-application-control-policies.md @@ -18,8 +18,6 @@ ms.date: 02/27/2018 - Windows 10 - Windows Server 2016 -# Audit Windows Defender Application Control policies - When WDAC policies are run in audit mode, it allows administrators to discover any applications that were missed during an initial policy scan and to identify any new applications that have been installed and run since the original policy was created. While a WDAC policy is running in audit mode, any binary that runs and would have been denied had the policy been enforced is logged in the **Applications and Services Logs\\Microsoft\\Windows\\CodeIntegrity\\Operational** event log. When these logged binaries have been validated, they can easily be added to a new WDAC policy. When the new exception policy is created, you can merge it with your existing WDAC policies. Before you begin this process, you need to create a WDAC policy binary file. If you have not already done so, see [Create an initial Windows Defender Application Control policy from a reference computer](#create-initial-default-policy). From 672b2f366af61204ae99c2ed2c0bc82519e9c496 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 14:40:31 -0800 Subject: [PATCH 042/212] added applocker topics --- .../administer-applocker-using-mdm.md | 19 ++++ .../applocker/edit-an-applocker-policy.md | 6 +- .../applocker/maintain-applocker-policies.md | 15 ++- ...or-windows-defender-application-control.md | 91 ++++++++++++++++++- ...th-windows-defender-application-control.md | 33 ++++++- ...l-specific-plug-ins-add-ins-and-modules.md | 2 - 6 files changed, 156 insertions(+), 10 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker-using-mdm.md diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker-using-mdm.md b/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker-using-mdm.md new file mode 100644 index 0000000000..ac9277f3b2 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker-using-mdm.md @@ -0,0 +1,19 @@ +--- +title: Administering AppLocker by using Mobile Device Management (MDM) (Windows 10) +description: This topic for IT professionals describes concepts and lists procedures to help you manage Packaged apps with AppLocker as part of your overall application control strategy. +ms.assetid: 6d0c99e7-0284-4547-a30a-0685a9916650 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +author: brianlic-msft +ms.date: 03/01/2018 +--- + +# Administering AppLocker by using Mobile Device Management (MDM) + +**Applies to** + - Windows 10 + - Windows Server + + diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md b/windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md index a09df7e857..01886f6af8 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/edit-an-applocker-policy.md @@ -20,11 +20,15 @@ This topic for IT professionals describes the steps required to modify an AppLoc You can edit an AppLocker policy by adding, changing, or removing rules. However, you cannot create a new version of the policy by importing additional rules. To modify an AppLocker policy that is in production, you should use Group Policy management software that allows you to version Group Policy Objects (GPOs). If you have created multiple AppLocker policies and need to merge them to create one AppLocker policy, you can either manually merge the policies or use the Windows PowerShell cmdlets for AppLocker. You cannot automatically merge policies by using the AppLocker snap-in. You must create one rule collection from two or more policies. The AppLocker policy is saved in XML format, and the exported policy can be edited with any text or XML editor. For info about merging policies, see [Merge AppLocker policies manually](merge-applocker-policies-manually.md) or [Merge AppLocker policies by using Set-ApplockerPolicy](merge-applocker-policies-by-using-set-applockerpolicy.md). -There are two methods you can use to edit an AppLocker policy: +There are three methods you can use to edit an AppLocker policy: +- [Editing an AppLocker policy by using Mobile Device Management (MDM)](#bkmk-editapppolinmdm) - [Editing an AppLocker policy by using Group Policy](#bkmk-editapppolingpo) - [Editing an AppLocker policy by using the Local Security Policy snap-in](#bkmk-editapplolnotingpo) +##
Editing an AppLocker policy by using Mobile Device Management (MDM) + + ## Editing an AppLocker policy by using Group Policy The steps to edit an AppLocker policy distributed by Group Policy include the following: diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md index 7142e3a68e..7a8937b222 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/maintain-applocker-policies.md @@ -27,21 +27,26 @@ Common AppLocker maintenance scenarios include: - An app appears to be allowed but should be blocked. - A single user or small subset of users needs to use a specific app that is blocked. -There are two methods you can use to maintain AppLocker policies: +There are three methods you can use to maintain AppLocker policies: +- [Maintaining AppLocker policies by using Mobile Device Management (MDM)](#bkmk-applkr-use-mdm) - [Maintaining AppLocker policies by using Group Policy](#bkmk-applkr-use-gp) - [Maintaining AppLocker policies on the local computer](#bkmk-applkr-use-locsnapin) +## Maintaining AppLocker policies by using Mobile Device Management (MDM) + + + +## Maintaining AppLocker policies by using Group Policy + +For every scenario, the steps to maintain an AppLocker policy distributed by Group Policy include the following tasks. + As new apps are deployed or existing apps are removed by your organization or updated by the software publisher, you might need to make revisions to your rules and update the Group Policy Object (GPO) to ensure that your policy is current. You can edit an AppLocker policy by adding, changing, or removing rules. However, you cannot specify a version for the AppLocker policy by importing additional rules. To ensure version control when modifying an AppLocker policy, use Group Policy management software that allows you to create versions of GPOs. >**Caution:**  You should not edit an AppLocker rule collection while it is being enforced in Group Policy. Because AppLocker controls what files are allowed to run, making changes to a live policy can create unexpected behavior. -  -## Maintaining AppLocker policies by using Group Policy - -For every scenario, the steps to maintain an AppLocker policy distributed by Group Policy include the following tasks. ### Step 1: Understand the current behavior of the policy diff --git a/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md index 17ecc59ac3..7303a1371c 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md @@ -15,4 +15,93 @@ ms.date: 02/28/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +As you deploy Windows Defender Application Control (WDAC) (also part of Windows Defender Device Guard), you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate or an internal CA. If you have purchased a code signing certificate, you can skip this topic and instead follow other topics listed in the [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md). + +If you have an internal CA, complete these steps to create a code signing certificate. +Only RSA algorithm is supported for the code signing certificate, and signatures must be PKCS 1.5 padded. +ECDSA is not supported. + +1. Open the Certification Authority Microsoft Management Console (MMC) snap-in, and then select your issuing CA. + +2. When connected, right-click **Certificate Templates**, and then click **Manage** to open the Certification Templates Console. + + ![CA snap-in showing Certificate Templates](images/dg-fig27-managecerttemp.png) + + Figure 1. Manage the certificate templates + +3. In the navigation pane, right-click the Code Signing certificate, and then click **Duplicate Template**. + +4. On the **Compatibility** tab, clear the **Show resulting changes** check box. Select **Windows Server 2012** from the **Certification Authority** list, and then select **Windows 8 / Windows Server 2012** from the **Certificate recipient** list. + +5. On the **General** tab, specify the **Template display name** and **Template name**. This example uses the name **WDAC Catalog Signing Certificate**. + +6. On the **Request Handling** tab, select the **Allow private key to be exported** check box. + +7. On the **Extensions** tab, select the **Basic Constraints** check box, and then click **Edit**. + +8. In the **Edit Basic Constraints Extension** dialog box, select **Enable this extension**, as shown in Figure 2. + + ![Edit Basic Constraints Extension](images/dg-fig29-enableconstraints.png) + + Figure 2. Select constraints on the new template + +9. If a certificate manager is required to approve any issued certificates, on the **Issuance Requirements** tab, select **CA certificate manager approval**. + +10. On the **Subject Name** tab, select **Supply in the request**. + +11. On the **Security** tab, verify that whatever account will be used to request the certificate has the right to enroll the certificate. + +12. Click **OK** to create the template, and then close the Certificate Template Console. + +When this certificate template has been created, you must publish it to the CA published template store. To do so, complete the following steps: + +1. In the Certification Authority MMC snap-in, right-click **Certification Templates**, point to **New**, and then click **Certificate Template to Issue**, as shown in Figure 3. + + ![Select Certificate Template to Issue](images/dg-fig30-selectnewcert.png) + + Figure 3. Select the new certificate template to issue + + A list of available templates to issue appears, including the template you just created. + +2. Select the WDAC Catalog signing certificate, and then click **OK**. + +Now that the template is available to be issued, you must request one from the computer running Windows 10 on which you create and sign catalog files. To begin, open the MMC, and then complete the following steps: + +1. In MMC, from the **File** menu, click **Add/Remove Snap-in**. Double-click **Certificates**, and then select **My user account**. + +2. In the Certificates snap-in, right-click the Personal store folder, point to **All Tasks**, and then click **Request New Certificate**. + +3. Click **Next** twice to get to the certificate selection list. + +4. In the **Request Certificate** list, select your newly created code signing certificate, and then select the blue text that requests additional information, as shown in Figure 4. + + ![Request Certificates: more information required](images/dg-fig31-getmoreinfo.png) + + Figure 4. Get more information for your code signing certificate + +5. In the **Certificate Properties** dialog box, for **Type**, select **Common name**. For **Value**, select **ContosoDGSigningCert**, and then click **Add**. When added, click **OK.** + +6. Enroll and finish. + +> **Note**  If a certificate manager is required to approve any issued certificates and you selected to require management approval on the template, the request will need to be approved in the CA before it will be issued to the client. + +This certificate must be installed in the user’s personal store on the computer that will be signing the catalog files and code integrity policies. If the signing is going to be taking place on the computer on which you just requested the certificate, exporting the certificate to a .pfx file will not be required because it already exists in your personal store. If you are signing on another computer, you will need to export the .pfx certificate with the necessary keys and properties. To do so, complete the following steps: + +1. Right-click the certificate, point to **All Tasks**, and then click **Export**. + +2. Click **Next**, and then select **Yes, export the private key**. + +3. Choose the default settings, and then select **Export all extended properties**. + +4. Set a password, select an export path, and then select **WDACCatSigningCert.pfx** as the file name. + +When the certificate has been exported, import it into the personal store for the user who will be signing the catalog files or code integrity policies on the specific computer that will be signing them. + +## Related topics + +- [Windows Defender Application Control](windows-defender-application-control.md) + +- [Windows Defender Application Control Deployment Guide](windows-defender-application-control-deployment-guide.md) + diff --git a/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md index 413d4e1dff..4437fc78ee 100644 --- a/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md +++ b/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control.md @@ -16,4 +16,35 @@ ms.date: 02/27/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +This topic for IT professionals describes concepts and lists procedures to help you manage Packaged apps with Windows Defender Application Control (WDAC) as part of your overall application control strategy. + +## Understanding Packaged apps and Packaged app installers + +Packaged apps, also known as Universal Windows apps, are based on a model that ensures all the files within an app package share the same identity. With classic Windows apps, each file within the app could have a unique identity. +With packaged apps, it is possible to control the entire app by using a single WDAC rule. +  +Typically, an app consists of multiple components: the installer that is used to install the app, and one or more exes, dlls, or scripts. With classic Windows apps, these components don't always share common attributes such as the software’s publisher name, product name, and product version. Therefore, WDAC controls each of these components separately through different rule collections, such as exe, dll, script, and Windows Installer rules. In contrast, all the components of a packaged app share the same publisher name, package name, and package version attributes. Therefore, you can control an entire app with a single rule. + +### Comparing classic Windows apps and packaged apps + +WDAC policies for packaged apps can only be applied to apps installed on computers running at least Windows Server 2012 or Windows 8, but classic Windows apps can be controlled on devices running at least Windows Server +2008 R2 or Windows 7. The rules for classic Windows apps and packaged apps can be enforced in tandem. The differences between packaged apps and classic Windows apps that you should consider include: + +- **Installing the apps**   All packaged apps can be installed by a standard user, whereas a number of classic Windows apps require administrative privileges to install. In an environment where most of the users are standard users, you might not have numerous exe rules (because classic Windows apps require administrative privileges to install), but you might want to have more explicit policies for packaged apps. +- **Changing the system state**   Classic Windows apps can be written to change the system state if they are run with administrative privileges. Most packaged apps cannot change the system state because they run with limited privileges. When you design your WDAC policies, it is important to understand whether an app that you are allowing can make system-wide changes. +- **Acquiring the apps**   Packaged apps can be acquired through the Store, or by loading using Windows PowerShell cmdlets (which requires a special enterprise license). Classic Windows apps can be acquired through traditional means. + +WDAC uses different rule collections to control packaged apps and classic Windows apps. You have the choice to control one type, the other type, or both. + +## Using WDAC to manage packaged apps + +Just as there are differences in managing each rule collection, you need to manage the packaged apps with the following strategy: + +1. Gather information about which Packaged apps are running in your environment. + +2. Create WDAC rules for specific packaged apps based on your policy strategies. For more information, see [Deploy WDAC policy rules and file rules](select-types-of-rules-to-create.md). + +3. Continue to update the WDAC policies as new package apps are introduced into your environment. To do this, see [Merge WDAC policies](merge-windows-defender-application-control-policies.md). + diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md index 765dc595f0..7ca42368db 100644 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md +++ b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules.md @@ -18,8 +18,6 @@ ms.date: 02/27/2018 - Windows 10 - Windows Server 2016 -# Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules - As of Windows 10, version 1703, you can use WDAC policies not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser): | Approach (as of Windows 10, version 1703) | Guideline | From 1445968cd079475b53b4393fd32e49834b048f9a Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 1 Mar 2018 15:31:49 -0800 Subject: [PATCH 043/212] added applocker toc --- .../windows-defender-application-control/applocker/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md index 134ea401c4..83ba5ea713 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md @@ -2,6 +2,7 @@ # [AppLocker](applocker-overview.md) ## [Administer AppLocker](administer-applocker.md) +### [Administer AppLocker using MDM](administaer-applocker-using-mdm.md) ### [Maintain AppLocker policies](maintain-applocker-policies.md) ### [Edit an AppLocker policy](edit-an-applocker-policy.md) ### [Test and update an AppLocker policy](test-and-update-an-applocker-policy.md) From 64926d08792776abdd1b067909d4309f3bb3ecef Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 2 Mar 2018 10:16:39 -0800 Subject: [PATCH 044/212] added policy topic --- .../applocker/TOC.md | 2 +- ...defender-application-control-management.md | 70 +++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md index 83ba5ea713..182b182d1b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md @@ -2,7 +2,7 @@ # [AppLocker](applocker-overview.md) ## [Administer AppLocker](administer-applocker.md) -### [Administer AppLocker using MDM](administaer-applocker-using-mdm.md) +### [Administer AppLocker using MDM](administer-applocker-using-mdm.md) ### [Maintain AppLocker policies](maintain-applocker-policies.md) ### [Edit an AppLocker policy](edit-an-applocker-policy.md) ### [Test and update an AppLocker policy](test-and-update-an-applocker-policy.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md b/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md index c4d9306106..239ebf291c 100644 --- a/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md +++ b/windows/security/threat-protection/windows-defender-application-control/plan-windows-defender-application-control-management.md @@ -16,3 +16,73 @@ ms.date: 02/21/2018 - Windows 10 - Windows Server 2016 +This topic for describes the decisions you need to make to establish the processes for managing and maintaining Windows Defender Application Control (WDAC) policies. + +## Policy management + +Before you begin the deployment process, consider how the WDAC rules will be managed. Developing a process for managing WDAC rules helps assure that WDAC continues to effectively control how applications are allowed to run in your organization. + +### Application and user support policy + +Considerations include: + +- What type of end-user support is provided for blocked applications? +- How are new rules added to the policy? +- How are existing rules updated? +- Are events forwarded for review? + +**Help desk support** + +If your organization has an established help desk support department in place, consider the following when deploying WDAC policies: + +- What documentation does your support department require for new policy deployments? +- What are the critical processes in each business group both in work flow and timing that will be affected by application control policies and how could they affect your support department's workload? +- Who are the contacts in the support department? +- How will the support department resolve application control issues between the end user and those who maintain the WDAC rules? + +**End-user support** + +Because WDAC is preventing unapproved apps from running, it is important that your organization carefully plan how to provide end-user support. Considerations include: + +- Do you want to use an intranet site as a first line of support for users who have tried to run a blocked app? +- How do you want to support exceptions to the policy? Will you allow users to run a script to temporarily allow access to a blocked app? + +**WDAC event management** + +Each time that a process requests permission to run, WDAC creates an event in the CodeIntegrity log. The event details which file tried to run, the attributes of that file, and the user that initiated the request. + +Collecting these events in a central location can help you maintain your WDAC policy and troubleshoot rule configuration problems. Event collection technologies such as those available in Windows allow administrators to subscribe to specific event channels and have the events from source computers aggregated into a forwarded event log on a Windows Server operating system collector. For more info about setting up an event subscription, see [Configure Computers to Collect and Forward Events](https://go.microsoft.com/fwlink/p/?LinkId=145012). + +### Policy maintenance + +As new apps are deployed or existing apps are updated by the software publisher, you will need to make revisions to your rule collections to ensure that the policy is current. + +To ensure version control when modifying an WDAC policy, use Group Policy management software that allows you to create versions of Group Policy Objects (GPOs). An example of this type of software is the Advanced Group Policy Management feature from the Microsoft Desktop Optimization Pack. For more info about Advanced Group Policy Management, see [Advanced Group Policy Management Overview](https://go.microsoft.com/fwlink/p/?LinkId=145013) (https://go.microsoft.com/fwlink/p/?LinkId=145013). +  +**New version of a supported app** + +When a new version of an app is deployed in the organization, you need to determine whether to continue to support the previous version of that app. To add the new version, you might only need to create a new rule for each file that is associated with the app. If you are using publisher conditions and the version is not specified, then the existing rule or rules might be sufficient to allow the updated file to run. You must ensure, however, that the updated app has not altered the file names or added files to support new functionality. If so, then you must modify the existing rules or create new rules. To continue to reuse a publisher-based rule without a specific file version, you must also ensure that the file's digital signature is still identical to the previous version—the publisher, product name, and file name (if configured in your rule) must all match for the rule to be correctly applied. + +To determine whether a file has been modified during an app update, review the publisher's release details provided with the update package. You can also review the publisher's web page to retrieve this information. Each file can also be inspected to determine the version. + +For files that are allowed or denied with file hash conditions, you must retrieve the new file hash. To add support for a new version and maintain support for the older version, you can either create a new file hash rule for the new version or edit the existing rule and add the new file hash to the list of conditions. + +For files with path conditions, you should verify that the installation path has not changed from what is stated in the rule. If the path has changed, you need to update the rule before installing the new version of the app + +**Recently deployed app** + +To support a new app, you must add one or more rules to the existing WDAC policy. + +**App is no longer supported** + +If your organization has determined that it will no longer support an application that has WDAC rules associated with it, the easiest way to prevent users from running the app is to delete these rules. + +## Next steps + +After deciding how your organization will manage your WDAC policy, record your findings. + +- **End-user support policy.** Document the process that you will use for handling calls from users who have attempted to run a blocked app, and ensure that support personnel have clear escalation steps so that the administrator can update the WDAC policy, if necessary. +- **Event processing.** Document whether events will be collected in a central location called a store, how that store will be archived, and whether the events will be processed for analysis. +- **Policy maintenance.** Detail how rules will be added to the policy and in which GPO the rules are defined. + +For information and steps how to document your processes, see [Document your application control management processes](document-your-windows-defender-application-control-management-processes.md). From a8d6c930a1d2d22f6cf5a0e124a3836e21c4cea4 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 5 Mar 2018 11:13:35 -0800 Subject: [PATCH 045/212] fixed links --- .../applocker/administer-applocker.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md index 4898c621a2..e6c1d39bd4 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/administer-applocker.md @@ -32,6 +32,7 @@ AppLocker helps administrators control how users can access and use files, such | Topic | Description | | - | - | +| [Administer AppLocker using Mobile Device Management (MDM)](administer-applocker-using-mdm.md) | This topic describes how to used MDM to manage AppLocker policies. | | [Maintain AppLocker policies](maintain-applocker-policies.md) | This topic describes how to maintain rules within AppLocker policies. | | [Edit an AppLocker policy](edit-an-applocker-policy.md) | This topic for IT professionals describes the steps required to modify an AppLocker policy. | | [Test and update an AppLocker policy](test-and-update-an-applocker-policy.md) | This topic discusses the steps required to test an AppLocker policy prior to deployment. | From 30fca0e991f5e67363ab394843d3b733892b2619 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 12 Mar 2018 10:34:17 -0700 Subject: [PATCH 046/212] revised toc --- .../windows-defender-application-control/TOC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 4e65311bc7..839dc4cae0 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -13,13 +13,13 @@ ### [Types of devices](types-of-devices.md) ### [Use WDAC with the Microsoft Intelligent Security Graph](use-windows-defender-application-control-with-intelligent-security-graph.md) ### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) -### [Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) +###[Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) #### [Create an initial default policy](create-initial-default-policy.md) #### [Microsoft recommended block rules](microsoft-recommended-block-rules.md) ### [Audit WDAC policies](audit-windows-defender-application-control-policies.md) ### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) ### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) -### [Deploy WDAC policies](deploy-windows-defender-application-control-policies.md) +###[Deploy WDAC policies](deploy-windows-defender-application-control-policies.md) #### [Use Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) #### [Use SCCM](deploy-windows-defender-application-control-policies-using-sccm.md) #### [Use Intune](deploy-windows-defender-application-control-policies-using-intune.md) From 0950502f98e489589a8a8d19b91454f7f4e23524 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 12 Mar 2018 11:39:22 -0700 Subject: [PATCH 047/212] removed blank pages in toc --- .../TOC.md | 4 +- ...s-defender-application-control-policies.md | 44 ------------------- ...pplication-control-with-custom policies.md | 19 -------- 3 files changed, 2 insertions(+), 65 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md delete mode 100644 windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 839dc4cae0..e4a27f7b01 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -13,13 +13,13 @@ ### [Types of devices](types-of-devices.md) ### [Use WDAC with the Microsoft Intelligent Security Graph](use-windows-defender-application-control-with-intelligent-security-graph.md) ### [Use WDAC with a managed installer](use-windows-defender-application-control-with-managed-installer.md) -###[Use WDAC with custom policies](use-windows-defender-application-control-with-custom policies.md) +###Use WDAC with custom policies #### [Create an initial default policy](create-initial-default-policy.md) #### [Microsoft recommended block rules](microsoft-recommended-block-rules.md) ### [Audit WDAC policies](audit-windows-defender-application-control-policies.md) ### [Merge WDAC policies](merge-windows-defender-application-control-policies.md) ### [Enforce WDAC policies](enforce-windows-defender-application-control-policies.md) -###[Deploy WDAC policies](deploy-windows-defender-application-control-policies.md) +###Deploy WDAC policies #### [Use Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) #### [Use SCCM](deploy-windows-defender-application-control-policies-using-sccm.md) #### [Use Intune](deploy-windows-defender-application-control-policies-using-intune.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md deleted file mode 100644 index b228f4b3c0..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Deploy Windows Defender Application Control (WDAC) Policies (Windows 10) -description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. -ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -author: jsuther1974 -ms.date: 02/28/2018 ---- - -# Deploy Windows Defender Application Control Policies - -**Applies to:** - -- Windows 10 -- Windows Server 2016 - -## Introduction - -You can deploy WDAC policies using Group Policy, System Center Configuration Manager (SCCM), or Microsoft Intune. - -## Deployment options - -# [Group Policy](#tab/GP) - -If you use Group Policy, follow these steps. - -# [SCCM](#tab/SCCM) - -If you use SCCM, follow these steps. - -# [Intune](#tab/Intune) - -If you use Microsoft Intune, follow these steps. - ---- - -## Another Heading - -placeholder text - - diff --git a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md b/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md deleted file mode 100644 index 78f7e8efd4..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-custom policies.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Use Windows Defender Application Control (WDAC) with custom policies (Windows 10) -description: Windows Defender Application Control restricts which applications users are allowed to run and the code that runs in the system core. -ms.assetid: 8d6e0474-c475-411b-b095-1c61adb2bdbb -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.localizationpriority: high -author: jsuther1974 -ms.date: 02/27/2018 ---- - -# Use Windows Defender Application Control (WDAC) with custom policies - -**Applies to:** - -- Windows 10 -- Windows Server 2016 From d130e6c05171df73d916e409ad814f0e59c01e73 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 14 Mar 2018 11:50:25 -0700 Subject: [PATCH 048/212] added gp option to enable hvci --- .../images/enable-hvci-gp.png | Bin 0 -> 37444 bytes .../types-of-devices.md | 29 +++---------- ...tion-based-protection-of-code-integrity.md | 40 +++++++++++++++++- 3 files changed, 45 insertions(+), 24 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/enable-hvci-gp.png diff --git a/windows/security/threat-protection/windows-defender-application-control/images/enable-hvci-gp.png b/windows/security/threat-protection/windows-defender-application-control/images/enable-hvci-gp.png new file mode 100644 index 0000000000000000000000000000000000000000..59c071a50cdfd0dfae11350a45ce505fd719e09b GIT binary patch literal 37444 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
!&O%O9?-W8=m=Bj)9rDQ#GSAk~jj7q9N|T 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 KelF{r5}E+Dfn){% literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md index c2a024ee69..3f8d489fb7 100644 --- a/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md +++ b/windows/security/threat-protection/windows-defender-application-control/types-of-devices.md @@ -17,30 +17,13 @@ ms.date: 03/01/2018 Typically, deployment of Windows Defender Application Control (WDAC) happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. The following table can help you begin to develop a plan for deploying WDAC in your organization. -| **Type of device** | **How WDAC relates to this type of device** | **WDAC components that you can use to protect this kind of device** | -|------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------| -| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | WDAC can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After WDAC deployment, only approved applications can run. This is because of protections offered by WDAC. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | -| **Fully managed devices**: Allowed software is restricted by IT department.
Users can request additional software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline WDAC policy can be established and enforced. Whenever the IT department approves additional applications, it will update the WDAC policy and (for unsigned LOB applications) the catalog.
WDAC policies are supported by the HVCI service. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | -| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | WDAC can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | - VBS (hardware-based) protections, enabled. When enabled with a WDAC policy in audit mode only, VBS means the hypervisor helps enforce the default kernel-mode code integrity policy, which protects against unsigned drivers or system files.

• WDAC, with UMCI enabled, but running in audit mode only. This means applications are not blocked—the policy just logs an event whenever an application outside the policy is started. | -| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | WDAC does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | N/A | +| **Type of device** | **How WDAC relates to this type of device** | +|------------------------------------|------------------------------------------------------| +| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | WDAC can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After WDAC deployment, only approved applications can run. This is because of protections offered by WDAC. | +| **Fully managed devices**: Allowed software is restricted by IT department.
Users can request additional software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline WDAC policy can be established and enforced. Whenever the IT department approves additional applications, it will update the WDAC policy and (for unsigned LOB applications) the catalog.
WDAC policies are supported by the HVCI service. | +| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | WDAC can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | +| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | WDAC does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | -## WDAC deployment in virtual machines - -WDAC can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable WDAC are the same from within the virtual machine. - -WDAC protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable WDAC for a virtual machine: - -```powershell -Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true -``` - - -### Requirements for running WDAC in Hyper-V virtual machines - - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. - - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - - WDAC and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. - - Virtual Fibre Channel adapters are not compatible with Windows Defender Device Guard. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using Set-VMSecurity. - - The AllowFullSCSICommandSet option for pass-through disks is not compatible with Windows Defender Device Guard. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using Set-VMSecurity. ## Related topics diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 158b2fede1..7840f034bc 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -23,7 +23,28 @@ Some applications, including device drivers, may be incompatible with HVCI. This can cause devices or software to malfunction and in rare cases may result in a Blue Screen. Such issues may occur after HVCI has been turned on or during the enablement process itself. If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. -## How to turn on virtualization-based protection of code integrity on the Windows 10 Fall Creators Update (version 1709) +## How to turn on HVCI in Windows 10 version 1803 + +Beginning with Windows 10, version 1803, HVCI can be enabled using any of these options: +- Windows Defender Security Center +- Windows Intune (or other MDM provider) +- System Center Configuration Manager +- Group Policy + +### Enable HVCI using Group Policy + +1. Use Group Policy Editor (gpedit.msc) to either edit an existing GPO or create a new one. +2. Navigate to **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard**. +3. Double-click **Turn on Virtualization Based Security**. +4. Click **Enabled** and under **Virtualization Based Protection of Code Integrity**, select **Enabled with UEFI lock** to ensure HVCI cannot be enabled remotely or select **Enabled without UEFI lock**. + + ![Enable HVCI using Group Policy](images\enable-hvci-gp.png) + +5. Click *Ok** to close the editor. + +To apply the new policy on a domain-joined computer, either restart or run `gpupdate \force` in an elevated command prompt. + +## How to turn on HVCI in Windows 10 Fall Creators Update (version 1709) These steps apply to Windows 10 S, Windows 10 Pro, Windows 10 Enterprise, and Windows 10 Education. @@ -70,3 +91,20 @@ C. If you experience a critical error during boot or your system is unstable aft 1. Rename or delete the SIPolicy.p7b file located at C:\Windows\System32\CodeIntegrity. 2. Restart the device. 3. To confirm HVCI has been successfully disabled, open System Information and check **Virtualization-based security Services Running**, which should now have no value displayed. + +## HVCI deployment in virtual machines + +HVCI can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable WDAC are the same from within the virtual machine. + +WDAC protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable WDAC for a virtual machine: + +```powershell +Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true +``` + +### Requirements for running HVCI in Hyper-V virtual machines + - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. + - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. + - HVCI and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. + - Virtual Fibre Channel adapters are not compatible with HVCI. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using `Set-VMSecurity`. + - The AllowFullSCSICommandSet option for pass-through disks is not compatible with HVCI. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using `Set-VMSecurity`. \ No newline at end of file From d1b15858515e13b8b1eab6ff9032d150ff55d7bf Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 14 Mar 2018 13:43:45 -0700 Subject: [PATCH 049/212] added gp option to enable hvci --- windows/security/threat-protection/TOC.md | 27 ----------------------- 1 file changed, 27 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 7bbc2ad155..b933b18be6 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -17,7 +17,6 @@ ## [Windows Defender Advanced Threat Protection](windows-defender-atp/windows-defender-advanced-threat-protection.md) ###Get started -<<<<<<< HEAD #### [Minimum requirements](windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md) #### [Validate licensing and complete setup](windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md) #### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) @@ -41,32 +40,6 @@ #### [Portal overview](windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md) #### [View the Security operations dashboard](windows-defender-atp/dashboard-windows-defender-advanced-threat-protection.md) #### [View the Security analytics dashboard](windows-defender-atp/security-analytics-dashboard-windows-defender-advanced-threat-protection.md) -======= -#### [Minimum requirements](windows-defender-atp\minimum-requirements-windows-defender-advanced-threat-protection.md) -#### [Validate licensing and complete setup](windows-defender-atp\licensing-windows-defender-advanced-threat-protection.md) -#### [Troubleshoot subscription and portal access issues](windows-defender-atp\troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### [Preview features](windows-defender-atp\preview-windows-defender-advanced-threat-protection.md) -#### [Data storage and privacy](windows-defender-atp\data-storage-privacy-windows-defender-advanced-threat-protection.md) -#### [Assign user access to the portal](windows-defender-atp\assign-portal-access-windows-defender-advanced-threat-protection.md) -### [Onboard endpoints and set up access](windows-defender-atp\onboard-configure-windows-defender-advanced-threat-protection.md) -#### [Configure client endpoints](windows-defender-atp\configure-endpoints-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using Group Policy](windows-defender-atp\configure-endpoints-gp-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using System Center Configuration Manager](windows-defender-atp\configure-endpoints-sccm-windows-defender-advanced-threat-protection.md) -##### [Configure endpoints using Mobile Device Management tools](windows-defender-atp\configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) -###### [Configure endpoints using Microsoft Intune](windows-defender-atp\configure-endpoints-mdm-windows-defender-advanced-threat-protection.md#configure-endpoints-using-microsoft-intune) -##### [Configure endpoints using a local script](windows-defender-atp\configure-endpoints-script-windows-defender-advanced-threat-protection.md) -##### [Configure non-persistent virtual desktop infrastructure (VDI) machines](windows-defender-atp\configure-endpoints-vdi-windows-defender-advanced-threat-protection.md) -#### [Configure server endpoints](windows-defender-atp\configure-server-endpoints-windows-defender-advanced-threat-protection.md) -#### [Configure non-Windows endpoints](windows-defender-atp\configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md) -#### [Run a detection test on a newly onboarded endpoint](windows-defender-atp\run-detection-test-windows-defender-advanced-threat-protection.md) -#### [Configure proxy and Internet connectivity settings](windows-defender-atp\configure-proxy-internet-windows-defender-advanced-threat-protection.md) -#### [Troubleshoot onboarding issues](windows-defender-atp\troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) -### [Understand the Windows Defender ATP portal](windows-defender-atp\use-windows-defender-advanced-threat-protection.md) -#### [Portal overview](windows-defender-atp\portal-overview-windows-defender-advanced-threat-protection.md) -#### [View the Security operations dashboard](windows-defender-atp\dashboard-windows-defender-advanced-threat-protection.md) -#### [View the Secure score dashboard](windows-defender-atp\security-analytics-dashboard-windows-defender-advanced-threat-protection.md) -#### [View the Threat analytics dashboard](windows-defender-atp\threat-analytics-windows-defender-advanced-threat-protection.md) ->>>>>>> 49fa7cb75f8464a1cc3cab0259181f7e031ff74b ###Investigate and remediate threats ####Alerts queue From 69ee11b010dc75639f719966eadd8d42a6b9dca2 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 14 Mar 2018 14:51:54 -0700 Subject: [PATCH 050/212] fixed toc --- windows/security/threat-protection/TOC.md | 5 ++++- ...le-virtualization-based-protection-of-code-integrity.md | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b933b18be6..8a6f290b7b 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -287,7 +287,10 @@ ### [Windows Defender Application Control design guide](windows-defender-application-control/windows-defender-application-control-design-guide.md) ### [Windows Defender Application Control deployment guide](windows-defender-application-control/windows-defender-application-control-deployment-guide.md) -#### [Deploy WDAC policies](windows-defender-application-control/deploy-windows-defender-application-control-policies.md) +####Deploy WDAC policies +##### [Use Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) +##### [Use SCCM](deploy-windows-defender-application-control-policies-using-sccm.md) +##### [Use Intune](deploy-windows-defender-application-control-policies-using-intune.md) ### [Windows Defender Application Control and AppLocker](windows-defender-application-control/windows-defender-application-control-and-applocker.md) ### [AppLocker](windows-defender-application-control/applocker/applocker-overview.md) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 7840f034bc..160c8f20a1 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -27,9 +27,10 @@ If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. Beginning with Windows 10, version 1803, HVCI can be enabled using any of these options: - Windows Defender Security Center -- Windows Intune (or other MDM provider) -- System Center Configuration Manager -- Group Policy +- [Group Policy](#enable-hvci-using-group-policy) +- Windows Intune (or another MDM provider) +- [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) + ### Enable HVCI using Group Policy From f28337748aff2e2e4ebce6573cd565ed39246254 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Mar 2018 10:38:17 -0700 Subject: [PATCH 051/212] added WDSC steps --- ...zation-based-protection-of-code-integrity.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 160c8f20a1..807f81aa66 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -25,15 +25,24 @@ If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. ## How to turn on HVCI in Windows 10 version 1803 -Beginning with Windows 10, version 1803, HVCI can be enabled using any of these options: -- Windows Defender Security Center +Beginning with Windows 10, version 1803, HVCI is enabled automatically on devices that support virtualization based security (VBS). HVCI can also be enabled using any of these options: +- [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center) - [Group Policy](#enable-hvci-using-group-policy) - Windows Intune (or another MDM provider) - [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) +### Enable HVCI using Windows Defender Security Center + +You can use Windows Defender Security Center to enable HVCI on a workgroup computer beginning with Windows 10, version 1803. + +1. Click **Start** > **Settings** > **Update & security** > **Windows Security** > **Open Windows Defender Security Center**. +2. In Windows Defender security center, click **Device Security** > **Core isolation** > **Memory integrity**. + ### Enable HVCI using Group Policy +You can use Group Policy to enable HVCI across an enterprise. + 1. Use Group Policy Editor (gpedit.msc) to either edit an existing GPO or create a new one. 2. Navigate to **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard**. 3. Double-click **Turn on Virtualization Based Security**. @@ -41,9 +50,9 @@ Beginning with Windows 10, version 1803, HVCI can be enabled using any of these ![Enable HVCI using Group Policy](images\enable-hvci-gp.png) -5. Click *Ok** to close the editor. +5. Click **Ok** to close the editor. -To apply the new policy on a domain-joined computer, either restart or run `gpupdate \force` in an elevated command prompt. +To apply the new policy on a domain-joined computer, either restart or run `gpupdate /force` in an elevated command prompt. ## How to turn on HVCI in Windows 10 Fall Creators Update (version 1709) From 297f70347c802a34ebb0511ee29928665854af6b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Mar 2018 11:14:33 -0700 Subject: [PATCH 052/212] fixed links --- windows/security/threat-protection/TOC.md | 6 +++--- .../images/enable-hvci-gp.png | Bin 2 files changed, 3 insertions(+), 3 deletions(-) rename windows/security/threat-protection/{windows-defender-application-control => windows-defender-exploit-guard}/images/enable-hvci-gp.png (100%) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 8a6f290b7b..64d8974a24 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -288,9 +288,9 @@ ### [Windows Defender Application Control deployment guide](windows-defender-application-control/windows-defender-application-control-deployment-guide.md) ####Deploy WDAC policies -##### [Use Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md) -##### [Use SCCM](deploy-windows-defender-application-control-policies-using-sccm.md) -##### [Use Intune](deploy-windows-defender-application-control-policies-using-intune.md) +##### [Use Group Policy](windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md) +##### [Use SCCM](windows-defender-application-control/deploy-windows-defender-application-control-policies-using-sccm.md) +##### [Use Intune](windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md) ### [Windows Defender Application Control and AppLocker](windows-defender-application-control/windows-defender-application-control-and-applocker.md) ### [AppLocker](windows-defender-application-control/applocker/applocker-overview.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/images/enable-hvci-gp.png b/windows/security/threat-protection/windows-defender-exploit-guard/images/enable-hvci-gp.png similarity index 100% rename from windows/security/threat-protection/windows-defender-application-control/images/enable-hvci-gp.png rename to windows/security/threat-protection/windows-defender-exploit-guard/images/enable-hvci-gp.png From 24bc3dd7592219adecc8f0ed17b98bbe10fdb049 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Mar 2018 12:17:40 -0700 Subject: [PATCH 053/212] fixed links --- ...-virtualization-based-protection-of-code-integrity.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 807f81aa66..026b2d59d9 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -25,8 +25,9 @@ If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. ## How to turn on HVCI in Windows 10 version 1803 -Beginning with Windows 10, version 1803, HVCI is enabled automatically on devices that support virtualization based security (VBS). HVCI can also be enabled using any of these options: -- [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center) +beginning with Windows 10, version 1803 you can use [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center) to enable HVCI on a workgroup computer. + +To enable HVCI on Windows 10 devices across an enterprise, use any of these options: - [Group Policy](#enable-hvci-using-group-policy) - Windows Intune (or another MDM provider) - [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) @@ -34,15 +35,13 @@ Beginning with Windows 10, version 1803, HVCI is enabled automatically on device ### Enable HVCI using Windows Defender Security Center -You can use Windows Defender Security Center to enable HVCI on a workgroup computer beginning with Windows 10, version 1803. + Windows Defender Security Center to enable HVCI . 1. Click **Start** > **Settings** > **Update & security** > **Windows Security** > **Open Windows Defender Security Center**. 2. In Windows Defender security center, click **Device Security** > **Core isolation** > **Memory integrity**. ### Enable HVCI using Group Policy -You can use Group Policy to enable HVCI across an enterprise. - 1. Use Group Policy Editor (gpedit.msc) to either edit an existing GPO or create a new one. 2. Navigate to **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard**. 3. Double-click **Turn on Virtualization Based Security**. From ece36be2568a1545fa938a66853d38a57d01aa37 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Mar 2018 13:45:23 -0700 Subject: [PATCH 054/212] revised intune steps --- ...irtualization-based-protection-of-code-integrity.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 026b2d59d9..cddedfc8f8 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -27,9 +27,9 @@ If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. beginning with Windows 10, version 1803 you can use [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center) to enable HVCI on a workgroup computer. -To enable HVCI on Windows 10 devices across an enterprise, use any of these options: +To enable HVCI on Windows 10 devices with supporting hardware throughout an enterprise, use any of these options: +- [Microsoft Intune (or another MDM provider)](#enable-hvci-using-intune) - [Group Policy](#enable-hvci-using-group-policy) -- Windows Intune (or another MDM provider) - [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) @@ -38,7 +38,11 @@ To enable HVCI on Windows 10 devices across an enterprise, use any of these opti Windows Defender Security Center to enable HVCI . 1. Click **Start** > **Settings** > **Update & security** > **Windows Security** > **Open Windows Defender Security Center**. -2. In Windows Defender security center, click **Device Security** > **Core isolation** > **Memory integrity**. +2. In Windows Defender Security Center, click **Device Security** > **Core isolation** > **Memory integrity**. + +### Enable HVCI using Intune + +Enabling in Intune requires using the Code Integrity node in the [AppLocker CSP](https://docs.microsoft.com/windows/client-management/mdm/applocker-csp). ### Enable HVCI using Group Policy From 735dd21eb9d069c74f1229d0d2dc0823bbebac5b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 15 Mar 2018 14:37:02 -0700 Subject: [PATCH 055/212] added steps --- ...able-virtualization-based-protection-of-code-integrity.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index cddedfc8f8..7b32dbf0d8 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -25,18 +25,15 @@ If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. ## How to turn on HVCI in Windows 10 version 1803 -beginning with Windows 10, version 1803 you can use [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center) to enable HVCI on a workgroup computer. +Beginning with Windows 10 version 1803, you can enable HVCI on a single workgroup computer by using [Windows Defender Security Center](#enable-hvci-using-windows-defender-security-center). To enable HVCI on Windows 10 devices with supporting hardware throughout an enterprise, use any of these options: - [Microsoft Intune (or another MDM provider)](#enable-hvci-using-intune) - [Group Policy](#enable-hvci-using-group-policy) - [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) - ### Enable HVCI using Windows Defender Security Center - Windows Defender Security Center to enable HVCI . - 1. Click **Start** > **Settings** > **Update & security** > **Windows Security** > **Open Windows Defender Security Center**. 2. In Windows Defender Security Center, click **Device Security** > **Core isolation** > **Memory integrity**. From f6553f05f51f4a0bafe7c1d5cadcf1227cf93692 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 19 Mar 2018 17:23:45 -0700 Subject: [PATCH 056/212] added feedback --- ...nder-application-control-policy-design-decisions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md index e4043d220a..677618dab7 100644 --- a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md +++ b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md @@ -38,20 +38,20 @@ You might need to control a limited number of apps because they access sensitive | Possible answers | Design considerations| | - | - | -| Control all apps | WDAC policies control applications by creating an allowed list of applications by file type. Exceptions are also possible. WDAC policies can only be applied to applications installed on computers running Windows 10 . | +| Control all apps | WDAC policies control applications by creating an allowed list of applications. Exceptions are also possible. WDAC policies can only be applied to applications installed on computers running Windows 10 . | | Control specific apps | When you create WDAC rules, a list of allowed apps are created. All apps on that list will be allowed to run (except those on the exception list). Apps that are not on the list will be prevented from running. WDAC policies can only be applied to apps installed on computers running Windows 10 or Windows Server 2016. | -|Control only Classic Windows applications, only Universal Windows apps, or both| WDAC policies control apps by creating an allowed list of apps by file type. Because Universal Windows apps are categorized under the Publisher condition, Classic Windows applications and Universal Windows apps can be controlled together. WDAC policies for Universal Windows apps can be applied only to apps that are installed on PCs that support the Microsoft Store, but Classic Windows applications can be controlled with WDAC on Windows. The rules you currently have configured for Classic Windows applications can remain, and you can create new ones for Universal Windows apps.| -| Control apps by business group and user | WDAC policies can be applied through a Group Policy Object (GPO) to computer objects within an organizational unit (OU). Individual WDAC rules can be applied to individual users or to groups of users.| +|Control only Classic Windows applications, only Universal Windows apps, or both| WDAC policies control apps by creating an allowed list of apps based on code signing certificate and\or file hash information. Because Universal Windows apps are all signed by the Windows Store, Classic Windows applications and Universal Windows apps can be controlled together. WDAC policies for Universal Windows apps can be applied only to apps that are installed on PCs that support the Microsoft Store, but Classic Windows applications can be controlled with WDAC on Windows. The rules you currently have configured for Classic Windows applications can remain, and you can create new ones for Universal Windows apps.| +| Control apps by business group | WDAC policies can be applied through a Group Policy Object (GPO) to computer objects within an organizational unit (OU). | | Control apps by computer, not user | WDAC is a computer-based policy implementation. If your domain or site organizational structure is not based on a logical user structure, such as an OU, you might want to set up that structure before you begin your WDAC planning. Otherwise, you will have to identify users, their computers, and their app access requirements.| |Understand app usage, but there is no need to control any apps yet | WDAC policies can be set to audit app usage to help you track which apps are used in your organization. You can then use teh CodeIntegrity log in Event Viewer to create WDAC policies.| ### How do you currently control app usage in your organization? -Most organizations have evolved app control policies and methods over time. With heightened security concerns and an emphasis on tighter IT control over desktop use, your organization might decide to consolidate app control practices or design a comprehensive application control scheme. WDAC includes improvements over SRP in the architecture and management of application control policies. +Most organizations have evolved app control policies and methods over time. With heightened security concerns and an emphasis on tighter IT control over desktop use, your organization might decide to consolidate app control practices or design a comprehensive application control scheme. WDAC includes improvements over AppLocker and SRP in the architecture and management of application control policies. | Possible answers | Design considerations | | - | - | -| Security polices (locally set or through Group Policy) | Using WDAC requires increased effort in planning to create correct policies, but this results in a simpler distribution method.| +| Security polices (locally set or through Mobile Device Management (MDM) or Group Policy) | Using WDAC requires increased effort in planning to create correct policies, but this results in a simpler distribution method.| | Non-Microsoft app control software | Using WDAC requires a complete app control policy evaluation and implementation.| | Managed usage by group or OU | Using WDAC requires a complete app control policy evaluation and implementation.| | Authorization Manager or other role-based access technologies | Using WDAC requires a complete app control policy evaluation and implementation.| From 6d09a85c17c500bac052845c2e78397ff1093385 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 10:31:41 -0700 Subject: [PATCH 057/212] fixing links --- ...rt-windows-defender-application-control.md | 11 - ...rd-enable-virtualization-based-security.md | 294 ------------------ ...ploy-managed-installer-for-device-guard.md | 166 ---------- ...ion-control-policy-rules-and-file-rules.md | 16 - ...oy-windows-defender-application-control.md | 33 -- .../device-guard-deployment-guide.md | 42 --- ...or-windows-defender-application-control.md | 105 ------- ...-on-the-device-guard-deployment-process.md | 67 ---- ...nt-planning-guidelines-for-device-guard.md | 94 ------ ...oy-windows-defender-application-control.md | 22 -- ...er-application-control-deployment-guide.md | 14 +- 11 files changed, 7 insertions(+), 857 deletions(-) delete mode 100644 windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md delete mode 100644 windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md delete mode 100644 windows/security/threat-protection/device-guard/deploy-managed-installer-for-device-guard.md delete mode 100644 windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md delete mode 100644 windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md delete mode 100644 windows/security/threat-protection/device-guard/device-guard-deployment-guide.md delete mode 100644 windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md delete mode 100644 windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md delete mode 100644 windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md delete mode 100644 windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md diff --git a/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md deleted file mode 100644 index 4ac9a32cd7..0000000000 --- a/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Deploy catalog files to support code integrity policies (Windows 10) -description: This article describes how to deploy catalog files to support Windows Defender Application Control, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/27/2017 ---- - diff --git a/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md b/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md deleted file mode 100644 index 019674779a..0000000000 --- a/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security.md +++ /dev/null @@ -1,294 +0,0 @@ ---- -title: Deploy Windows Defender Device Guard - enable virtualization-based security (Windows 10) -description: This article describes how to enable virtualization-based security, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Enable virtualization-based protection of code integrity - -**Applies to** -- Windows 10 -- Windows Server 2016 - -Virtualization-based protection of code integrity (herein referred to as Hypervisor-protected Code Integrity, or HVCI) is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. When used with Windows Defender Application Control (WDAC), HVCI helps achieve a locked down configuration state known as Windows Defender Device Guard that can block many types of malware from running on computers running Windows 10 and Windows Server 2016. - -> [!NOTE] -> Some applications, including device drivers, may be incompatible with HVCI. This can cause devices or software to malfunction and in rare cases may result in a Blue Screen. Such issues may occur after HVCI has been turned on or during the enablement process itself. We recommend testing thoroughly before enabling HVCI on production systems. - -Use the following procedure to enable virtualization-based protection of code integrity: - -1. **Decide whether to use the procedures in this topic, or to use the Windows Defender Device Guard readiness tool**. To enable HVCI, you can use [the Device Guard and Credential Guard hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or follow the procedures in this topic. - -2. **Verify that hardware and firmware requirements are met**. Verify that your client computers have the hardware and firmware to run HVCI. For a list of requirements, see [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). - -3. **Enable the necessary Windows features**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Windows feature requirements for virtualization-based security](#windows-feature-requirements-for-virtualization-based-protection-of-code-integrity). - -4. **Enable additional features as desired**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Enable virtualization-based protection of code integrity](#enable-virtualization-based-protection-of-code-integrity). - -## Windows feature requirements for virtualization-based protection of code integrity - -Make sure these operating system features are enabled before you can enable HVCI: - -- Beginning with Windows 10, version 1607 or Windows Server 2016:
-Hyper-V Hypervisor, which is enabled automatically. No further action is needed. - -- With an earlier version of Windows 10:
-Hyper-V Hypervisor and Isolated User Mode (shown in Figure 1). -  -![Turn Windows features on or off](images/dg-fig1-enableos.png) - -**Figure 1. Enable operating system features for HVCI, Windows 10, version 1511** - -> [!NOTE] -> You can configure these features by using Group Policy or Dism.exe, or manually by using Windows PowerShell or the Windows Features dialog box. - -## Enable virtualization-based protection of code integrity - -If you don't want to use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337), you can use Group Policy or the Registry to enable HVCI. - -### Use Group Policy to enable virtualization-based protection of code integrity - -1. To create a new GPO, right-click the OU where you want to link the GPO, and then click **Create a GPO in this domain, and Link it here**. - - ![Group Policy Management, create a GPO](images/dg-fig2-createou.png) - - Figure 2. Create a new OU-linked GPO - -2. Give the new GPO a name, then right-click the new GPO, and click **Edit**. - -4. Within the selected GPO, navigate to Computer Configuration\\Policies\\Administrative Templates\\System\\Device Guard. Right-click **Turn On Virtualization Based Security**, and then click **Edit**. - - ![Edit the group policy for Virtualization Based Security](images/dg-fig3-enablevbs.png) - - Figure 3. Enable virtualization-based security (VBS) - -5. Select the **Enabled** button. For **Select Platform Security Level**: - - - **Secure Boot** provides as much protection as a computer’s hardware can support. If the computer does not have input/output memory management units (IOMMUs), enable **Secure Boot**. - - **Secure Boot with DMA** enables Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can have WDAC enabled. - - For **Virtualization Based Protection of Code Integrity**: - - - Beginning with Windows 10, version 1607 and Windows Server 2016:
For an initial deployment or test deployment, we recommend **Enabled without lock**.
When your deployment is stable, we recommend changing to **Enabled with UEFI lock**. This option helps protect the registry from tampering, either through malware or by an unauthorized person. - - - With earlier versions of Windows 10:
Select the **Enable Virtualization Based Protection of Code Integrity** check box. - - ![Group Policy, Turn On Virtualization Based Security](images/dg-fig7-enablevbsofkmci.png) - - Figure 5. Configure HVCI, Lock setting (in Windows 10, version 1607) - -7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. The settings will take effect upon restart. - -8. Check Device Guard logs in Event Viewer at **Applications and Services Logs\\Microsoft\\Windows\\DeviceGuard-GPEXT\\Operational** for Event ID 7000, which contains the selected settings within a GPO that has been successfully processed. This event is logged only when Group Policy is used. - -### Use registry keys to enable virtualization-based protection of code integrity - -Set the following registry keys to enable HVCI. This provides exactly the same set of configuration options provided by Group Policy. - -> [!IMPORTANT] -> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
-> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. - -#### For Windows 1607 and above - -Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): - -``` commands -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f -``` - -If you want to customize the preceding recommended settings, use the following settings. - -**To enable VBS** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f -``` - -**To enable VBS and require Secure boot only (value 1)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f -``` - -> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. - -**To enable VBS without UEFI lock (value 0)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f -``` - -> To enable **VBS with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. - -**To enable virtualization-based protection of Code Integrity policies** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f -``` - -**To enable virtualization-based protection of Code Integrity policies without UEFI lock (value 0)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f -``` - -> To enable **virtualization-based protection of Code Integrity policies with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. - -#### For Windows 1511 and below - -Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - -If you want to customize the preceding recommended settings, use the following settings. - -**To enable VBS (it is always locked to UEFI)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f -``` - -**To enable VBS and require Secure boot only (value 1)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f -``` - -> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. - -**To enable virtualization-based protection of Code Integrity policies (with the default, UEFI lock)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f -``` - -**To enable virtualization-based protection of Code Integrity policies without UEFI lock** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - -### Validate enabled Windows Defender Device Guard hardware-based security features - -Windows 10 and Windows Server 2016 have a WMI class for related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: - -```powershell -Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard -``` - -> [!NOTE] -> The *Win32\_DeviceGuard* WMI class is only available on the Enterprise edition of Windows 10. - -The output of this command provides details of the available hardware-based security features as well as those features that are currently enabled. - -#### AvailableSecurityProperties - -This field helps to enumerate and report state on the relevant security properties for Windows Defender Device Guard. - -| Value | Description | -|--------|-------------| -| **0.** | If present, no relevant properties exist on the device. | -| **1.** | If present, hypervisor support is available. | -| **2.** | If present, Secure Boot is available. | -| **3.** | If present, DMA protection is available. | -| **4.** | If present, Secure Memory Overwrite is available. | -| **5.** | If present, NX protections are available. | -| **6.** | If present, SMM mitigations are available. | - -> [!NOTE] -> 4, 5, and 6 were added as of Windows 10, version 1607. - -#### InstanceIdentifier - -A string that is unique to a particular device. Valid values are determined by WMI. - -#### RequiredSecurityProperties - -This field describes the required security properties to enable virtualization-based security. - -| Value | Description | -|--------|-------------| -| **0.** | Nothing is required. | -| **1.** | If present, hypervisor support is needed. | -| **2.** | If present, Secure Boot is needed. | -| **3.** | If present, DMA protection is needed. | -| **4.** | If present, Secure Memory Overwrite is needed. | -| **5.** | If present, NX protections are needed. | -| **6.** | If present, SMM mitigations are needed. | - -> [!NOTE] -> 4, 5, and 6 were added as of Windows 10, version 1607. - -#### SecurityServicesConfigured - -This field indicates whether the Windows Defender Credential Guard or HVCI service has been configured. - -| Value | Description | -|--------|-------------| -| **0.** | No services configured. | -| **1.** | If present, Windows Defender Credential Guard is configured. | -| **2.** | If present, HVCI is configured. | - -#### SecurityServicesRunning - -This field indicates whether the Windows Defender Credential Guard or HVCI service is running. - -| Value | Description | -|--------|-------------| -| **0.** | No services running. | -| **1.** | If present, Windows Defender Credential Guard is running. | -| **2.** | If present, HVCI is running. | - - -#### Version - -This field lists the version of this WMI class. The only valid value now is **1.0**. - -#### VirtualizationBasedSecurityStatus - -This field indicates whether VBS is enabled and running. - -| Value | Description | -|--------|-------------| -| **0.** | VBS is not enabled. | -| **1.** | VBS is enabled but not running. | -| **2.** | VBS is enabled and running. | - - -#### PSComputerName - -This field lists the computer name. All valid values for computer name. - -Another method to determine the available and enabled Windows Defender Device Guard features is to run msinfo32.exe from an elevated PowerShell session. When you run this program, the Windows Defender Device Guard properties are displayed at the bottom of the **System Summary** section, as shown in Figure 6. - -![Windows Defender Device Guard properties in the System Summary](images/dg-fig11-dgproperties.png) - -Figure 6. Windows Defender Device Guard properties in the System Summary - -## Related topics - -- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) diff --git a/windows/security/threat-protection/device-guard/deploy-managed-installer-for-device-guard.md b/windows/security/threat-protection/device-guard/deploy-managed-installer-for-device-guard.md deleted file mode 100644 index c3cefa3e19..0000000000 --- a/windows/security/threat-protection/device-guard/deploy-managed-installer-for-device-guard.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: Deploy Managed Installer for Windows Defender Device Guard (Windows 10) -description: Explains how you can use a managed installer to automatically authorize applications deployed and installed by a designated software distribution solution, such as System Center Configuration Manager. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: mdsakibMSFT -ms.date: 10/20/2017 ---- - -# Deploy Managed Installer for Windows Defender Application Control - -Creating and maintaining application execution control policies has always been challenging, and finding ways to address this issue has been a frequently-cited request for customers of AppLocker and Windows Defender Application Control (WDAC). -This is especially true for enterprises with large, ever changing software catalogs. - -Windows 10, version 1703 (also known as the Windows 10 Creators Update) provides a new option, known as a managed installer, that allows IT administrators to automatically authorize applications deployed and installed by a designated software distribution solution, such as System Center Configuration Manager. -A managed installer helps an IT admin balance security and manageability requirements when employing application execution control policies by providing an option that does not require specifying explicit rules for software that is being managed through a software distribution solution. - -## How does a managed installer work? - -A managed installer uses a new rule collection in AppLocker to specify one or more executables that are trusted by the organization as an authorized source for application deployment. -Specifying an executable as a managed installer will cause Windows to tag files that are written from the executable’s process (or processes it launches) as having originated from a trusted installation authority. - -Once the IT administrator adds the Allow: Managed Installer option to a WDAC policy, the WDAC component will subsequently check for the presence of the origin information when evaluating other application execution control rules specified in the policy. -If there are no deny rules present for the file, it will be authorized based on the managed installer origin information. - -> [!NOTE] -> Admins needs to ensure that there is a WDAC policy in place to allow the system to boot and run any other authorized applications that may not be deployed through a managed installer. -> -> Examples of WDAC policies available in C:\Windows\schemas\CodeIntegrity\ExamplePolicies help authorize Windows OS components, WHQL signed drivers and all Store apps. -> Admins can reference and customize them as needed for their Windows Defender Application Control deployment or create a custom WDAC policy as described in [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-from-a-reference-computer). - -## Configuring a managed installer with AppLocker and Windows Defender Application Control - -Setting up managed installer tracking and application execution enforcement requires applying both an AppLocker and WDAC policy with specific rules and options enabled. -There are three primary steps to keep in mind: - -- Specify managed installers using the Managed Installer rule collection in AppLocker policy -- Enable service enforcement in AppLocker policy -- Enable the managed installer option in a WDAC policy - -### Specify managed installers using the Managed Installer rule collection in AppLocker policy - -The identity of the managed installer executable(s) is specified in an AppLocker policy in a Managed Installer rule collection. -Currently the AppLocker policy creation UI and cmdlets do not allow for directly specifying rules for the Managed Installer rule collection, however a text editor can be used to make the simple changes needed to an EXE or DLL rule collection policy to specify Type="ManagedInstaller". - -An example of a valid Managed Installer rule collection is shown below. - -```code - - - - - - - - - - - - - - - - -``` - -## Enable service enforcement in AppLocker policy - -Since many installation processes rely on services, it is typically necessary to enable tracking of services. -Correct tracking of services requires the presence of at least one rule in the rule collection – a simple audit only rule will suffice. -For example: - -```code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -### Enable the managed installer option in WDAC policy - -In order to enable trust for the binaries laid down by managed installers, the Allow: Managed Installer option must be specified in your WDAC policy. -This can be done by using the [Set-RuleOption cmdlet](https://technet.microsoft.com/itpro/powershell/windows/configci/set-ruleoption). -An example of the managed installer option being set in policy is shown below. - -```code - - - - - - - - - - - - - - - - - -``` - -## Security considerations with managed installer - -Since managed installer is a heuristic-based mechanism, it does not provide the same security guarantees that explicit allow or deny rules do. -It is best suited for deployment to systems where each user is configured as a standard user and where all software is deployed and installed by a software distribution solution, such as System Center Configuration Manager. - -Users with administrator privileges or malware running as an administrator user on the system may be able to circumvent the intent of Windows Defender Application Control when the managed installer option is allowed. -If the authorized managed installer process performs installations in the context of a user with standard privileges, then it is possible that standard users or malware running as standard user may be able to circumvent the intent of Windows Defender Application Control. -Some application installers include an option to automatically run the application at the end of the installation process. If this happens when the installer is run by a managed installer, then the managed installer's heuristic tracking and authorization may continue to apply to all files created during the first run of the application. This could result in over-authorization for executables that were not intended. -To avoid this, ensure that the application deployment solution being used as a managed installer limits running applications as part of installation. - -## Known limitations with managed installer - -- Application execution control based on managed installer does not support applications that self-update. -If an application deployed by a managed installer subsequently updates itself, the updated application files will no longer include the managed installer origin information and will not be authorized to run. -Enterprises should deploy and install all application updates using the managed installer. -In some cases, it may be possible to also designate an application binary that performs the self-updates as a managed installer. -Proper review for functionality and security should be performed for the application before using this method. - -- Although WDAC policies can be deployed in both audit and enforced mode, the managed installer option is currently only recommended for use with policies set to enforced except in lab environments. -Using the managed installer option with WDAC policies set to audit only may result in unexpected behavior if the policy is subsequently changed to enforced mode. - -- Modern apps deployed through a managed installer will not be tracked by the managed installer heuristic and will need to be separately authorized in your WDAC policy. - -- Executables that extract files and then attempt to execute may not be allowed by the managed installer heuristic. -In some cases, it may be possible to also designate an application binary that performs such an operation as a managed installer. -Proper review for functionality and security should be performed for the application before using this method. - -- The managed installer heuristic does not authorize drivers. -The WDAC policy must have rules that allow the necessary drivers to run. - -- In some cases, the code integrity logs where WDAC errors and warnings are written will contain error events for native images generated for .NET assemblies. -Typically, the error is functionally benign as a blocked native image will result in the corresponding assembly being re-interpreted. -Review for functionality and performance for the related applications using the native images maybe necessary in some cases. diff --git a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md deleted file mode 100644 index 91fa61bd87..0000000000 --- a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Deploy code integrity policies - policy rules and file rules (Windows 10) -description: This article provides information about two elements in code integrity policies, called policy rules and file rules. Code integrity policies are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 02/27/2018 ---- - -# Deploy Windows Defender Application Control: policy rules and file rules - -**Applies to** -- Windows 10 -- Windows Server 2016 diff --git a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md deleted file mode 100644 index 8becbe0a0e..0000000000 --- a/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Deploy Windows Defender Device Guard - deploy code integrity policies (Windows 10) -description: This article, and the articles it links to, describe how to create code integrity policies, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Deploy Windows Defender Application Control - -**Applies to** -- Windows 10 -- Windows Server 2016 - -This section includes the following topics: - -- [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) -- [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md) -- [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md) -- [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md) -- [Deploy Managed Installer for Windows Defender Application Control](deploy-managed-installer-for-device-guard.md) - -To increase the protection for devices that meet certain hardware requirements, you can use virtualization-based protection of code integrity with your Windows Defender Application Control (WDAC) policies. -- For requirements, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard) in "Requirements and deployment planning guidelines for Windows Defender Device Guard." -- For steps, see [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md). - -## Related topics - -[Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - diff --git a/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md b/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md deleted file mode 100644 index c8b9a70188..0000000000 --- a/windows/security/threat-protection/device-guard/device-guard-deployment-guide.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Windows Defender Device Guard deployment guide (Windows 10) -description: Microsoft Windows Defender Device Guard is a feature set that consists of both hardware and software system integrity hardening features that revolutionize the Windows operating system’s security. -ms.assetid: 4BA52AA9-64D3-41F3-94B2-B87EC2717486 -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Windows Defender Device Guard deployment guide - -**Applies to** -- Windows 10 -- Windows Server 2016 - -With thousands of new malicious files created every day, using traditional methods like antivirus solutions—signature-based detection to fight against malware—provides an inadequate defense against new attacks. Windows Defender Device Guard describes a locked-down device configuration state that uses multiple enterprise-related hardware and software security features that run on Windows 10 Enterprise edition and Windows Server. When these features are configured together, Windows Defender Device Guard changes from a mode where apps are trusted unless blocked by an antivirus or other security solution, to a mode where the operating system trusts only apps authorized by your enterprise. If the app isn’t trusted, it can’t run, period. - -Windows Defender Device Guard also uses virtualization-based security to isolate the Code Integrity service and run it alongside the Windows kernel in a hypervisor-protected container. Even if an attacker manages to get control of the Windows kernel itself, the ability to run malicious executable code is much less likely. - -This guide explores the individual features in Windows Defender Device Guard as well as how to plan for, configure, and deploy them. It includes: - -- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - -- [Requirements and deployment planning guidelines for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md) - -- [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md) - -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) - - - [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) - - - [Deploy Windows Defender Application Control: policy rules and file rules](deploy-windows-defender-application-control-policy-rules-and-file-rules.md) - - - [Deploy Windows Defender Application Control: steps](steps-to-deploy-windows-defender-application-control.md) - - - [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md) - -- [Enable virtualization-based protection of code integrity](deploy-device-guard-enable-virtualization-based-security.md) - diff --git a/windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md deleted file mode 100644 index 668316004b..0000000000 --- a/windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Optional - Create a code signing certificate for code integrity policies (Windows 10) -description: This article describes how to create a code signing certificate for code integrity policies, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Optional: Create a code signing certificate for Windows Defender Application Control - -**Applies to** -- Windows 10 -- Windows Server 2016 - -As you deploy Windows Defender Application Control (WDAC) (also part of Windows Defender Device Guard), you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate or an internal CA. If you have purchased a code signing certificate, you can skip this topic and instead follow other topics listed in [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md). - -If you have an internal CA, complete these steps to create a code signing certificate. -Only RSA algorithm is supported for the code signing certificate, and signatures must be PKCS 1.5 padded. -ECDSA is not supported. - -1. Open the Certification Authority Microsoft Management Console (MMC) snap-in, and then select your issuing CA. - -2. When connected, right-click **Certificate Templates**, and then click **Manage** to open the Certification Templates Console. - - ![CA snap-in showing Certificate Templates](images/dg-fig27-managecerttemp.png) - - Figure 1. Manage the certificate templates - -3. In the navigation pane, right-click the Code Signing certificate, and then click **Duplicate Template**. - -4. On the **Compatibility** tab, clear the **Show resulting changes** check box. Select **Windows Server 2012** from the **Certification Authority** list, and then select **Windows 8 / Windows Server 2012** from the **Certificate recipient** list. - -5. On the **General** tab, specify the **Template display name** and **Template name**. This example uses the name **WDAC Catalog Signing Certificate**. - -6. On the **Request Handling** tab, select the **Allow private key to be exported** check box. - -7. On the **Extensions** tab, select the **Basic Constraints** check box, and then click **Edit**. - -8. In the **Edit Basic Constraints Extension** dialog box, select **Enable this extension**, as shown in Figure 2. - - ![Edit Basic Constraints Extension](images/dg-fig29-enableconstraints.png) - - Figure 2. Select constraints on the new template - -9. If a certificate manager is required to approve any issued certificates, on the **Issuance Requirements** tab, select **CA certificate manager approval**. - -10. On the **Subject Name** tab, select **Supply in the request**. - -11. On the **Security** tab, verify that whatever account will be used to request the certificate has the right to enroll the certificate. - -12. Click **OK** to create the template, and then close the Certificate Template Console. - -When this certificate template has been created, you must publish it to the CA published template store. To do so, complete the following steps: - -1. In the Certification Authority MMC snap-in, right-click **Certification Templates**, point to **New**, and then click **Certificate Template to Issue**, as shown in Figure 3. - - ![Select Certificate Template to Issue](images/dg-fig30-selectnewcert.png) - - Figure 3. Select the new certificate template to issue - - A list of available templates to issue appears, including the template you just created. - -2. Select the WDAC Catalog signing certificate, and then click **OK**. - -Now that the template is available to be issued, you must request one from the computer running Windows 10 on which you create and sign catalog files. To begin, open the MMC, and then complete the following steps: - -1. In MMC, from the **File** menu, click **Add/Remove Snap-in**. Double-click **Certificates**, and then select **My user account**. - -2. In the Certificates snap-in, right-click the Personal store folder, point to **All Tasks**, and then click **Request New Certificate**. - -3. Click **Next** twice to get to the certificate selection list. - -4. In the **Request Certificate** list, select your newly created code signing certificate, and then select the blue text that requests additional information, as shown in Figure 4. - - ![Request Certificates: more information required](images/dg-fig31-getmoreinfo.png) - - Figure 4. Get more information for your code signing certificate - -5. In the **Certificate Properties** dialog box, for **Type**, select **Common name**. For **Value**, select **ContosoDGSigningCert**, and then click **Add**. When added, click **OK.** - -6. Enroll and finish. - -> **Note**  If a certificate manager is required to approve any issued certificates and you selected to require management approval on the template, the request will need to be approved in the CA before it will be issued to the client. - -This certificate must be installed in the user’s personal store on the computer that will be signing the catalog files and code integrity policies. If the signing is going to be taking place on the computer on which you just requested the certificate, exporting the certificate to a .pfx file will not be required because it already exists in your personal store. If you are signing on another computer, you will need to export the .pfx certificate with the necessary keys and properties. To do so, complete the following steps: - -1. Right-click the certificate, point to **All Tasks**, and then click **Export**. - -2. Click **Next**, and then select **Yes, export the private key**. - -3. Choose the default settings, and then select **Export all extended properties**. - -4. Set a password, select an export path, and then select **WDACCatSigningCert.pfx** as the file name. - -When the certificate has been exported, import it into the personal store for the user who will be signing the catalog files or code integrity policies on the specific computer that will be signing them. - -## Related topics - -- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) - diff --git a/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md b/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md deleted file mode 100644 index 400eeb9b69..0000000000 --- a/windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Planning and getting started on the Windows Defender Device Guard deployment process (Windows 10) -description: To help you plan and begin the initial test stages of a deployment of Microsoft Windows Defender Device Guard, this article outlines how to gather information, create a plan, and begin to create and test initial code integrity policies. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Planning and getting started on the Windows Defender Device Guard deployment process - -**Applies to** -- Windows 10 -- Windows Server 2016 - -This topic provides a roadmap for planning and getting started on the Windows Defender Device Guard deployment process, with links to topics that provide additional detail. Planning for Windows Defender Device Guard deployment involves looking at both the end-user and the IT pro impact of your choices. Use the following steps to guide you. - -## Planning - -1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). Then you can assess your end-user systems to see how many support the VBS features you are interested in, as described in [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). - -2. **Group devices by degree of control needed**. Group devices according to the table in [Windows Defender Device Guard deployment in different scenarios: types of devices](requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. - -3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: - - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. - - - What software does each department or role need? Should they be able to install and run other departments’ software?
If multiple departments are allowed to run the same list of software, you might be able to merge several WDAC policies to simplify management. - - - Are there departments or roles where unique, restricted software is used?
If one department needs to run an application that no other department is allowed, it might require a separate WDAC policy. Similarly, if only one department must run an old version of an application (while other departments allow only the newer version), it might require a separate WDAC policy. - - - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). - - - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? - In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](./windows-defender-application-control/windows-defender-application-control-and-applocker.md). - - Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. - - For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. - - Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Microsoft recommended block list](./windows-defender-application-control/microsoft-recommended-block-rules.md). - -4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For more background information about catalog files, see [Deploy catalog files to support WDAC](./windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md). - -## Getting started on the deployment process - -1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](./windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control.md). - -2. **Create WDAC policies from “golden” reference computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. - -3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](./windows-defender-application-control/audit-windows-defender-application-control-policies.md). - -4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](./windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. - -6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see [Merge Windows Defender Application Control policies](./windows-defender-application-control/merge-windows-defender-application-control-policies.md). - -7. **Deploy WDAC policies and catalog files**. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. For more information, see: - - [Enforce Windows Defender Application Control policies](./windows-defender-application-control/enforce-windows-defender-application-control-policies.ms) - - [Deploy and manage Windows Defender Application Control with Group Policy](./windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy)
- -8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by Windows Defender Application Control, as described in [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). - - > [!WARNING] - > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - -
diff --git a/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md b/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md deleted file mode 100644 index b5faab1dad..0000000000 --- a/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Requirements and deployment planning guidelines for Windows Defender Device Guard (Windows 10) -description: To help you plan a deployment of Microsoft Windows Defender Device Guard, this article describes hardware requirements for Windows Defender Device Guard, outlines deployment approaches, and describes methods for code signing and the deployment of code integrity policies. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Planning guidelines for Windows Defender Device Guard - -**Applies to** -- Windows 10 -- Windows Server 2016 - - -## Windows Defender Device Guard deployment in different scenarios: types of devices - -Typically, deployment of Windows Defender Device Guard happens best in phases, rather than being a feature that you simply “turn on.” The choice and sequence of phases depends on the way various computers and other devices are used in your organization, and to what degree IT manages those devices. The following table can help you begin to develop a plan for deploying Windows Defender Device Guard in your organization. - -| **Type of device** | **How Windows Defender Device Guard relates to this type of device** | **Windows Defender Device Guard components that you can use to protect this kind of device** | -|------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------| -| **Fixed-workload devices**: Perform same tasks every day.
Lists of approved applications rarely change.
Examples: kiosks, point-of-sale systems, call center computers. | Windows Defender Device Guard can be deployed fully, and deployment and ongoing administration are relatively straightforward.
After Windows Defender Device Guard deployment, only approved applications can run. This is because of protections offered by WDAC. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | -| **Fully managed devices**: Allowed software is restricted by IT department.
Users can request additional software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline WDAC policy can be established and enforced. Whenever the IT department approves additional applications, it will update the WDAC policy and (for unsigned LOB applications) the catalog.
WDAC policies are supported by the HVCI service. | - VBS (hardware-based) protections, enabled.

• WDAC in enforced mode, with UMCI enabled. | -| **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | Windows Defender Device Guard can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | - VBS (hardware-based) protections, enabled. When enabled with a WDAC policy in audit mode only, VBS means the hypervisor helps enforce the default kernel-mode code integrity policy, which protects against unsigned drivers or system files.

• WDAC, with UMCI enabled, but running in audit mode only. This means applications are not blocked—the policy just logs an event whenever an application outside the policy is started. | -| **Bring Your Own Device**: Employees are allowed to bring their own devices, and also use those devices away from work. | Windows Defender Device Guard does not apply. Instead, you can explore other hardening and security features with MDM-based conditional access solutions, such as Microsoft Intune. | N/A | - -## Windows Defender Device Guard deployment in virtual machines - -Windows Defender Device Guard can protect a Hyper-V virtual machine, just as it would a physical machine. The steps to enable Windows Defender Device Guard are the same from within the virtual machine. - -Windows Defender Device Guard protects against malware running in the guest virtual machine. It does not provide additional protection from the host administrator. From the host, you can disable Windows Defender Device Guard for a virtual machine: - -```powershell -Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true -``` - - -### Requirements for running Windows Defender Device Guard in Hyper-V virtual machines - - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. - - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - - Windows Defender Device Guard and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. - - Virtual Fibre Channel adapters are not compatible with Windows Defender Device Guard. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using Set-VMSecurity. - - The AllowFullSCSICommandSet option for pass-through disks is not compatible with Windows Defender Device Guard. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using Set-VMSecurity. - - -## Reviewing your applications: application signing and catalog files - -Typically, WDAC policies are configured to use the application's signing certificate as part or all of what identifies the application as trusted. This means that applications must either use embedded signing—where the signature is part of the binary—or catalog signing, where you generate a “catalog file” from the applications, sign it, and through the signed catalog file, configure the WDAC policy to recognize the applications as signed. - -Catalog files can be very useful for unsigned LOB applications that cannot easily be given an embedded signature. However, catalogs need to be updated each time an application is updated. In contrast, with embedded signing, your WDAC policies typically do not have to be updated when an application is updated. For this reason, if code-signing is or can be included in your in-house application development process, it can simplify the management of WDAC (compared to using catalog signing). - -To obtain signed applications or embed signatures in your in-house applications, you can choose from a variety of methods: - -- Using the Microsoft Store publishing process. All apps that come out of the Microsoft Store are automatically signed with special signatures that can roll-up to our certificate authority (CA) or to your own. - -- Using your own digital certificate or public key infrastructure (PKI). ISV's and enterprises can sign their own Classic Windows applications themselves, adding themselves to the trusted list of signers. - -- Using a non-Microsoft signing authority. ISV's and enterprises can use a trusted non-Microsoft signing authority to sign all of their own Classic Windows applications. - -To use catalog signing, you can choose from the following options: - -- Use the Windows Defender Device Guard signing portal available in the Microsoft Store for Business. The portal is a Microsoft web service that you can use to sign your Classic Windows applications. For more information, see [Windows Defender Device Guard signing](https://technet.microsoft.com/itpro/windows/manage/device-guard-signing-portal). - -- Create your own catalog files, which are described in the next section. For information about how creating catalog files fits into Windows Defender Device Guard deployment, see [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). - -### Catalog files - -Catalog files (which you can create in Windows 10 with a tool called Package Inspector) contain information about all deployed and executed binary files associated with your trusted but unsigned applications. When you create catalog files, you can also include signed applications for which you do not want to trust the signer but rather the specific application. After creating a catalog, you must sign the catalog file itself by using enterprise public key infrastructure (PKI), or a purchased code signing certificate. Then you can distribute the catalog, so that your trusted applications can be handled by WDAC in the same way as any other signed application. - -Catalog files are simply Secure Hash Algorithm 2 (SHA2) hash lists of discovered binaries. These binaries’ hash values are updated each time an application is updated, which requires the catalog file to be updated also. - -After you have created and signed your catalog files, you can configure your WDAC policies to trust the signer or signing certificate of those files. - -> **Note**  Package Inspector only works on operating systems that support Windows Defender Device Guard, such as Windows 10 Enterprise, Windows 10 Education, Windows 2016 Server, or Windows Enterprise IoT. - -For information about how creating catalog files fits into Windows Defender Device Guard deployment, see [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md). For procedures for working with catalog files, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). - -## Windows Defender Application Control policy formats and signing - -When you generate a WDAC policy, you are generating a binary-encoded XML document that includes configuration settings for both the User and Kernel-modes of Windows 10 Enterprise, along with restrictions on Windows 10 script hosts. You can view your original XML document in a text editor, for example if you want to check the rule options that are present in the **<Rules>** section of the file. - -We recommend that you keep the original XML file for use when you need to merge the WDAC policy with another policy or update its rule options. For deployment purposes, the file is converted to a binary format, which can be done using a simple Windows PowerShell command. - -When the WDAC policy is deployed, it restricts the software that can run on a device. The XML document can be signed, helping to add additional protection against administrative users changing or removing the policy. - -## Related topics - -- [Planning and getting started on the Windows Defender Device Guard deployment process](planning-and-getting-started-on-the-device-guard-deployment-process.md) -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) - - diff --git a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md deleted file mode 100644 index 25b3275e4b..0000000000 --- a/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Deploy code integrity policies - steps (Windows 10) -description: This article describes how to deploy code integrity policies, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 02/13/2018 ---- - -# Steps to Deploy Windows Defender Application Control - -**Applies to** -- Windows 10 -- Windows Server 2016 - - - - - - diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index e73a0f707b..422e5ed920 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -1,6 +1,6 @@ --- title: Planning and getting started on the Windows Defender Application Control deployment process (Windows 10) -description: To help you plan and begin the initial test stages of a deployment of Microsoft Windows Defender Application Comntrol, this article outlines how to gather information, create a plan, and begin to create and test initial code integrity policies. +description: To help you plan and begin the initial test stages of a deployment of Microsoft Windows Defender Application Control, this article outlines how to gather information, create a plan, and begin to create and test initial code integrity policies. keywords: virtualization, security, malware ms.prod: w10 ms.mktglfcycl: deploy @@ -19,9 +19,9 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats) and corresponding [hardware, firmware, and software requirements](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). -2. **Group devices by degree of control needed**. [Group devices](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#windows-defender-device-guard-deployment-in-different-scenarios-types-of-devices). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. +2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. 3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. @@ -33,20 +33,20 @@ This topic provides a roadmap for planning and getting started on the Windows De - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? - In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#windows-defender-device-guard-with-applocker). + In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](windows-defender-application-control-and-applocker.md). Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. - Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Steps to Deploy Windows Defender Application Control](./device-guard/steps-to-deploy-windows-defender-application-control.md). + Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Microsoft recommended block rules](microsoft-recommended-block-rules.md). -4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For a basic description of catalog files, see the table in [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](./device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). For more background information about catalog files, see [Reviewing your applications: application signing and catalog files](./device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md#reviewing-your-applications-application-signing-and-catalog-files). +4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For more background information about catalog files, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). ## Getting started on the deployment process @@ -73,6 +73,6 @@ This topic provides a roadmap for planning and getting started on the Windows De > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./device-guard/deploy-device-guard-enable-virtualization-based-security.md). + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md).
From e2b9b874468ef13fc17a76997ad6a4f40bfd1e02 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 11:00:35 -0700 Subject: [PATCH 058/212] fixed links --- .../signing-policies-with-signtool.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md index eec16ba0ad..316dc3405f 100644 --- a/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md +++ b/windows/security/threat-protection/windows-defender-application-control/signing-policies-with-signtool.md @@ -48,7 +48,7 @@ If you do not have a code signing certificate, see the [Optional: Create a code > [!Note] > This example uses the WDAC policy that you created in [Create a Windows Defender Application Control policy from a reference computer](create-initial-default-policy.md). If you are signing another policy, be sure to update the **$CIPolicyPath** and **$CIPolicyBin** variables with the correct information. -2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](optional-create-a-code-signing-certificate-for-windows-defender-application-control.md). +2. Import the .pfx code signing certificate. Import the code signing certificate that you will use to sign the WDAC policy into the signing user’s personal store on the computer that will be doing the signing. In this example, you use the certificate that was created in [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md). 3. Export the .cer code signing certificate. After the code signing certificate has been imported, export the .cer version to your desktop. This version will be added to the policy so that it can be updated later. @@ -61,8 +61,8 @@ If you do not have a code signing certificate, see the [Optional: Create a code ` Add-SignerRule -FilePath $InitialCIPolicy -CertificatePath -Kernel -User –Update` > [!Note] - > *<Path to exported .cer certificate>* should be the full path to the certificate that you exported in step 3. - Also, adding update signers is crucial to being able to modify or disable this policy in the future. For more information about how to disable signed WDAC policies, see the [Disable signed Windows Defender Application Control policies within Windows](#disable-signed-windows-defender-application-control-policies-within-windows) section. + > should be the full path to the certificate that you exported in step 3. + Also, adding update signers is crucial to being able to modify or disable this policy in the future. 6. Use [Set-RuleOption](https://docs.microsoft.com/powershell/module/configci/set-ruleoption) to remove the unsigned policy rule option: From c08d1763813c2297b76418cea3537986b55072ca Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 11:18:18 -0700 Subject: [PATCH 059/212] fixed links --- windows/security/threat-protection/TOC.md | 13 +------------ ...efender-application-control-planning-document.md | 1 - 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 64d8974a24..5aa47f0439 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -383,18 +383,7 @@ ## [Control the health of Windows 10-based devices](protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md) -## [Device Guard deployment guide](device-guard/device-guard-deployment-guide.md) -### [Introduction to Device Guard: virtualization-based security and WDAC](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) -### [Requirements and deployment planning guidelines for Device Guard](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) -### [Planning and getting started on the Device Guard deployment process](device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md) -### [Deploy WDAC](device-guard/deploy-windows-defender-application-control.md) -#### [Optional: Create a code signing certificate for WDAC](device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md) -#### [Deploy WDAC: policy rules and file rules](device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md) -#### [Steps to deploy WDAC](device-guard/steps-to-deploy-windows-defender-application-control.md) -#### [Deploy catalog files to support WDAC](device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md) -#### [Deploy Managed Installer for Device Guard](device-guard/deploy-managed-installer-for-device-guard.md) -### [Deploy Device Guard: enable virtualization-based security](device-guard/deploy-device-guard-enable-virtualization-based-security.md) - +## [Windows Defender Device Guard: virtualization-based security and WDAC](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) ## [Windows Defender SmartScreen](windows-defender-smartscreen/windows-defender-smartscreen-overview.md) ### [Available Windows Defender SmartScreen Group Policy and mobile device management (MDM) settings](windows-defender-smartscreen/windows-defender-smartscreen-available-settings.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md index 0a30966f96..c91ecd2bc3 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-your-windows-defender-application-control-planning-document.md @@ -370,7 +370,6 @@ You can use the following form to construct your own WDAC planning document.   ### Additional resources -- [Deploy Windows Defender Application Control Policies](deploy-windows-defender-application-control-policies.md) - [Windows Defender Application Control](windows-defender-application-control.md)     From 5d8996432d71f72b62e59c43b940cd457a814557 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 12:05:37 -0700 Subject: [PATCH 060/212] fixed links --- windows/security/threat-protection/TOC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 5aa47f0439..9f11974826 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -266,8 +266,8 @@ #### [Customize Exploit protection](windows-defender-exploit-guard/customize-exploit-protection.md) ##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md) #### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) -##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md) -##### [Enable virtualization-based protection of code integrity](device-guard/deploy-device-guard-enable-virtualization-based-security.md) +##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md) ### [Attack surface reduction](windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard/evaluate-attack-surface-reduction.md) #### [Enable Attack surface reduction](windows-defender-exploit-guard/enable-attack-surface-reduction.md) From 449651db861cd918c1ae2ff85c2233d5f8e1e894 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 12:10:18 -0700 Subject: [PATCH 061/212] fixed links --- .../windows-defender-application-control-deployment-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 422e5ed920..4ccd3aa456 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,7 +19,7 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](./windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). 2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. @@ -73,6 +73,6 @@ This topic provides a roadmap for planning and getting started on the Windows De > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md). + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md).
From cc1b347dfaf2e1cf55dd32804032fcbcb9a14028 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 13:29:03 -0700 Subject: [PATCH 062/212] fixed links --- .../windows-defender-application-control-deployment-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 4ccd3aa456..b24d7bfb11 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,7 +19,7 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](../threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](../threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). 2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. @@ -73,6 +73,6 @@ This topic provides a roadmap for planning and getting started on the Windows De > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md). + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](../threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md).
From 341992b143cfb3ed05c89641e013ae04adcf2890 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 14:05:02 -0700 Subject: [PATCH 063/212] fixing links --- .../windows-defender-application-control-deployment-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index b24d7bfb11..e6b3942d16 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,7 +19,7 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](../threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](../threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). +1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](./threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). 2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. @@ -73,6 +73,6 @@ This topic provides a roadmap for planning and getting started on the Windows De > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](../threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md). + For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md).
From 2f266d1170b7c6477efaff9f3e6d65186b53cf1b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 23 Mar 2018 14:24:03 -0700 Subject: [PATCH 064/212] fixed links --- ...windows-defender-application-control-deployment-guide.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index e6b3942d16..980f8521c6 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -19,7 +19,7 @@ This topic provides a roadmap for planning and getting started on the Windows De ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the [virtualization-based security (VBS) features](./threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) and corresponding [hardware, firmware, and software requirements](./threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md). +1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features and corresponding hardware, firmware, and software requirements. 2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. @@ -72,7 +72,3 @@ This topic provides a roadmap for planning and getting started on the Windows De > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). - - For information about enabling VBS features, see [Enable virtualization-based protection of code integrity](./threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md). - -
From ebc93010d9d326ad79743cadb4f1ff89cb7290d7 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Thu, 5 Apr 2018 17:10:05 -0700 Subject: [PATCH 065/212] adding 1803 diagnostic data draft --- windows/configuration/TOC.md | 3 +- ...ndows-diagnostic-events-and-fields-1709.md | 4741 +++++++++++++ ...el-windows-diagnostic-events-and-fields.md | 6098 +++++++++-------- 3 files changed, 8116 insertions(+), 2726 deletions(-) create mode 100644 windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md diff --git a/windows/configuration/TOC.md b/windows/configuration/TOC.md index 9768a7eb0b..c3514a942a 100644 --- a/windows/configuration/TOC.md +++ b/windows/configuration/TOC.md @@ -1,7 +1,8 @@ # [Configure Windows 10](index.md) ## [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) ## [Diagnostic Data Viewer Overview](diagnostic-data-viewer-overview.md) -## [Windows 10, version 1709 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields.md) +## [Windows 10, version 1803 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields.md) +## [Windows 10, version 1709 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) ## [Windows 10, version 1703 basic level Windows diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) ## [Windows 10, version 1709 enhanced telemetry events and fields used by Windows Analytics](enhanced-diagnostic-data-windows-analytics-events-and-fields.md) ## [Windows 10, version 1709 diagnostic data for the Full telemetry level](windows-diagnostic-data.md) diff --git a/windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md new file mode 100644 index 0000000000..06874ee41a --- /dev/null +++ b/windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -0,0 +1,4741 @@ +--- +description: Learn more about the Windows diagnostic data that is gathered at the basic level. +title: Windows 10, version 1709 basic diagnostic events and fields (Windows 10) +keywords: privacy, diagnostic data +ms.prod: w10 +ms.mktglfcycl: manage +ms.sitesec: library +ms.pagetype: security +localizationpriority: high +author: eross-msft +ms.author: lizross +ms.date: 03/13/2018 +--- + + +# Windows 10, version 1709 basic level Windows diagnostic events and fields + + + **Applies to** + +- Windows 10, version 1709 + + +The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. + +The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. + +Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. + +You can learn more about Windows functional and diagnostic data through these articles: + + +- [Windows 10, version 1703 basic diagnostic events and fields](https://docs.microsoft.com/windows/configuration/basic-level-windows-diagnostic-events-and-fields-1703) +- [Manage connections from Windows operating system components to Microsoft services](https://docs.microsoft.com/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services) +- [Configure Windows diagnostic data in your organization](https://docs.microsoft.com/windows/configuration/configure-windows-diagnostic-data-in-your-organization) + + + +# Common data extensions + +### Common Data Extensions.App + + + +The following fields are available: + +- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. +- **userId** The userID as known by the application. +- **env** The environment from which the event was logged. +- **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. + + +### Common Data Extensions.CS + + + +The following fields are available: + +- **sig** A common schema signature that identifies new and modified event schemas. + + +### Common Data Extensions.CUET + + + +The following fields are available: + +- **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. +- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. +- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. +- **op** Represents the ETW Op Code. +- **cat** Represents a bitmask of the ETW Keywords associated with the event. +- **flags** Represents the bitmap that captures various Windows specific flags. +- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. +- **tickets** A list of strings that represent entries in the HTTP header of the web request that includes this event. +- **bseq** Upload buffer sequence number in the format \:\ +- **mon** Combined monitor and event sequence numbers in the format \:\ + + +### Common Data Extensions.Device + + + +The following fields are available: + +- **ver** Represents the major and minor version of the extension. +- **localId** Represents a locally defined unique ID for the device, not the human readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId +- **deviceClass** Represents the classification of the device, the device “family”.  For example, Desktop, Server, or Mobile. + + +### Common Data Extensions.Envelope + + + +The following fields are available: + +- **ver** Represents the major and minor version of the extension. +- **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. +- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. +- **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. +- **seqNum** 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. +- **iKey** Represents an ID for applications or other logical groupings of events. +- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experiences and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **os** Represents the operating system name. +- **osVer** Represents the OS version, and its format is OS dependent. +- **appId** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. +- **appVer** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related diagnostic data events across component boundaries. + + +### Common Data Extensions.OS + + + +The following fields are available: + +- **ver** Represents the major and minor version of the extension. +- **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. +- **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. + + +### Common Data Extensions.User + + + +The following fields are available: + +- **ver** Represents the major and minor version of the extension. +- **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.XBL + + + +The following fields are available: + +- **nbf** Not before time +- **expId** Expiration time +- **sbx** XBOX sandbox identifier +- **dty** XBOX device type +- **did** XBOX device ID +- **xid** A list of base10-encoded XBOX User IDs. +- **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. + + +### Common Data Extensions.Consent UI Event + +This User Account Control (UAC) diagnostic data point collects information on elevations that originate from low integrity levels. This occurs when a process running at low integrity level (IL) requires higher (administrator) privileges, and therefore requests for elevation via UAC (consent.exe). By better understanding the processes requesting these elevations, Microsoft can in turn improve the detection and handling of potentially malicious behavior in this path. + +The following fields are available: + +- **eventType** Represents the type of elevation: If it succeeded, was cancelled, or was auto-approved. +- **splitToken** Represents the flag used to distinguish between administrators and standard users. +- **friendlyName** Represents the name of the file requesting elevation from low IL. +- **elevationReason** Represents the distinction between various elevation requests sources (appcompat, installer, COM, MSI and so on). +- **exeName** Represents the name of the file requesting elevation from low IL. +- **signatureState** Represents the state of the signature, if it signed, unsigned, OS signed and so on. +- **publisherName** Represents the name of the publisher of the file requesting elevation from low IL. +- **cmdLine** Represents the full command line arguments being used to elevate. +- **Hash.Length** Represents the length of the hash of the file requesting elevation from low IL. +- **Hash** Represents the hash of the file requesting elevation from low IL. +- **HashAlgId** Represents the algorithm ID of the hash of the file requesting elevation from low IL. +- **telemetryFlags** Represents the details about the elevation prompt for CEIP data. +- **timeStamp** Represents the time stamp on the file requesting elevation. +- **fileVersionMS** Represents the major version of the file requesting elevation. +- **fileVersionLS** Represents the minor version of the file requesting elevation. + + +## Common data fields + +### Common Data Fields.MS.Device.DeviceInventory.Change + +These fields are added whenever Ms.Device.DeviceInventoryChange is included in the event. + +The following fields are available: + +- **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. +- **objectType** Indicates the object type that the event applies to. +- **Action** The change that was invoked on a device inventory object. +- **inventoryId** Device ID used for Compatibility testing + + +### Common Data Fields.TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate.PreUpgradeSettings + +These fields are added whenever PreUpgradeSettings is included in the event. + +The following fields are available: + +- **HKLM_SensorPermissionState.SensorPermissionState** The state of the Location service before the feature update completed. +- **HKLM_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the device. +- **HKCU_SensorPermissionState.SensorPermissionState** The state of the Location service when a user signs on before the feature update completed. +- **HKCU_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the current user. +- **HKLM_LocationPlatform.Status** The state of the location platform after the feature update has completed. +- **HKLM_LocationPlatform.HRESULT** The error code returned when trying to query the location platform for the device. +- **HKLM_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the device before the feature update completed. +- **HKLM_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the device. +- **HKCU_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the current user before the feature update completed. +- **HKCU_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the current user. +- **HKLM_AllowTelemetry.AllowTelemetry** The state of the Connected User Experiences and Telemetry component for the device before the feature update. +- **HKLM_AllowTelemetry.HRESULT** The error code returned when trying to query the Connected User Experiences and Telemetry conponent for the device. +- **HKLM_TIPC.Enabled** The state of TIPC for the device. +- **HKLM_TIPC.HRESULT** The error code returned when trying to query TIPC for the device. +- **HKCU_TIPC.Enabled** The state of TIPC for the current user. +- **HKCU_TIPC.HRESULT** The error code returned when trying to query TIPC for the current user. +- **HKLM_FlipAhead.FPEnabled** Is Flip Ahead enabled for the device before the feature update was completed? +- **HKLM_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the device. +- **HKCU_FlipAhead.FPEnabled** Is Flip Ahead enabled for the current user before the feature update was completed? +- **HKCU_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the current user. +- **HKLM_TailoredExperiences.TailoredExperiencesWithDiagnosticDataEnabled** Is Tailored Experiences with Diagnostics Data enabled for the current user after the feature update had completed? +- **HKCU_TailoredExperiences.HRESULT** The error code returned when trying to query Tailored Experiences with Diagnostics Data for the current user. +- **HKLM_AdvertisingID.Enabled** Is the adveristing ID enabled for the device? +- **HKLM_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the device. +- **HKCU_AdvertisingID.Enabled** Is the adveristing ID enabled for the current user? +- **HKCU_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the user. + + +### Common Data Fields.TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate.PostUpgradeSettings + +These fields are added whenever PostUpgradeSettings is included in the event. + +The following fields are available: + +- **HKLM_SensorPermissionState.SensorPermissionState** The state of the Location service after the feature update has completed. +- **HKLM_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the device. +- **HKCU_SensorPermissionState.SensorPermissionState** The state of the Location service when a user signs on after a feature update has completed. +- **HKCU_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the current user. +- **HKLM_LocationPlatform.Status** The state of the location platform after the feature update has completed. +- **HKLM_LocationPlatform.HRESULT** The error code returned when trying to query the location platform for the device. +- **HKLM_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the device after the feature update has completed. +- **HKLM_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the device. +- **HKCU_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the current user after the feature update has completed. +- **HKCU_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the current user. +- **HKLM_AllowTelemetry.AllowTelemetry** The state of the Connected User Experiences and Telemetry component for the device after the feature update. +- **HKLM_AllowTelemetry.HRESULT** The error code returned when trying to query the Connected User Experiences and Telemetry conponent for the device. +- **HKLM_TIPC.Enabled** The state of TIPC for the device. +- **HKLM_TIPC.HRESULT** The error code returned when trying to query TIPC for the device. +- **HKCU_TIPC.Enabled** The state of TIPC for the current user. +- **HKCU_TIPC.HRESULT** The error code returned when trying to query TIPC for the current user. +- **HKLM_FlipAhead.FPEnabled** Is Flip Ahead enabled for the device after the feature update has completed? +- **HKLM_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the device. +- **HKCU_FlipAhead.FPEnabled** Is Flip Ahead enabled for the current user after the feature update has completed? +- **HKCU_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the current user. +- **HKLM_TailoredExperiences.TailoredExperiencesWithDiagnosticDataEnabled** Is Tailored Experiences with Diagnostics Data enabled for the current user after the feature update had completed? +- **HKCU_TailoredExperiences.HRESULT** The error code returned when trying to query Tailored Experiences with Diagnostics Data for the current user. +- **HKLM_AdvertisingID.Enabled** Is the adveristing ID enabled for the device? +- **HKLM_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the device. +- **HKCU_AdvertisingID.Enabled** Is the adveristing ID enabled for the current user? +- **HKCU_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the user. + + +## Appraiser 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. +- **Context** Indicates what mode Appraiser is running in. Example: Setup or Diagnostic Data. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **Time** The client time of the event. + + +### Microsoft.Windows.Appraiser.General.TelemetryRunHealth + +A summary event indicating 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 if the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. +- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. +- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. +- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. +- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. +- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. +- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. +- **RunOnline** Indicates if appraiser was able to connect to Windows Update and theefore is making decisions using up-to-date driver coverage information. +- **RunResult** The hresult of the Appraiser diagnostic data run. +- **SendingUtc** Indicates if the Appraiser client is sending events during the current diagnostic data run. +- **StoreHandleIsNotNull** Obsolete, always set to false +- **TelementrySent** Indicates if diagnostic data was successfully sent. +- **ThrottlingUtc** Indicates if 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.EnterpriseScenarioWithDiagTrackServiceRunning + +The event that indicates that Appraiser has been triggered to run an enterprise scenario while the DiagTrack service is installed. This event can only be sent if a special flag is used to trigger the enterprise scenario. + +The following fields are available: + +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **Time** The client time of the event. + + +### Microsoft.Windows.Appraiser.General.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 are part of an anti-virus program. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **AvDisplayName** If the app is an anti-virus app, this is its display name. +- **AvProductState** Represents state of antivirus program with respect to whether it's 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** Does the anti-virus app have an upgrade.exe file? +- **IsAv** Is the file an anti-virus 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.Inventory.Core.InventoryApplicationDriverAdd + +This event represents the drivers that an application installs. + +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 + +This event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory component. + +### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd + +This event sends compatibility decision data about a file to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. +- **BlockingApplication** Are there any application issues that interfere with upgrade due to the file in question? +- **DisplayGenericMessage** Will be a generic message be shown for this file? +- **HardBlock** This file is blocked in the SDB. +- **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? +- **MigApplication** Does the file have a MigXML from the SDB associated with it that applies to the current upgrade mode? +- **MigRemoval** Does the file have a MigXML from the SDB that will cause the app to be removed on upgrade? +- **NeedsDismissAction** Will the file cause an action that can be dimissed? +- **NeedsInstallPostUpgradeData** After upgrade, the file will have a post-upgrade notification to install a replacement for the app. +- **NeedsNotifyPostUpgradeData** Does the file have a notification that should be shown after upgrade? +- **NeedsReinstallPostUpgradeData** After upgrade, this file will have a post-upgrade notification to reinstall the app. +- **NeedsUninstallAction** The file must be uninstalled to complete the upgrade. +- **SdbBlockUpgrade** The file is tagged as blocking upgrade in the SDB, +- **SdbBlockUpgradeCanReinstall** The file is tagged as blocking upgrade in the SDB. It can be reinstalled after upgrade. +- **SdbBlockUpgradeUntilUpdate** The file is tagged as blocking upgrade in the SDB. If the app is updated, the upgrade can proceed. +- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the SDB. It does not block upgrade. +- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. +- **SoftBlock** The file is softblocked in the SDB and has a warning. + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd + +This event sends blocking data about any compatibility blocking entries hit on the system that are not directly related to specific applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd + +This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **BlockingApplication** Are there are any application issues that interfere with upgrade due to matching info blocks? +- **DisplayGenericMessage** Will a generic message be shown for this block? +- **NeedsUninstallAction** Does the user need to take an action in setup due to a matching info block? +- **SdbBlockUpgrade** Is a matching info block blocking upgrade? +- **SdbBlockUpgradeCanReinstall** Is a matching info block blocking upgrade, but has the can reinstall tag? +- **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd + +This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd + +This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **BlockingApplication** Are there any application issues that interfere with upgrade due to matching info blocks? +- **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd + +This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd + +This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **NeedsInstallPostUpgradeData** Will the file have a notification after upgrade to install a replacement for the app? +- **NeedsNotifyPostUpgradeData** Should a notification be shown for this file after upgrade? +- **NeedsReinstallPostUpgradeData** Will the file have a notification after upgrade to reinstall the app? +- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the compatibility database (but is not blocking upgrade). + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd + +This event sends compatibility data for a PNP device, to help keep Windows up-to-date. + +The following fields are available: + +- **ActiveNetworkConnection** Is the device an active network device? +- **AppraiserVersion** The version of the appraiser file generating the events. +- **IsBootCritical** Is the device boot critical? +- **WuDriverCoverage** Is there 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.DecisionDevicePnpAdd + +This event sends compatibility decision data about a PNP device to help keep Windows up-to-date. + +The following fields are available: + +- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? +- **AppraiserVersion** The version of the appraiser file generating the events. +- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? +- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? +- **BlockingDevice** Is this PNP device blocking upgrade? +- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? +- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? +- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? +- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? +- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? +- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? +- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? +- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? +- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? +- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? +- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd + +This event sends compatibility database data about driver packages to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd + +This event sends decision data about driver package compatibility to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? +- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? +- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? +- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? +- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd + +This event sends basic metadata about the BIOS to determine whether it has a compatibility block. + +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.SystemMemoryAdd + +This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the device from upgrade due to memory restrictions? +- **MemoryRequirementViolated** Was a memory requirement violated? +- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). +- **ram** The amount of memory on the device. +- **ramKB** The amount of memory (in KB). +- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). +- **virtualKB** The amount of virtual memory (in KB). + + +### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd + +This event sends compatibility decision data about the BIOS to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the device blocked from upgrade due to a BIOS block? +- **HasBiosBlock** Does the device have a BIOS block? + + +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd + +This event sends compatibility database information about the BIOS to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **SdbEntries** An array of fields indicating the SDB entries that apply to this BIOS. + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd + +This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **CompareExchange128Support** Does the CPU support CompareExchange128? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd + +This event sends data indicating whether the system supports the LahfSahf CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **LahfSahfSupport** Does the CPU support LAHF/SAHF? + +### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd + +This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. +- **NXProcessorSupport** Does the processor support NX? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd + +This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **PrefetchWSupport** Does the processor support PrefetchW? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add + +This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **SSE2ProcessorSupport** Does the processor support SSE2? + + +### Microsoft.Windows.Appraiser.General.SystemWimAdd + +This event sends data indicating whether the operating system is running from a compressed WIM file, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **IsWimBoot** Is the current operating system running from a compressed WIM file? +- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. + + +### Microsoft.Windows.Appraiser.General.SystemTouchAdd + +This event sends data indicating whether the system supports touch, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? +- **MaximumTouches** The maximum number of touch points supported by the device hardware. + + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd + +This event sends data indicating whether the current operating system is activated, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. +- **WindowsNotActivatedDecision** Is the current operating system activated? + + +### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd + +This event sends data about the number of language packs installed on the system, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **HasLanguagePack** Does this device have 2 or more language packs? +- **LanguagePackCount** How many language packs are installed? + + +### Microsoft.Windows.Appraiser.General.SystemWlanAdd + +This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? +- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? +- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? +- **WlanExists** Does the device support WLAN at all? +- **WlanModulePresent** Are any WLAN modules present? +- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? + + +### Microsoft.Windows.Appraiser.General.InventoryMediaCenterAdd + +This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **EverLaunched** Has Windows Media Center ever been launched? +- **HasConfiguredTv** Has the user configured a TV tuner through Windows Media Center? +- **HasExtendedUserAccounts** Are any Windows Media Center Extender user accounts configured? +- **HasWatchedFolders** Are any folders configured for Windows Media Center to watch? +- **IsDefaultLauncher** Is Windows Media Center the default app for opening music or video files? +- **IsPaid** Is the user running a Windows Media Center edition that implies they paid for Windows Media Center? +- **IsSupported** Does the running OS support Windows Media Center? + + +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd + +This event sends decision data about the presence of Windows Media Center, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? +- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? +- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? +- **MediaCenterInUse** Is Windows Media Center actively being used? +- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? +- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? + + +### Microsoft.Windows.Appraiser.General.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_RS2** The total DatasourceApplicationFile objects targeting Windows 10 version 1703 present on this device. +- **DatasourceDevicePnp_RS2** The total DatasourceDevicePnp objects targeting Windows 10 version 1703 present on this device. +- **DatasourceDriverPackage_RS2** The total DatasourceDriverPackage objects targeting Windows 10 version 1703 present on this device. +- **DataSourceMatchingInfoBlock_RS2** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. +- **DataSourceMatchingInfoPassive_RS2** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1703 present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS2** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. +- **DatasourceSystemBios_RS2** The total DatasourceSystemBios objects targeting Windows 10 version 1703 present on this device. +- **DecisionApplicationFile_RS2** The total DecisionApplicationFile objects targeting Windows 10 version 1703 present on this device. +- **DecisionDevicePnp_RS2** The total DecisionDevicePnp objects targeting Windows 10 version 1703 present on this device. +- **DecisionDriverPackage_RS2** The total DecisionDriverPackage objects targeting Windows 10 version 1703 present on this device. +- **DecisionMatchingInfoBlock_RS2** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. +- **DecisionMatchingInfoPassive_RS2** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1703 present on this device. +- **DecisionMatchingInfoPostUpgrade_RS2** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. +- **DecisionMediaCenter_RS2** The total DecisionMediaCenter objects targeting Windows 10 version 1703 present on this device. +- **DecisionSystemBios_RS2** The total DecisionSystemBios objects targeting Windows 10 version 1703 present on this device. +- **InventoryApplicationFile** The total InventoryApplicationFile objects that are present on this device. +- **InventoryLanguagePack** The total InventoryLanguagePack objects that are present on this device. +- **InventoryMediaCenter** The total InventoryMediaCenter objects that are present on this device. +- **InventorySystemBios** The total InventorySystemBios objects that are present on this device. +- **InventoryUplevelDriverPackage** The total InventoryUplevelDriverPackage objects that are present on this device. +- **PCFP** An ID for the system that is calculated by hashing hardware identifiers. +- **SystemMemory** The total SystemMemory objects that are present on this device. +- **SystemProcessorCompareExchange** The total SystemProcessorCompareExchange objects that are present on this device. +- **SystemProcessorLahfSahf** The total SystemProcessorLahfSahf objects that are present on this device. +- **SystemProcessorNx** The total SystemProcessorNx objects that are present on this device. +- **SystemProcessorPrefetchW** The total SystemProcessorPrefetchW objects that are present on this device. +- **SystemProcessorSse2** The total SystemProcessorSse2 objects that are present on this device. +- **SystemTouch** The total SystemTouch objects that are present on this device. +- **SystemWim** The total SystemWim objects that are present on this device +- **SystemWindowsActivationStatus** The total SystemWindowsActivationStatus objects that are present on this device. +- **SystemWlan** The total SystemWlan objects that are present on this device. +- **Wmdrm_RS2** The total Wmdrm objects targeting Windows 10 version 1703 present on this device. +- **DatasourceApplicationFile_RS3** "The total DecisionApplicationFile objects targeting the next release of Windows on this device. " +- **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. +- **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. +- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. +- **DecisionApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. +- **DecisionDriverPackage_RS3** The total DecisionDriverPackage objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. +- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. +- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync + +This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync + +This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync + +This event indicates that a new set of SystemProcessorSse2Add events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync + +This event indicates that a new set of InventorySystemBiosAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync + +This event indicates that a new set of DecisionSystemBiosAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync + +This event indicates that a new set of SystemMemoryAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync + +This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync + +This event indicates that a new set of SystemProcessorNxAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync + +This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWimStartSync + +This event indicates that a new set of SystemWimAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync + +This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemTouchStartSync + +This event indicates that a new set of SystemTouchAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageEndSync + +This event indicates that a full set of DatasourceDriverPackageAdd events has been sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWlanStartSync + +This event indicates that a new set of SystemWlanAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync + +This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync + +This event indicates that a new set of DecisionMediaCenterAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync + +This event indicates that a new set of InventoryMediaCenterAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync + +This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. + +The 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. + +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 indicates that a new set of InventoryApplicationFileAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.WmdrmStartSync + +This event indicates that a new set of WmdrmAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveEndSync + +This event indicates that a full set of DataSourceMatchingInfoPassiveAdd events have been sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync + +This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync + +This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync + +This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync + +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +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. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync + +This event indicates that a new set of InventoryLanguagePackAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync + +This event indicates that the DecisionDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync + +This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. + +The 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. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### 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. + +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.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. + +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 GUID 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, post-rename. +- **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.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.DatasourceApplicationFileRemove + +This event indicates that the DatasourceApplicationFile object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove + +This event indicates that the DatasourceDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove + +This event indicates that the DatasourceDriverPackage object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove + +This event indicates that the SystemProcessorSse2 object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove + +This event indicates that the InventoryUplevelDriverPackage object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove + +This event indicates that the DecisionMediaCenter object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove + +This event indicates that the InventoryMediaCenter object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove + +This event indicates that the DatasourceSystemBios object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove + +This event indicates Indicates that the DecisionApplicationFile object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove + +This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemTouchRemove + +"This event indicates that the SystemTouch object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove + +This event indicates that the SystemWindowsActivationStatus object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWlanRemove + +"This event indicates that the SystemWlan object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove + +This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove + +This event indicates that the SystemProcessorNx object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove + +This event indicates that the DataSourceMatchingInfoBlock object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove + +This event indicates that the DecisionDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove + +This event Indicates that the DecisionMatchingInfoPassive object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemMemoryRemove + +This event that the SystemMemory object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove + +This event indicates that the DecisionMatchingInfoBlock object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove + +This event indicates that the DataSourceMatchingInfoPassive object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove + +This event indicates that the InventoryApplicationFile object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWimRemove + +"This event indicates that the SystemWim object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove + +"This event indicates that the InventorySystemBios object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.WmdrmRemove + +This event indicates that the Wmdrm object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove + +"This event indicates that the SystemProcessorLahfSahf object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove + +This event indicates that the InventoryLanguagePack object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove + +This event indicates that the DecisionDriverPackage object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove + +This event indicates that the DecisionSystemBios object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove + +"This event indicates that the SystemProcessorCompareExchange object is no longer present. " + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove + +This event indicates that the SystemProcessorPrefetchW object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryDriverBinaryEndSync + +This event indicates that a full set of InventoryDriverBinaryAdd events has been sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + +## Census events + +### 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.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: + +- **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** Represents the type of enrollment, such as MDM or Intune, for a particular device. +- **HashedDomain** The hashed representation of the user domain used for login. +- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false +- **IsDERequirementMet** Represents if the device can do device encryption. +- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption +- **IsDomainJoined** Indicates whether a machine is joined to a domain. +- **IsEDPEnabled** Represents if Enterprise data protected on the device. +- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. +- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID +- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise 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.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: + +- **CensusVersion** The version of Census that generated the current data for this device. +- **IEVersion** Retrieves which version of Internet Explorer is running on this device. + + +### 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.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 +- **InternalPrimaryDisplayType** Represents the type of technology used in the monitor, such as Plasma, LED, LCOS, etc. +- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine +- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. +- **VRAMDedicated** Retrieves the video RAM in MB. +- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. +- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. + + +### Census.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 diagnostic data sample rate assigned to the device. +- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. +- **FlightIds** A list of the different Windows Insider builds on this device. +- **FlightingBranchName** The name of the Windows Insider branch currently used by the device. +- **IsFlightsDisabled** Represents if the device is participating in the Windows Insider program. +- **MSA_Accounts** Represents a list of hashed IDs of the Microsoft Accounts that are flighting (pre-release builds) on this device. +- **SSRK** Retrieves the mobile targeting settings. + + +### Census.Hardware + +This event sends data about the device, including hardware type, OEM brand, model line, model, diagnostic data 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** The supported Direct3D version. +- **DeviceColor** Indicates a color of the device. +- **DeviceForm** Indicates the form as per the device classification. +- **DeviceName** The device name that is set by the user. +- **DigitizerSupport** Is a digitizer supported? +- **DUID** The device unique ID. +- **Gyroscope** Indicates whether the device has a gyroscope. +- **InventoryId** The device ID used for compatibility testing. +- **Magnetometer** Indicates whether the device has a magnetometer. +- **NFCProximity** Indicates whether the device supports NFC. +- **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 diagnostic data level the user has opted into, such as Basic or Enhanced. +- **TelemetryLevelLimitEnhanced** The diagnostic data level for Windows Analytics-based solutions. +- **TelemetrySettingAuthority** Determines who set the diagnostic data level, such as GP, MDM, or the user. +- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. +- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? + + +### Census.Memory + +This event sends data about the memory on the device, including ROM and RAM, 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** The 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 Microsoft Store. +- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. +- **OSEdition** Retrieves the version of the current OS. +- **OSInstallDateTime** Retrieves the date the OS was installed using ISO 8601 (Date part) == yyyy-mm-dd +- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc +- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). +- **OSSKU** Retrieves the Friendly Name of OS Edition. +- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. +- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. +- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. +- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. +- **ProductActivationResult** Returns Boolean if the OS Activation was successful. +- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. +- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. +- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. +- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. +- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. +- **ServiceProductKeyID** Retrieves the License key of the KMS +- **SharedPCMode** Returns Boolean for 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.Processor + +This event sends data about the processor (architecture, speed, number of cores, manufacturer, and model number), to help keep Windows up to date. + +The following fields are available: + +- **KvaShadow** Microcode info of the processor. +- **MMSettingOverride** Microcode setting of the processor. +- **MMSettingOverrideMask** Microcode setting override of the processor. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. +- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. +- **ProcessorCores** Retrieves the number of cores in the processor. +- **ProcessorIdentifier** The processor identifier of a manufacturer. +- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. +- **ProcessorModel** Retrieves the name of the processor model. +- **ProcessorPhysicalCores** Number of physical cores in the processor. +- **ProcessorUpdateRevision** The microcode version. +- **SocketCount** Number of physical CPU sockets of the machine. +- **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. + +- **AvailableSecurityProperties** Enumerates and reports state on the relevant security properties for Device Guard. +- **CGRunning** Is Credential Guard running? +- **DGState** A summary of the Device Guard state. +- **HVCIRunning** Is HVCI running? +- **IsSawGuest** Describes whether the device is running as a Secure Admin Workstation Guest. +- **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host. +- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. +- **SecureBootCapable** Is this device capable of running Secure Boot? +- **VBSState** Is virtualization-based security enabled, disabled, 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. +- **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 admininistrator (MDM or Group Policy) in the context of speech functionalities. +- **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. +- **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. + + + +### Census.Storage + +This event sends data about the total capacity of the system volume and primary disk, 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). +- **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: + +- **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 + + +### 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.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#HASH#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#HASH#1 Hypervisors. +- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. +- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. + + + + + + + +### Census.WU + +This event sends data about the Windows update server and other App store policies, 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. +- **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). + +### Census.Xbox + +This event sends data about the Xbox Console, such as Serial Number and DeviceId, to help keep Windows up to date. + +The following fields are available: + +- **XboxConsolePreferredLanguage** Retrieves the preferred language selected by the user on Xbox console. +- **XboxConsoleSerialNumber** Retrieves the serial number of the Xbox console. +- **XboxLiveDeviceId** Retrieves the unique device id of the console. +- **XboxLiveSandboxId** Retrieves the developer sandbox id if the device is internal to MS. + + + + +## Diagnostic data events + +### TelClientSynthetic.AuthorizationInfo_Startup + +This event sends data indicating that a device has undergone a change of diagnostic data opt-in level detected at UTC startup, to help keep Windows up to date. + +The following fields are available: + +- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto diagnostic data from the OS provider groups. +- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS diagnostic data. Non-OS diagnostic data is responsible for providing its own opt-in mechanism. +- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. +- **CanCollectHeartbeats** True if UTC is allowed to collect heartbeats. +- **CanCollectOsTelemetry** True if UTC is allowed to collect diagnostic data from the OS provider groups. +- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. +- **CanPerformScripting** True if UTC is allowed to perform scripting. +- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. +- **CanReportScenarios** True if UTC is allowed to load and report scenario completion, failure, and cancellation events. +- **PreviousPermissions** Bitmask representing the previously configured permissions since the diagnostic data client was last started. +- **TransitionFromEverythingOff** True if this transition is moving from not allowing core diagnostic data to allowing core diagnostic data. + + +### TelClientSynthetic.AuthorizationInfo_RuntimeTransition + +This event sends data indicating that a device has undergone a change of diagnostic data opt-in level during the runtime of the device (not at UTC boot or offline), to help keep Windows up to date. + +The following fields are available: + +- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto diagnostic data from the OS provider groups. +- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS diagnostic data. Non-OS diagnostic data is responsible for providing its own opt-in mechanism. +- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. +- **CanCollectHeartbeats** True if UTC is allowed to collect heartbeats. +- **CanCollectOsTelemetry** True if UTC is allowed to collect diagnostic data from the OS provider groups. +- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. +- **CanPerformScripting** True if UTC is allowed to perform scripting. +- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. +- **CanReportScenarios** True if UTC is allowed to load and report scenario completion, failure, and cancellation events. +- **PreviousPermissions** Bitmask representing the previously configured permissions since the diagnostic data opt-in level was last changed. +- **TransitionFromEverythingOff** True if this transition is moving from not allowing core diagnostic data to allowing core diagnostic data. + + +### TelClientSynthetic.ConnectivityHeartBeat_0 + +This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads diagnostic data 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 fires an event. A Connectivity Heartbeat event also fires 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. +- **LastConntectivityLossTime** 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 data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. + +The following fields are available: + +- **AgentConnectionErrorsCount** The number of non-timeout errors associated with the host/agent channel. +- **CensusExitCode** The last exit code of the Census task. +- **CensusStartTime** The time of the last Census run. +- **CensusTaskEnabled** Indicates whether Census is enabled. +- **ConsumerDroppedCount** The number of events dropped by the consumer layer of the diagnostic data client. +- **CriticalDataDbDroppedCount** The number of critical data sampled events that were dropped at the database layer. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. +- **CriticalOverflowEntersCounter** The number of times a critical overflow mode was entered into the event database. +- **DbCriticalDroppedCount** The total number of dropped critical events in the event database. +- **DbDroppedCount** The number of events that were dropped because the database was full. +- **DecodingDroppedCount** The number of events dropped because of decoding failures. +- **EnteringCriticalOverflowDroppedCounter** The number of events that was dropped because a critical overflow mode was initiated. +- **EtwDroppedBufferCount** The number of buffers dropped in the CUET ETW session. +- **EtwDroppedCount** The number of events dropped by the ETW layer of the diagnostic data client. +- **EventSubStoreResetCounter** The number of times the event database was reset. +- **EventSubStoreResetSizeSum** The total size of the event database across all resets reports in this instance. +- **EventsUploaded** The number of events that have been uploaded. +- **Flags** Flags that indicate device state, such as network, battery, and opt-in state. +- **FullTriggerBufferDroppedCount** The number of events that were dropped because the trigger buffer was full. +- **HeartBeatSequenceNumber** A monotonically increasing heartbeat counter. +- **InvalidHttpCodeCount** The number of invalid HTTP codes received from Vortex. +- **LastAgentConnectionError** The last non-timeout error that happened in the host/agent channel. +- **LastEventSizeOffender** The name of the last event that exceeded the maximum event size. +- **LastInvalidHttpCode** The last invalid HTTP code received from Vortex. +- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. +- **MaxInUseScenarioCounter** The soft maximum number of scenarios loaded by the Connected User Experiences and Telemetry component. +- **PreviousHeartBeatTime** The time of last heartbeat event. This allows chaining of events. +- **SettingsHttpAttempts** The number of attempts to contact the OneSettings service. +- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. +- **ThrottledDroppedCount** The number of events dropped due to throttling of noisy providers. +- **UploaderDroppedCount** The number of events dropped by the uploader layer of the diagnostic data client. +- **VortexFailuresTimeout** The number of timeout failures received from Vortex. +- **VortexHttpAttempts** The number of attempts to contact the Vortex service. +- **VortexHttpFailures4xx** The number of 400-499 error codes received from Vortex. +- **VortexHttpFailures5xx** The number of 500-599 error codes received from Vortex. + + +### TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate + +This event sends basic data on privacy settings before and after a feature update. This is used to ensure that customer privacy settings are correctly migrated across feature updates. + +The following fields are available: + +- **PostUpgradeSettings** The privacy settings after a feature update. +- **PreUpgradeSettings** The privacy settings before a feature update. + + +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **DisplayAdapterLuid** The display adapter LUID. +- **DriverDate** The date of the display driver. +- **DriverRank** The rank of the display driver. +- **DriverVersion** The display driver version. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **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. +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. + + +## 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 diagnostic data backend. +- **AppTimeStamp** The date/time stamp of the app. +- **AppVersion** The version of the app that has crashed. +- **ExceptionCode** The exception code returned by the process that has crashed. +- **ExceptionOffset** The address where the exception had occurred. +- **Flags** "Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. " +- **ModName** Exception module name (e.g. bar.dll). +- **ModTimeStamp** The date/time stamp of the module. +- **ModVersion** The version of the module that has crashed. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has crashed. +- **ProcessId** The ID of the process that has crashed. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported +- **TargetAsId** The sequence number for the hanging process. + + +## Feature update events + +### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed + +This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state + +The 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 + +Indicates that the uninstall was properly configured and that a system reboot was initiated + +The following fields are available: + +- **name** Name of the event + + +## 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 diagnostic data backend. +- **AppVersion** The version of the app that has hung. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + +## Inventory events + +### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync + +This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd + +This event sends basic metadata about the USB hubs on the device + +The 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.General.InventoryMiscellaneousOfficeVBARuleViolationsAdd + +This event provides data on Microsoft Office VBA rule violations, including a rollup count per violation type, giving an indication of remediation requirements for an organization. The event identifier is a unique GUID, associated with the validation rule + +The following fields are available: + +- **Count** Count of total Microsoft Office VBA rule violations + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd + +This event provides data on the installed Office Add-ins. + +- **AddInCLSID** The CLSID key office for the Office addin. +- **AddInId** The identifier of the Office addin. +- **AddinType** The type of the Office addin. +- **BinFileTimestamp** The timestamp of the Office addin. +- **BinFileVersion** The version of the Office addin. +- **Description** The description of the Office addin. +- **FileId** The file ID of the Office addin. +- **FriendlyName** The friendly name of the Office addin. +- **FullPath** The full path to the Office addin. +- **LoadBehavior** A Uint32 that describes the load behavior. +- **LoadTime** The load time for the Office addin. +- **OfficeApplication** The OIffice application for this addin. +- **OfficeArchitecture** The architecture of the addin. +- **OfficeVersion** The Office version for this addin. +- **OutlookCrashingAddin** A boolean value that indicates if crashes have been found for this addin. +- **ProductCompany** The name of the company associated with the Office addin. +- **ProductName** The product name associated with the Office addin. +- **ProductVersion** The version associated with the Office addin. +- **ProgramId** The unique program identifier of the Office addin. +- **Provider** The provider name for this addin. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove + +This event indicates that the particular data object represented by the objectInstanceId is no longer present. + +There are no fields in this event. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsAdd + +This event provides insight data on the installed Office products. + +The following fields are available: + +- **OfficeApplication** The name of the Office application. +- **OfficeArchitecture** The bitness of the Office application. +- **OfficeVersion** The version of the Office application. +- **Value** The insights collected about this entity. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsRemove + +This event indicates that the particular data object represented by the objectInstanceId is no longer present. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsStartSync + +This diagnostic event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsAdd + +This event describes various Office settings. + +The following fields are available: + +- **BrowserFlags** Browser flags for Office-related products. +- **ExchangeProviderFlags** Provider policies for Office Exchange. +- **SharedComputerLicensing** Office shared computer licensing policies. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAAdd + +This event provides a summary rollup count of conditions encountered while performing a local scan of Office files, analyzing for known VBA programmability compatibility issues between legacy office version and ProPlus, and between 32 and 64-bit versions + +The 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 +- **Issues** Count of files with issues detected +- **Issues_x64** Count of files with 64-bit issues detected +- **IssuesNone** Count of files with no issues detected +- **IssuesNone_x64** Count of files with no 64-bit issues detected +- **Locked** Count of files that were locked, preventing scanning +- **NoVBA** Count of files with no VBA inside +- **Protected** Count of files that were password protected, preventing scanning +- **RemLimited** Count of files that require limited remediation changes +- **RemLimited_x64** Count of files that require limited remediation changes for 64-bit issues +- **RemSignificant** Count of files that require significant remediation changes +- **RemSignificant_x64** Count of files that require significant remediation changes for 64-bit issues +- **Score** Overall compatibility score calculated for scanned content +- **Score_x64** Overall 64-bit compatibility score calculated for scanned content +- **Total** Total number of files scanned +- **Validation** Count of files that require additional manual validation +- **Validation_x64** Count of files that require additional manual validation for 64-bit issues + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARemove + +This event indicates that the particular data object represented by the objectInstanceId is no longer present. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsRemove + +This event indicates that the particular data object represented by the objectInstanceId is no longer present. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync + +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd + +This event provides the basic metadata about the frameworks an application may depend on + +The following fields are available: + +- **FileId** A hash that uniquely identifies a file +- **Frameworks** The list of frameworks this file depends on +- **InventoryVersion** The version of the inventory file generating the events +- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it + + +### Microsoft.Windows.Inventory.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. + +The following fields are available: + +- **IndicatorValue** The indicator value +- **Value** Describes an operating system indicator that may be relevant for the device upgrade. + + +### Microsoft.Windows.Inventory.Indicators.Checksum + +This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. + +The following fields are available: + +- **ChecksumDictionary** A count of each operating system indicator. +- **PCFP** Equivalent to the InventoryId field that is found in other core events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd + +This event sends basic metadata about an application on the system to help keep Windows up to date. + +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 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 (ARP, MSI, Appx, etc...) +- **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.InventoryApplicationRemove + +This event indicates that a new set of InventoryDevicePnpAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync + +This event indicates that a new set of InventoryApplicationAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove + +This event indicates that the InventoryDeviceContainer object is no longer present. + +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. + +The following fields are available: + +- **Class** The class name for the device driver. +- **ClassGuid** The class GUID for the device driver. +- **Date** The driver package date. +- **Directory** The path to the driver package. +- **DriverInBox** Is the driver included with the operating system? +- **Inf** The INF name of the driver package. +- **InventoryVersion** The version of the inventory file generating the events. +- **Provider** The provider for the driver package. +- **SubmissionId** The HLK submission ID for the driver package. +- **Version** The version of the driver package. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync + +This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove + +This event indicates that the InventoryDriverBinary object is no longer present. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove + +This event indicates that the InventoryDriverPackageRemove object is no longer present. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove + +This event indicates that the InventoryDevicePnpRemove object is no longer present. + +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 PNP device) to help keep Windows up-to-date. + +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 model GUID. +- **ModelName** The model name. +- **ModelNumber** The model number for the device container. +- **PrimaryCategory** The primary category for the device container. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync + +This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync + +This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync + +This event indicates that a new set of InventoryDriverPackageAdd events will be sent. + +The following fields are available: + +- **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. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync + +This event indicates that a new set of InventoryDevicePnpAdd events will be sent. + +The 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 PNP device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. + +The following fields are available: + +- **Audio_CaptureDriver** The Audio device capture driver endpoint. +- **Audio_RenderDriver** The Audio device render driver endpoint. +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd + +This event represents the basic metadata about a PNP device and its associated driver + +The following fields are available: + +- **class** The device setup class of the driver loaded for the device +- **classGuid** The device class GUID from the driver package +- **COMPID** A JSON array the provides the value and order of the compatible ID tree for the device. +- **ContainerId** A system-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the device. +- **description** The device description +- **deviceState** 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 +- **DriverId** A unique identifier for the installed device. +- **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** The bus that enumerated the device +- **HWID** A JSON array that provides the value and order of the HWID tree for the device. +- **Inf** The INF file name. +- **installState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InventoryVersion** The version of the inventory file generating the events. +- **lowerClassFilters** Lower filter class drivers IDs installed for the device. +- **lowerFilters** Lower filter drivers IDs installed for the device +- **manufacturer** The device manufacturer +- **matchingID** Represents the hardware ID or compatible ID that Windows uses to install a device instance +- **model** The device model +- **parentId** Device instance id of the parent of the device +- **ProblemCode** The current error code for the device. +- **provider** The device provider +- **service** The device service name#N##N##N##N##N# +- **STACKID** A JSON array that provides the value and order of the STACKID tree for the device. +- **upperClassFilters** Upper filter class drivers IDs installed for the device +- **upperFilters** Upper filter drivers IDs installed for the device + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd + +This event provides the basic metadata about driver binaries running on the system + +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 device service name +- **WdfVersion** The Windows Driver Framework version. + + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicator + +This event sends value data about the markers on custom devices, to help keep Windows up to date. The formal name for markers is UEX Indicators. See marker list for definitions. + +The following fields are available: + +- **IndicatorValue** Value of the marker/indicator +- **Key** Name of the marker/indicator + + +### 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.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 devicecensus objects in cache +- **DriverPackageExtended** A count of driverpackageextended objects in cache +- **File** A count of file objects in cache +- **FileSigningInfo** A count of file signing info objects in cache. +- **Generic** A count of generic objects in cache +- **HwItem** A count of hwitem objects in cache +- **InventoryApplication** A count of application objects in cache +- **InventoryApplicationFile** A count of application file objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache +- **InventoryDeviceInterface** A count of inventory device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache +- **InventoryDevicePnp** A count of devicepnp objects in cache +- **InventoryDriverBinary** A count of driver binary objects in cache +- **InventoryDriverPackage** A count of device objects in cache +- **Metadata** A count of metadata objects in cache +- **Orphan** A count of orphan file objects in cache +- **Programs** A count of program objects in cache + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync + +This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd + +This event retrieves information about what sensor interfaces are available on the device. + +The 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.General.InventoryMiscellaneousOfficeAddInStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd + +This event provides data on the installed Office identifiers. + +- **OAudienceData** The Office Audience descriptor. +- **OAudienceId** The Office Audience ID. +- **OMID** The Office machine ID. +- **OPlatform** The Office architecture. +- **OVersion** The Office version +- **OTenantId** The Office 365 Tenant GUID. +- **OWowMID** The Office machine ID. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd + +This event provides data on the installed Office-related Internet Explorer features. + +- **OIeFeatureAddon** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeMachineLockdown** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeMimeHandling** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeMimeSniffing** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeNoAxInstall** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeNoDownload** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeObjectCaching** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIePasswordDisable** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeSafeBind** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeSecurityBand** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeUncSaveCheck** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeValidateUrl** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeWebOcPopup** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeWinRestrict** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). +- **OIeZoneElevate** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd + +This event describes the Office products that are installed. + +- **OC2rApps** The Office Click-to-Run apps. +- **OC2rSkus** The Office Click-to-Run products. +- **OMsiApps** The Office MSI apps. +- **OProductCodes** The Office MSI product code. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAStartSync + +This event indicates that a new sync is being generated for this object type. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove + +This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. + +There are no fields in this event. + +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync + +This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. + +There are no fields in this event. + +## OneDrive events + +### Microsoft.OneDrive.Sync.Updater.OfficeRegistration + +This event determines the status of the OneDrive integration with Microsoft Office. + +The following fields are available: + +- **isValid** Is the Microsoft Office registration valid? + + +### Microsoft.OneDrive.Sync.Updater.UpdateTierReg + +This event determines status of the update tier registry values. + +The following fields are available: + +- **regReadEnterpriseHr** The HResult of the enterprise reg read value. +- **regReadTeamHr** The HResult of the team reg read value. + + +### Microsoft.OneDrive.Sync.Updater.RepairResult + +The event determines the result of the installation repair. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult + +This event determines the status when downloading the OneDrive update configuration file. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.SetupBinaryDownloadHResult + +This event indicates the status when downloading the OneDrive setup file. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult + +This event determines the outcome of the operation. + +The following fields are available: + +- **hr** The HResult of the operation. +- **IsLoggingEnabled** Is logging enabled? +- **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: + +- **winInetError** The HResult of the operation. + + +### 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. +- **SixtyFourBit** The status of the OneDrive overlay icon on a 32-bit operating system. +- **ThirtyTwoBit** The status of the OneDrive overlay icon on a 64-bit operating system. + + +### Microsoft.OneDrive.Sync.Updater.ComponentInstallState + +This event determines 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.CommonData + +This event contains basic OneDrive configuration data that helps to diagnose failures. + +The following fields are available: + +- **AppVersion** The version of the app. +- **BuildArch** Is the architecture x86 or x64? +- **Environment** Is the device on the production or int service? +- **IsMSFTInternal** Is this an internal Microsoft device? +- **MachineGuid** The CEIP machine ID. +- **Market** Which market is this in? +- **OfficeVersion** The version of Office that is installed. +- **OneDriveDeviceId** The OneDrive device ID. +- **OSDeviceName** Only if the device is internal to Microsoft, the device name. +- **OSUserName** Only if the device is internal to Microsoft, the user name. +- **UserGuid** A unique global user identifier. + + +### 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.RegisterStandaloneUpdaterAPIOperation + +This event is related to registering or unregistering the OneDrive update task. + +The following fields are available: + +- **APIName** The name of the API. +- **IsSuccess** Was the operation successful? +- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. +- **ScenarioName** The name of the scenario. +- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. + + +### Microsoft.OneDrive.Sync.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** Indicates the result code of the event +- **IsSuccess** Was the operation successful? +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation + +This event is related to the OS version when the OS is upgraded with OneDrive installed. + +The following fields are available: + +- **CurrentOneDriveVersion** The current version of OneDrive. +- **CurrentOSBuildBranch** The current branch of the operating system. +- **CurrentOSBuildNumber** The current build number of the operating system. +- **CurrentOSVersion** The current version of the operating system. +- **HResult** The HResult of the operation. +- **SourceOSBuildBranch** The source branch of the operating system. +- **SourceOSBuildNumber** The source build number of the operating system. +- **SourceOSVersion** The source version of the operating system. + + +### Microsoft.OneDrive.Sync.Setup.SetupCommonData + +This event contains basic OneDrive configuration data that helps to diagnose failures. + +The following fields are available: + +- **AppVersion** The version of the app. +- **BuildArchitecture** Is the architecture x86 or x64? +- **Environment** Is the device on the production or int service? +- **MachineGuid** The CEIP machine ID. +- **Market** Which market is this in? +- **MSFTInternal** Is this an internal Microsoft device? +- **OfficeVersionString** The version of Office that is installed. +- **OSDeviceName** Only if the device is internal to Microsoft, the device name. +- **OSUserName** Only if the device is internal to Microsoft, the user name. +- **UserGuid** The CEIP user ID. + + +## Setup events + +### 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.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up-to-date + +The following fields are available: + +- **ActivityId** Provides a unique Id to correlate events that occur between a activity start event, and a stop event +- **ActivityName** Provides a friendly name of the package type that belongs to the ActivityId (Setup, LanguagePack, GDR, Driver, etc.) +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### 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. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. + + +## Shared PC events + +### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount + +Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates. + +The following fields are available: + +- **accountType** The type of account that was deleted. Example: AD, AAD, or Local +- **userSid** The security identifier of the account. +- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. + + +### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation + +Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates + +The following fields are available: + +- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. +- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours + + +## Software update events + +### 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 +- **NumberOfApplicableUpdates** The number of updates which were 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 +- **WUDeviceID** The unique device ID controlled by the software distribution client +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **ServiceGuid** An ID which represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.) + + +### SoftwareUpdateClientTelemetry.SLSDiscovery + +This event sends data about the ability of Windows to discover the location of a backend server with which it must connect to perform updates or content acquisition, in order to determine disruptions in availability of update services and provide context for Windows Update errors. + +The following fields are available: + +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed +- **HResult** Indicates the result code of the event (success, cancellation, failure code HResult) +- **IsBackground** Indicates whether the SLS discovery event took place in the foreground or background +- **NextExpirationTime** Indicates when the SLS cab expires +- **ServiceID** An ID which represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.) +- **SusClientId** The unique device ID controlled by the software distribution client +- **UrlPath** Path to the SLS cab that was downloaded +- **WUAVersion** The version number of the software distribution client + + +### SoftwareUpdateClientTelemetry.Commit + +This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **ClientVersion** The version number of the software distribution client. +- **DeviceModel** What is the device model. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** State of call +- **EventType** "Possible values are ""Child"", ""Bundle"", or ""Driver""." +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) +- **RevisionNumber** Unique revision number of Update +- **ServerId** Identifier for the service to which the software distribution client is connecting, such as Windows Update and Microsoft Store. +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **UpdateId** Unique Update ID +- **WUDeviceID** UniqueDeviceID +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **FlightId** The specific id of the flight the device is getting +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client + + +### SoftwareUpdateClientTelemetry.DownloadCheckpoint + +This event provides a checkpoint between each of the Windows Update download phases for UUP content + +The following fields are available: + +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed +- **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 +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) +- **EventType** "Possible values are ""Child"", ""Bundle"", ""Relase"" or ""Driver""" +- **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 +- **FlightId** The unique identifier for each flight +- **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.) +- **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.UpdateMetadataIntegrity + +This event identifies whether updates have been tampered with and protects against man-in-the-middle attacks. + +The following fields are available: + +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** The secondary status code of the event. +- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. +- **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). +- **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 +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **StatusCode** The status code of the event. +- **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. +- **TimestampTokenCertThumbprint** "The thumbprint of the encoded timestamp token. " +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **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. +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast + + +### SoftwareUpdateClientTelemetry.Download + +This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. 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. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientManagedByWSUSServer** Indicates whether the client is managed by Windows Server Update Services (WSUS). +- **ClientVersion** The version number of the software distribution client. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **DeviceOEM** What OEM does this device belong to. +- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. +- **DownloadType** Differentiates the download type of SIH downloads between Metadata and Payload downloads. +- **Edition** Indicates the edition of Windows being used. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventNamespaceID** Indicates whether the event succeeded or failed. Has the format EventType+Event where Event is Succeeded, Cancelled, Failed, etc. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started 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. +- **IsAOACDevice** Is it Always On, Always Connected? +- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestrictionStatus** "More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be ""metered.""" +- **PackageFullName** The package name of the content. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **PlatformRole** The PowerPlatformRole as defined on MSDN +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. +- **RevisionNumber** Identifies 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 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. +- **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** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **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. +- **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. +- **WUSetting** Indicates the users' current updating settings. + + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date + +The following fields are available: + +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **AllowCachedResults** Indicates if the scan allowed using cached results. +- **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. +- **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 CDN's 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. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **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. +- **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. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MSIError** The last error that was encountered during a scan for updates. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 +- **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. +- **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. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). +- **ServiceUrl** The environment URL a device is configured to scan with +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncType** Describes the type of scan the event was +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **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 +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **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). +- **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). +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **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. +- **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. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **DriverSyncPassPerformed** Were drivers scanned this time? + + +### SoftwareUpdateClientTelemetry.Install + +This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle? +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Was the download a full download or a partial download? +- **ClientManagedByWSUSServer** Is the client managed by Windows Server Update Services (WSUS)? +- **ClientVersion** The version number of the software distribution client. +- **CSIErrorType** The stage of CBS installation where it failed. +- **CurrentMobileOperator** Mobile operator that device is currently connected to. +- **DeviceModel** What is the device model. +- **DeviceOEM** What OEM does this device belong to. +- **DownloadPriority** The priority of the download activity. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. +- **DriverPingBack** Contains information about the previous driver and system state. +- **Edition** Indicates the edition of Windows being used. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventNamespaceID** Indicates whether the event succeeded or failed. Has the format EventType+Event where Event is Succeeded, Cancelled, Failed, etc. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Are feature OS updates paused on the device? +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsAOACDevice** Is it Always On, Always Connected? (Mobile device usage model) +- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? +- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? +- **IsFirmware** Is this update a firmware update? +- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? +- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? +- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? +- **MergedUpdate** Was the OS update and a BSP update merged for installation? +- **MsiAction** The stage of MSI installation where it failed. +- **MsiProductCode** The unique identifier of the MSI installer. +- **PackageFullName** The package name of the content being installed. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **PlatformRole** The PowerPlatformRole as defined on MSDN. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). +- **QualityUpdatePause** Are quality OS updates paused on the device? +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. +- **RepeatSuccessInstallFlag** Indicates whether this specific piece of content had previously installed successful, for example if another user had already installed it. +- **RevisionNumber** The revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TransactionCode** The ID which represents a given MSI installation +- **UpdateId** Unique update ID +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **WUSetting** Indicates the user's current updating settings. + + +### SoftwareUpdateClientTelemetry.DownloadHeartbeat + +This event allows tracking of ongoing downloads and contains data to explain the current state of the download + +The following fields are available: + +- **BundleID** Identifier associated with the specific content bundle. If this value is found, it shouldn't report as all zeros +- **BytesTotal** Total bytes to transfer for this content +- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat +- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat +- **CurrentError** Last (transient) error encountered by the active download +- **DownloadFlags** Flags indicating if power state is ignored +- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) +- **IsNetworkMetered** "Indicates whether Windows considered the current network to be ?metered""" +- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any +- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any +- **PowerState** Indicates the power state of the device at the time of 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 +- **ServiceID** "Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) " +- **SuspendCount** Number of times this active download has entered a suspended state +- **SuspendReason** Last reason for why this active download entered a suspended state +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** The version number of the software distribution client +- **EventType** "Possible values are ""Child"", ""Bundle"", or ""Driver""" +- **FlightId** The unique identifier for each flight +- **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) +- **UpdateId** "Identifier associated with the specific piece of content " +- **WUDeviceID** "Unique device id controlled by the software distribution client " + + +## Update events + +### Update360Telemetry.UpdateAgentPostRebootResult + +This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario + +The following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase +- **FlightId** The unique identifier for each flight +- **ObjectId** Unique value for each Update Agent mode +- **RelatedCV** Correlation vector value generated from the latest USO scan +- **Result** Indicates the Hresult +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt +- **UpdateId** Unique ID for each update +- **PostRebootResult** Indicates the Hresult + + +### Update360Telemetry.UpdateAgent_Initialize + +This event sends data during the initialize phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current initialize phase. +- **FlightId** Unique ID for each flight. +- **FlightMetadata** Contains the FlightId and the build being flighted. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **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. +- **Result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled + + +### Update360Telemetry.UpdateAgent_DownloadRequest + +This event sends data during the download request phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current download request phase. +- **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. +- **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. +- **PackageSizeCanonical** Size of canonical packages in bytes +- **PackageSizeDiff** Size of diff packages in bytes +- **PackageSizeExpress** Size of express packages in bytes +- **Result** Result of the download request phase of update. +- **FlightId** Unique ID for each flight. +- **UpdateId** Unique ID for each update. +- **PackageCountTotalCanonical** Total number of canonical packages. +- **PackageCountTotalDiff** Total number of diff packages. +- **PackageCountTotalExpress** Total number of express packages. +- **DeletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. +- **RangeRequestState** Represents the state of the download range request. + + +### Update360Telemetry.UpdateAgent_Install + +This event sends data during the install phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **Result** "Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled " +- **FlightId** Unique ID for each flight. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgent_ModeStart + +This event sends data for the start of each mode during the process of updating Windows. + +The following fields are available: + +- **Mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **FlightId** Unique ID for each flight. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgent_SetupBoxLaunch + +This event sends data during the launching of the setup box when updating Windows. + +The following fields are available: + +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. 0 = false 1 = true +- **RelatedCV** Correlation vector value generated from the latest scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **FlightId** Unique ID for each flight. +- **UpdateId** Unique ID for each update. +- **SetupMode** Setup mode 1 = predownload, 2 = install, 3 = finalize +- **SandboxSize** The size of the sandbox folder on the device. + + +## Update notification events + +### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage + +This event indicates that Javascript is reporting a schema and a set of values for critical diagnostic data. + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on 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 +- **key1** Interaction data for the UI +- **key10** Interaction data for the UI +- **key11** Interaction data for the UI +- **key12** Interaction data for the UI +- **key13** Interaction data for the UI +- **key14** Interaction data for the UI +- **key15** Interaction data for the UI +- **key16** Interaction data for the UI +- **key17** Interaction data for the UI +- **key18** Interaction data for the UI +- **key19** Interaction data for the UI +- **key2** Interaction data for the UI +- **key20** Interaction data for the UI +- **key21** Interaction data for the UI +- **key22** Interaction data for the UI +- **key23** Interaction data for the UI +- **key24** Interaction data for the UI +- **key25** Interaction data for the UI +- **key26** Interaction data for the UI +- **key27** Interaction data for the UI +- **key28** Interaction data for the UI +- **key29** Interaction data for the UI +- **key3** Interaction data for the UI +- **key30** Interaction data for the UI +- **key4** Interaction data for the UI +- **key5** Interaction data for the UI +- **key6** Interaction data for the UI +- **key7** Interaction data for the UI +- **key8** Interaction data for the UI +- **key9** Interaction data for the UI +- **PackageVersion** Current package version of UNP +- **schema** Type of UI interaction + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat + +This event is sent at the start of each campaign, to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign + +This event indicates that the Campaign Manager is cleaning up the campaign content + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed + +This event is sent when a campaign completion status query fails + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat + +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed + +This event is sent when the Campaign Manager encounters an unexpected error while running the campaign + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure#N# +- **PackageVersion** Current UNP package version + + +## Upgrade events + +### Setup360Telemetry.PreDownloadUX + +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous operating system. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). +- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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. + + +### Setup360Telemetry.PreInstallQuiet + +This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. +- **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.Finalize + +This event sends data indicating that the device has invoked the finalize phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.PostRebootInstall + +This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. + + +### Setup360Telemetry.PreDownloadQuiet + +This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.OsUninstall + +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall 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. +- **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** 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 is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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. It's 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** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string 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.PreInstallUX + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX indicates the outcome of the PreinstallUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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: + +- **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. +- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.SummaryEvent + +This event provides the results from the WaaSMedic engine + +The following fields are available: + +- **detectionSummary** Result of each detection that ran +- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates +- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise +- **isManaged** Indicates the device is managed for updates +- **isWUConnected** Indicates the device is connected to Windows Update +- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions +- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates +- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on +- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client#N# +- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client#N# +- **versionString** Installed version of the WaaSMedic engine +- **hrEngineResult** Indicates the WaaSMedic engine operation error codes + + +### Microsoft.Windows.WaaSMedic.Summary + +This event provides the results of the WaaSMedic diagnostic run + +The following fields are available: + +- **detectionSummary** Result of each detection that ran +- **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 +- **versionString** Installed version of the WaaSMedic engine +- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates +- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise +- **isManaged** Indicates the device is managed for updates +- **isWUConnected** Indicates the device is connected to Windows Update +- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions +- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates +- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client +- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client + + +## 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). + + +## Microsoft 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. +- **IntentPFNs** Intent Product Family Name +- **IsBundle** Is this a bundle? +- **IsInteractive** Was this requested by a user? +- **IsMandatory** Was this a mandatory update? +- **IsRemediation** Was this a remediation install? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Flag indicating if this is an update. +- **IsWin32** Flag indicating if this is a Win32 app (not used). +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The product family name of the product being installed. +- **ProductId** The identity of the package or packages being installed. +- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. +- **UpdateId** Update ID (if this is an update) +- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. +- **WUContentId** The Windows Update content ID + + +### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense + +This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. +- **AttemptNumber** The total number of attempts to acquire this product. +- **BundleId** The bundle ID +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** HResult code to show the result of the operation (success/failure). +- **IntentPFNs** Intent Product Family Name +- **IsBundle** Is this a bundle? +- **IsInteractive** Did the user initiate the installation? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this happening after a device restore? +- **IsUpdate** Is this an update? +- **IsWin32** Flag indicating if this is a Win32app. +- **ParentBundledId** The product's parent bundle ID. +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to acquire this product. +- **UpdateId** The update ID (if this is an update) +- **UserAttemptNumber** The number of attempts by the user to acquire this product +- **WUContentId** The Windows Update content ID + + +### Microsoft.Windows.StoreAgent.Telemetry.EndDownload + +This event happens during the app update or installation when content is being downloaded at the end of the process to report success or failure. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. +- **AttemptNumber** Number of retry attempts before it was canceled. +- **BundleId** The identity of the Windows Insider build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **DownloadSize** The total size of the download. +- **ExtendedHResult** Any extended HResult error codes. +- **HResult** The result code of the last action performed. +- **IntentPFNs** Intent Product Family Name +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this initiated by the user? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this a restore of a previously acquired product? +- **IsUpdate** Is this an update? +- **IsWin32** Flag indicating if this is a Win32 app (unused). +- **ParentBundleId** The parent bundle ID (if it's part of a bundle). +- **PFN** The Product Family Name of the app being download. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The number of attempts by the system to download. +- **UpdateId** Update ID (if this is an update) +- **UserAttemptNumber** The number of attempts by the user to download. +- **WUContentId** The Windows Update content ID. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate + +This event happens when an app update requires an updated Framework package and the process starts to download it. 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.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. It's 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 number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **ExtendedHResult** The extended HResult error code. +- **HResult** The result code of the last action performed. +- **IntentPFNs** Intent Product Family Name +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this an interactive installation? +- **IsMandatory** Is this a mandatory installation? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this automatically restoring a previously acquired product? +- **IsUpdate** Is this an update? +- **IsWin32** Flag indicating if this a Win32 app (unused). +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** Product Family Name of the product being installed. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UpdateId** Update ID (if this is an update) +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID + + +### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates + +This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IsApplicability** Is this request to only check if there are any applicable packages to install? +- **IsInteractive** Is this user requested? +- **IsOnline** Is the request doing an online check? + + +### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages + +This event is sent after searching for update packages to install. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **AttemptNumber** The total number of retry attempts before it was canceled. +- **BundleId** The identity of the build associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **HResult** The result code of the last action performed. +- **IntentPFNs** The licensing identity of this package. +- **IsBundle** Is this a bundle? +- **IsInteractive** Is this user requested? +- **IsMandatory** Is this a mandatory update? +- **IsRemediation** Is this repairing a previous installation? +- **IsRestore** Is this restoring previously acquired content? +- **IsUpdate** Is this an update? +- **IsWin32** Flag indicating if this a Win32 app (unused). +- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). +- **PFN** The name of the package or packages requested for install. +- **ProductId** The Store Product ID for the product being installed. +- **SystemAttemptNumber** The total number of system attempts. +- **UpdateId** Update ID (if this is an update) +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID + + +### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData + +This event is sent between download and installation to see if there is app data that needs to be restored from the cloud. It's used to keep Windows up-to-date and secure. + +The following fields are available: + +- **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 +- **IntentPFNs** The licensing identity of this package. +- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest + +This event happens at the beginning of the install process when an app update or new app is installed. It's used 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. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **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 +- **IntentPFNs** The licensing identity of this package. +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation + +This event happens when a product install or update is resumed either by a user or the system. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **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. +- **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. +- **PreviousHResult** The previous HResult error code. +- **PreviousInstallState** Previous state before the installation was paused. +- **ProductId** The Store Product ID for the product being installed. +- **RelatedCV** Correlation Vector for the original install before it was resumed. +- **SystemAttemptNumber** The total number of system attempts. +- **UserAttemptNumber** The total number of user attempts. +- **WUContentId** The Windows Update content ID +- **IntentPFNs** Intent Product Family Name +- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. +- **HResult** The result code of the last action performed before this operation. +- **IsUserRetry** Did the user initiate the retry? + + +### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest + +This event happens an app for a user needs to be updated. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **PFamN** The name of the product that is requested for update. + + +### 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: + +- **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 +- **IntentPFNs** Intent Product Family Name +- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest + +This event is sent when searching for update packages to install. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **CatalogId** The Store Product 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.EndUpdateMetadataPrepare + +This event happens after a scan for available app updates. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed. + + +### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest + +This event is sent after the app installations or updates. It's used 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.ResumeOperationRequest + +This event happens when a product install or update is resumed by a user and on installation retries. It's used 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.FulfillmentComplete + +This event is sent at the end of an app install or update and is used to track the very end of the install or update process. + +The following fields are available: + +- **FailedRetry** Was the installation or update retry 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 and is used to track the very beginning of the install or update process. + +The following fields are available: + +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. + + +## Windows Update Delivery Optimization events + +### 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? +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **bytesRequested** The total number of bytes requested for download. +- **cdnConnectionCount** The total number of connections made to the CDN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP address of the source CDN. +- **clientTelId** A random number used for device sampling. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). +- **downlinkUsageBps** The download speed (in bytes per second). +- **downloadMode** The download mode used for this file download session. +- **fileID** The ID of the file being downloaded. +- **fileSize** The size of the file being downloaded. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. +- **lanConnectionCount** The total number of connections made to peers in the same LAN. +- **numPeers** The total number of peers used for this download. +- **restrictedUpload** Is the upload restricted? +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the download session. +- **totalTimeMs** Duration of the download (in seconds). +- **updateID** The ID of the update being downloaded. +- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). +- **uplinkUsageBps** The upload speed (in bytes per second). +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **isVpn** Is the device connected to a Virtual Private Network? +- **usedMemoryStream** Did the download use memory streaming? + + +### 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? +- **clientTelId** A random number used for device sampling. +- **errorCode** The error code that was returned. +- **fileID** The ID of the file being paused. +- **reasonCode** The reason for pausing the download. +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the download session. +- **updateID** The ID of the update being paused. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **isVpn** Is the device connected to a Virtual Private Network? + + +### 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: + +- **clientTelId** A random number used for device sampling. +- **errorCode** The error code returned. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **jobID** The Windows Update job ID. + + +### 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? +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **clientTelId** A random number used for device sampling. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **errorCode** The error code that was returned. +- **experimentId** When running a test, this is used to correlate events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **isVpn** Is the device connected to a Virtual Private Network? +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the file download session. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Did the download use memory streaming? + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted + +This event describes the start of a new 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 CDN. +- **clientTelId** A random number used for device sampling. +- **deviceProfile** Identifies the usage or form factor. Example: Desktop or Xbox +- **diceRoll** The dice roll value used in sampling events. +- **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. +- **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 downloaded. +- **filePath** The path where the file will be written. +- **groupID** ID for the group. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** The ID of the Windows Update job. +- **minDiskSizeGB** The minimum disk size (in GB) required for Peering. +- **minDiskSizePolicyEnforced** Is the minimum disk size enforced via policy? +- **minFileSizePolicy** The minimum content file size policy to allow the download using Peering. +- **peerID** The ID for this Delivery Optimization client. +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the download session. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Did the download use memory streaming? +- **costFlags** A set of flags representing network cost. + + +### 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: + +- **cdnIp** The IP address of the CDN. +- **cdnUrl** The URL of the CDN. +- **clientTelId** A random number used for device sampling. +- **errorCode** The error code that was returned. +- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. +- **httpStatusCode** The HTTP status code returned by the CDN. +- **sessionID** The ID of the download session. +- **cdnHeaders** The HTTP headers returned by the CDN. +- **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. +- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET +- **requestSize** The size of the range requested from the CDN. +- **responseSize** The size of the range response received from the CDN. + + +## Windows Update events + +### 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** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit +- **objectId** Unique value for each Update Agent mode +- **relatedCV** Correlation vector value generated from the latest scan +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **sessionId** Unique value for each Update Agent mode attempt +- **updateId** Unique ID for each update + + +### 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 initialize phase +- **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 update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate#N# +- **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.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.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** Unique value for each Update Agent mode +- **relatedCV** Correlation vector value generated from the latest scan +- **result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **sessionId** Unique value for each Update Agent mode attempt +- **updateId** Unique ID for each update + + +### 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.Orchestrator.GameActive + +This event indicates that an enabled GameMode process prevented the device from restarting to complete an update + +The following fields are available: + +- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed +- **gameModeReason** Name of the enabled GameMode process that prevented the device from restarting to complete an update +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue + + +### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationCompleted + +This event sends data collected at the end of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. + +The following fields are available: + +- **MigrationDurationInMilliseconds** How long the DMF migration took (in milliseconds) +- **MigrationEndTime** A system timestamp of when the DMF migration completed. +- **RevisionNumbers** A collection of revision numbers for the updates associated with the DMF session. +- **UpdateIds** A collection of GUIDs for updates that are associated with the DMF session. +- **WuClientId** The GUID of the Windows Update client responsible for triggering the DMF migration + + +### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationStarted + +This event sends data collected at the beginning of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. + +The following fields are available: + +- **MigrationMicrosoftPhases** Revision numbers for the updates that were installed. +- **MigrationOEMPhases** WU Update IDs for the updates that were installed. +- **MigrationStartTime** The timestamp representing the beginning of the DMF migration +- **WuClientId** The GUID of the Windows Update client invoking DMF +- **RevisionNumbers** A collection of the revision numbers associated with the UpdateIds. +- **UpdateIds** A collection of GUIDs identifying the upgrades that are running. + + +### Microsoft.Windows.Update.DataMigrationFramework.MigratorResult + +This event sends DMF migrator data to help keep Windows up to date. + +The following fields are available: + +- **CurrentStep** This is the last step the migrator reported before returning a result. This tells us how far through the individual migrator the device was before failure. +- **ErrorCode** The result (as an HRESULT) of the migrator that just completed. +- **MigratorId** A GUID identifying the migrator that just completed. +- **MigratorName** The name of the migrator that just completed. +- **RunDurationInSeconds** The time it took for the migrator to complete. +- **TotalSteps** Migrators report progress in number of completed steps against the total steps. This is the total number of steps. + + +### Microsoft.Windows.Update.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 +- **detectionDeferreason** Reason for download not completing +- **errorCode** An error code represented as a hexadecimal value +- **eventScenario** End to end update session ID. +- **flightID** Unique update ID. +- **interactive** Identifies if session is user initiated. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.FlightInapplicable + +This event sends data on whether the update was applicable to the device, to help keep Windows up to date. + +The following fields are available: + +- **EventPublishedTime** time that the event was generated +- **revisionNumber** Revision Number of the Update +- **updateId** Unique Update ID +- **UpdateStatus** Integer that describes Update state +- **wuDeviceid** Unique Device ID +- **flightID** Unique Update ID +- **updateScenarioType** The update session type. + + +### Microsoft.Windows.Update.Orchestrator.PostInstall + +This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **bundleId** Update grouping ID. +- **bundleRevisionnumber** Bundle revision number. +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **eventScenario** End to end update session ID. +- **flightID** Unique update ID. +- **sessionType** Interactive vs. Background. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **EventPublishedTime** The time that the reboot failure occurred. +- **flightID** Unique update ID. +- **installRebootDeferreason** Reason for reboot not occurring. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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.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** Policy Count +- **policiesNamevaluesource** Policy Name +- **policyCacherefreshtime** Refresh time +- **updateInstalluxsetting** This shows whether a user has set policies via UX option +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired + +This event sends data about whether an update required a reboot to help keep Windows up to date. + +The following fields are available: + +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **wuDeviceid** Unique device ID used by Windows Update. +- **flightID** Unique update ID. +- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. +- **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. +- **updateScenarioType** The update session type. + + +### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled + +This event sends data about a required reboot that is scheduled with no user interaction, to help keep Windows up to date. + +The following fields are available: + +- **activeHoursApplicable** True, If Active Hours applicable on this device. False, otherwise. +- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False +- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. +- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. +- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. +- **revisionNumber** Revision number of the update that is getting installed with this reboot. +- **scheduledRebootTime** Time of the scheduled reboot +- **updateId** Update ID of the update that is getting installed with this reboot. +- **wuDeviceid** Unique device ID used by Windows Update. +- **rebootState** The state of the reboot. + + +### Microsoft.Windows.Update.Orchestrator.Detection + +This event sends launch data for a Windows Update scan to help keep Windows up to date. + +The following fields are available: + +- **deferReason** Reason why the device could not check for updates. +- **detectionBlockreason** Reason for detection not completing. +- **detectionDeferreason** A log of deferral reasons for every update state. +- **errorCode** The returned error code. +- **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** A unique update ID. +- **interactive** Identifies if 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.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. +- **revisionNumber** Revision number of the update. +- **updateId** Update ID. +- **wuDeviceid** Unique device ID used by Windows Update. +- **flightID** Unique update ID +- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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. +- **updateScenarioType** The update session type. + + +### 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? +- **rebootArgument** The arguments that are passed to the OS for the restarted. +- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? +- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. +- **rebootState** The state of the restart. +- **revisionNumber** The revision number of the OS being updated. +- **scheduledRebootTime** Time of the scheduled reboot +- **updateId** The Windows Update device GUID. +- **wuDeviceid** The Windows Update device GUID. +- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False + + +### 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.ToastDisplayedToScheduleReboot + +This event is sent when a toast notification is shown to the user about scheduling a device restart. + +The following fields are available: + +- **UtcTime** The Coordinated Universal Time when the toast notification was shown. + + +### 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: + +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **wuDeviceid** Device id on which the reboot is restored + + +### Microsoft.Windows.Update.Orchestrator.SystemNeeded + +This event sends data about why a device is unable to reboot, to help keep Windows up to date. + +The following fields are available: + +- **eventScenario** End to end update session ID. +- **revisionNumber** Update revision number. +- **systemNeededReason** Reason ID +- **updateId** Update ID. +- **wuDeviceid** Unique device ID used by Windows Update. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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. +- **updateScenarioType** The update session type. + + +### Microsoft.Windows.Update.UpdateStackServicing.CheckForUpdates + +This event sends data about the UpdateStackServicing check for updates, to help keep Windows up to date. + +The following fields are available: + +- **BspVersion** The version of the BSP. +- **CallerApplicationName** The name of the USS scheduled task. Example UssScheduled or UssBoot +- **ClientVersion** The version of the client. +- **CommercializationOperator** The name of the operator. +- **DetectionVersion** The string returned from the GetDetectionVersion export of the downloaded detection DLL. +- **DeviceName** The name of the device. +- **EventInstanceID** The USS session ID. +- **EventScenario** The scenario of the event. Example: Started, Failed, or Succeeded +- **OemName** The name of the manufacturer. +- **ServiceGuid** The GUID of the service. +- **StatusCode** The HRESULT code of the operation. +- **WUDeviceID** The Windows Update device ID. + + +### Microsoft.Windows.Update.Orchestrator.CommitFailed + +This events tracks when a device needs to restart after an update but did not. + +The following fields are available: + +- **errorCode** The error code that was returned. +- **wuDeviceid** The Windows Update device GUID. + + +### 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. +- **eventScenario** End to end update session ID. +- **interactive** Identifies if session is user initiated. +- **wuDeviceid** Unique device ID used by Windows Update. +- **flightUpdate** Flight update +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **minutesToCommit** The time it took to install updates. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **errorCode** The error code reppresented by a hexadecimal value. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **flightID** Unique update ID +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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. +- **updateScenarioType** The update session type. + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated right 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.DeferRestart + +This event indicates that a restart required for installing updates was postponed + +The following fields are available: + +- **filteredDeferReason** Indicates the raised, but ignorable, reasons that the USO didn't restart (for example, user active or low battery) +- **raisedDeferReason** Indicates the reason that the USO didn't restart. For example, user active or low battery +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue +- **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 + + +### Microsoft.Windows.Update.Orchestrator.DisplayNeeded + +Reboot 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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date +- **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 to ensure the correct update process and experience is provided to keep Windows up to date +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue + + +### 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** True, If Active Hours applicable on this device. False, otherwise +- **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** The state of the reboot +- **revisionNumber** Revision number of the update that is getting installed with this reboot +- **scheduledRebootTime** Time of the scheduled reboot +- **updateId** ID of the update that is getting installed with this reboot +- **wuDeviceid** Unique device ID used by Windows Update +- **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time \ No newline at end of file diff --git a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md index 06874ee41a..36a4bb61d5 100644 --- a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md +++ b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md @@ -1,27 +1,31 @@ --- -description: Learn more about the Windows diagnostic data that is gathered at the basic level. -title: Windows 10, version 1709 basic diagnostic events and fields (Windows 10) -keywords: privacy, diagnostic data +description: Use this article to learn more about what Windows diagnostic data is gathered at the basic level. +title: Windows 10, version 1803 basic diagnostic events and fields (Windows 10) +keywords: privacy, telemetry, diagnostic data ms.prod: w10 ms.mktglfcycl: manage ms.sitesec: library ms.pagetype: security localizationpriority: high -author: eross-msft -ms.author: lizross -ms.date: 03/13/2018 +author: brianlic-msft +ms.author: brianlic +ms.date: 4/10/2018 --- -# Windows 10, version 1709 basic level Windows diagnostic events and fields +# Windows 10, version 1803 basic level Windows diagnostic events and fields + + +> [!IMPORTANT] +> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. **Applies to** -- Windows 10, version 1709 +- Windows 10, version 1803 -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. +The Basic level 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 Windows Store. When the level is set to Basic, it also includes the Security level information. The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. @@ -30,13 +34,15 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: -- [Windows 10, version 1703 basic diagnostic events and fields](https://docs.microsoft.com/windows/configuration/basic-level-windows-diagnostic-events-and-fields-1703) -- [Manage connections from Windows operating system components to Microsoft services](https://docs.microsoft.com/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services) -- [Configure Windows diagnostic data in your organization](https://docs.microsoft.com/windows/configuration/configure-windows-diagnostic-data-in-your-organization) +- [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 telemetry in your organization](configure-windows-diagnostic-data-in-your-organization.md) -# Common data extensions + +## Common data extensions ### Common Data Extensions.App @@ -48,6 +54,8 @@ The following fields are available: - **userId** The userID as known by the application. - **env** The environment from which the event was logged. - **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. +- **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. +- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. ### Common Data Extensions.CS @@ -75,6 +83,8 @@ The following fields are available: - **tickets** A list of strings that represent entries in the HTTP header of the web request that includes this event. - **bseq** Upload buffer sequence number in the format \:\ - **mon** Combined monitor and event sequence numbers in the format \:\ +- **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. +- **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. ### Common Data Extensions.Device @@ -98,15 +108,9 @@ The following fields are available: - **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. - **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **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. -- **seqNum** 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. - **iKey** Represents an ID for applications or other logical groupings of events. -- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experiences and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **os** Represents the operating system name. -- **osVer** Represents the OS version, and its format is OS dependent. -- **appId** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **appVer** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related diagnostic data events across component boundaries. +- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. ### Common Data Extensions.OS @@ -119,6 +123,8 @@ The following fields are available: - **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. - **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. +- **os** Represents the operating system name. +- **ver** Represents the OS version, and its format is OS dependent. ### Common Data Extensions.User @@ -148,7 +154,7 @@ The following fields are available: ### Common Data Extensions.Consent UI Event -This User Account Control (UAC) diagnostic data point collects information on elevations that originate from low integrity levels. This occurs when a process running at low integrity level (IL) requires higher (administrator) privileges, and therefore requests for elevation via UAC (consent.exe). By better understanding the processes requesting these elevations, Microsoft can in turn improve the detection and handling of potentially malicious behavior in this path. +This User Account Control (UAC) telemetry point collects information on elevations that originate from low integrity levels. This occurs when a process running at low integrity level (IL) requires higher (administrator) privileges, and therefore requests for elevation via UAC (consent.exe). By better understanding the processes requesting these elevations, Microsoft can in turn improve the detection and handling of potentially malicious behavior in this path. The following fields are available: @@ -253,106 +259,270 @@ The following fields are available: ## Appraiser events -### Microsoft.Windows.Appraiser.General.RunContext +### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount -This event indicates what should be expected in the data payload. +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: -- **AppraiserBranch** The source branch in which the currently running version of Appraiser was built. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Context** Indicates what mode Appraiser is running in. Example: Setup or Diagnostic Data. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Time** The client time of the event. +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **DataSourceMatchingInfoBlock_RS1** No content is currently available. +- **DecisionMatchingInfoBlock_RS1** No content is currently available. +- **DecisionMediaCenter_RS1** No content is currently available. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** No content is currently available. +- **DecisionMatchingInfoPostUpgrade_RS1** No content is currently available. +- **DataSourceMatchingInfoPassive_RS1** No content is currently available. +- **DecisionMatchingInfoPassive_RS1** No content is currently available. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryMediaCenter** 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. +- **SystemMemory** The count of SystemMemory objects present on this machine. +- **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 count of SystemProcessorNx objects present on this machine. +- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. +- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWim** The count of SystemWim objects present on this machine. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **SystemWlan** The count of SystemWlan objects present on this machine. +- **DatasourceSystemBios_RS1** No content is currently available. +- **DecisionSystemBios_RS1** No content is currently available. +- **InventoryTest** No content is currently available. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. +- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **DatasourceDevicePnp_RS1** No content is currently available. +- **DatasourceDriverPackage_RS1** No content is currently available. +- **DecisionDevicePnp_RS1** No content is currently available. +- **DecisionDriverPackage_RS1** No content is currently available. +- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. +- **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. +- **DecisionApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. +- **DecisionDriverPackage_RS3** The total DecisionDriverPackage objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. +- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. +- **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd -A summary event indicating 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. +This event sends blocking data about any compatibility blocking entries hit on the system that are not directly related to specific applications or devices, to help keep Windows up-to-date. The following fields are available: -- **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 if the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and theefore is making decisions using up-to-date driver coverage information. -- **RunResult** The hresult of the Appraiser diagnostic data run. -- **SendingUtc** Indicates if the Appraiser client is sending events during the current diagnostic data run. -- **StoreHandleIsNotNull** Obsolete, always set to false -- **TelementrySent** Indicates if diagnostic data was successfully sent. -- **ThrottlingUtc** Indicates if 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. +- **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** Deprecated in RS3. An array of fields indicating the SDB entries that apply to this file. -### Microsoft.Windows.Appraiser.General.EnterpriseScenarioWithDiagTrackServiceRunning +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove -The event that indicates that Appraiser has been triggered to run an enterprise scenario while the DiagTrack service is installed. This event can only be sent if a special flag is used to trigger the enterprise scenario. +This event indicates that the DataSourceMatchingInfoBlock object is no longer present. The following fields are available: -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Time** The client time of the event. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync -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 are part of an anti-virus program. +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd + +This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** Deprecated in RS3. An array of fields indicating the SDB entries that apply to this file. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove + +This event indicates that the DataSourceMatchingInfoPassive object is no longer present. + +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. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd + +This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** Deprecated in RS3. An array of fields indicating the SDB entries that apply to this file. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove + +This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd + +Deprecated in RS3. This event sends compatibility information about a file to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file that is generating the events. +- **AvDisplayName** If it is an anti-virus app, this is its display name. +- **CompatModelIndex** The compatibility prediction for this file. +- **HasCitData** Is the file present in CIT data? +- **HasUpgradeExe** Does the anti-virus app have an upgrade.exe file? +- **IsAv** Is the file an anti-virus reporting EXE? +- **ResolveAttempted** This will always be an empty string when sending telemetry. +- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove + +This event indicates that the DatasourceApplicationFile object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync + +This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. + +The 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 PNP device, to help keep Windows up-to-date. + +The following fields are available: + +- **ActiveNetworkConnection** Is the device an active network device? +- **AppraiserVersion** The version of the appraiser file generating the events. +- **IsBootCritical** Is the device boot critical? +- **SdbEntries** An array of fields indicating the SDB entries that apply to this device. +- **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? +- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove + +This event indicates that the DatasourceDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync + +This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd + +This event sends compatibility database data about driver packages to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** Deprecated in RS3. An array of fields indicating the SDB entries that apply to this driver package. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove + +This event indicates that the DatasourceDriverPackage object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync + +This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd + +This event sends compatibility database information about the BIOS to help keep Windows up-to-date. The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. -- **AvDisplayName** If the app is an anti-virus app, this is its display name. -- **AvProductState** Represents state of antivirus program with respect to whether it's 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** Does the anti-virus app have an upgrade.exe file? -- **IsAv** Is the file an anti-virus 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). +- **SdbEntries** An array of fields indicating the SDB entries that apply to this BIOS. -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd -This event represents the drivers that an application installs. +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove + +This event indicates that the DatasourceSystemBios object is no longer present. The following fields are available: -- **InventoryVersion** The version of the inventory component -- **Programids** The unique program identifier the driver is associated with. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. -## Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync +### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync -This event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. +This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. The following fields are available: -- **InventoryVersion** The version of the inventory component. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd @@ -380,13 +550,98 @@ The following fields are available: - **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.DataSourceMatchingInfoBlockAdd -This event sends blocking data about any compatibility blocking entries hit on the system that are not directly related to specific applications or devices, to help keep Windows up-to-date. +### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove + +This event indicates Indicates that the DecisionApplicationFile object is no longer present. + +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. + +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 PNP device to help keep Windows up-to-date. The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. +- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? +- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? +- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? +- **BlockingDevice** Is this PNP device blocking upgrade? +- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? +- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? +- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? +- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? +- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? +- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? +- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? +- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? +- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? +- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? +- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? + + +### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove + +This event indicates that the DecisionDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync + +This event indicates that the DecisionDevicePnp object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd + +This event sends decision data about driver package compatibility to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. +- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? +- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? +- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? +- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? +- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? + + +### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove + +This event indicates that the DecisionDriverPackage object is no longer present. + +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. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + ### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd @@ -403,13 +658,23 @@ The following fields are available: - **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove -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 indicates that the DecisionMatchingInfoBlock object is no longer present. The following fields are available: -- **AppraiserVersion** The version of the appraiser file generating the events. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync + +This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + ### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd @@ -422,13 +687,22 @@ The following fields are available: - **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove -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 Indicates that the DecisionMatchingInfoPassive object is no longer present. The following fields are available: -- **AppraiserVersion** The version of the appraiser file generating the events. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync + +This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. ### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd @@ -444,93 +718,46 @@ The following fields are available: - **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.DatasourceDevicePnpAdd +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove -This event sends compatibility data for a PNP device, to help keep Windows up-to-date. - -The following fields are available: - -- **ActiveNetworkConnection** Is the device an active network device? -- **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Is the device boot critical? -- **WuDriverCoverage** Is there 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.DecisionDevicePnpAdd - -This event sends compatibility decision data about a PNP device to help keep Windows up-to-date. - -The following fields are available: - -- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? -- **AppraiserVersion** The version of the appraiser file generating the events. -- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? -- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? -- **BlockingDevice** Is this PNP device blocking upgrade? -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? -- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? -- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? -- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? -- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? -- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? -- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd - -This event sends compatibility database data about driver packages to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd - -This event sends basic metadata about the BIOS to determine whether it has a compatibility block. +This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. 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.SystemMemoryAdd +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd -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 sends decision data about the presence of Windows Media Center, to help keep Windows up-to-date. The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. -- **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). +- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? +- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? +- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? +- **MediaCenterInUse** Is Windows Media Center actively being used? +- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? +- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? + + +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove + +This event indicates that the DecisionMediaCenter object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync + +This event indicates that a new set of DecisionMediaCenterAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. ### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd @@ -544,101 +771,77 @@ The following fields are available: - **HasBiosBlock** Does the device have a BIOS block? -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd +### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove -This event sends compatibility database information about the BIOS to help keep Windows up-to-date. +This event indicates that the DecisionSystemBios object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync + +This event indicates that a new set of DecisionSystemBiosAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.GatedRegChange + +This event sends data about the results of running a set of quick-blocking instructions, to help keep Windows up to date. + +The following fields are available: + +- **NewData** The data in the registry value after the scan completed. +- **OldData** The previous data in the registry value before the scan ran. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **RegKey** The registry key name for which a result is being sent. +- **RegValue** The registry value for which a result is being sent. +- **Time** The client time of the event. + + +### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd + +This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or are part of an anti-virus program. The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. -- **SdbEntries** An array of fields indicating the SDB entries that apply to this BIOS. - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd - -This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **CompareExchange128Support** Does the CPU support CompareExchange128? +- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64 +- **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. +- **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. +- **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. +- **CompanyName** The company name of the vendor who developed this file. +- **FileId** A hash that uniquely identifies a file. +- **FileVersion** The File version field from the file metadata under Properties -> Details. +- **LinkDate** The date and time that this file was linked on. +- **LowerCaseLongPath** The full file path to the file that was inventoried on the device. +- **Name** The name of the file that was inventoried. +- **ProductName** The Product name field from the file metadata under Properties -> Details. +- **ProductVersion** The Product version field from the file metadata under Properties -> Details. +- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it. +- **Size** The size of the file (in hexadecimal bytes). -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd +### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove -This event sends data indicating whether the system supports the LahfSahf CPU requirement, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **LahfSahfSupport** Does the CPU support LAHF/SAHF? - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd - -This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up-to-date. +This event indicates that the InventoryApplicationFile object is no longer present. 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.SystemProcessorPrefetchWAdd +### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up-to-date. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. 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.SystemProcessorSse2Add - -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **SSE2ProcessorSupport** Does the processor support SSE2? - - -### Microsoft.Windows.Appraiser.General.SystemWimAdd - -This event sends data indicating whether the operating system is running from a compressed WIM file, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IsWimBoot** Is the current operating system running from a compressed WIM file? -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemTouchAdd - -This event sends data indicating whether the system supports touch, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? -- **MaximumTouches** The maximum number of touch points supported by the device hardware. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd - -This event sends data indicating whether the current operating system is activated, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. -- **WindowsNotActivatedDecision** Is the current operating system activated? ### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd @@ -652,19 +855,22 @@ The following fields are available: - **LanguagePackCount** How many language packs are installed? -### Microsoft.Windows.Appraiser.General.SystemWlanAdd +### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove -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 indicates that the InventoryLanguagePack object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync + +This event indicates that a new set of InventoryLanguagePackAdd events will be sent. The 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.InventoryMediaCenterAdd @@ -683,75 +889,62 @@ The following fields are available: - **IsSupported** Does the running OS support Windows Media Center? -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd +### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove -This event sends decision data about the presence of Windows Media Center, to help keep Windows up-to-date. +This event indicates that the InventoryMediaCenter object is no longer present. 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? +- **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount +### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. +This event indicates that a new set of InventoryMediaCenterAdd events will be sent. The following fields are available: -- **DatasourceApplicationFile_RS2** The total DatasourceApplicationFile objects targeting Windows 10 version 1703 present on this device. -- **DatasourceDevicePnp_RS2** The total DatasourceDevicePnp objects targeting Windows 10 version 1703 present on this device. -- **DatasourceDriverPackage_RS2** The total DatasourceDriverPackage objects targeting Windows 10 version 1703 present on this device. -- **DataSourceMatchingInfoBlock_RS2** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. -- **DataSourceMatchingInfoPassive_RS2** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1703 present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS2** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. -- **DatasourceSystemBios_RS2** The total DatasourceSystemBios objects targeting Windows 10 version 1703 present on this device. -- **DecisionApplicationFile_RS2** The total DecisionApplicationFile objects targeting Windows 10 version 1703 present on this device. -- **DecisionDevicePnp_RS2** The total DecisionDevicePnp objects targeting Windows 10 version 1703 present on this device. -- **DecisionDriverPackage_RS2** The total DecisionDriverPackage objects targeting Windows 10 version 1703 present on this device. -- **DecisionMatchingInfoBlock_RS2** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. -- **DecisionMatchingInfoPassive_RS2** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1703 present on this device. -- **DecisionMatchingInfoPostUpgrade_RS2** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. -- **DecisionMediaCenter_RS2** The total DecisionMediaCenter objects targeting Windows 10 version 1703 present on this device. -- **DecisionSystemBios_RS2** The total DecisionSystemBios objects targeting Windows 10 version 1703 present on this device. -- **InventoryApplicationFile** The total InventoryApplicationFile objects that are present on this device. -- **InventoryLanguagePack** The total InventoryLanguagePack objects that are present on this device. -- **InventoryMediaCenter** The total InventoryMediaCenter objects that are present on this device. -- **InventorySystemBios** The total InventorySystemBios objects that are present on this device. -- **InventoryUplevelDriverPackage** The total InventoryUplevelDriverPackage objects that are present on this device. -- **PCFP** An ID for the system that is calculated by hashing hardware identifiers. -- **SystemMemory** The total SystemMemory objects that are present on this device. -- **SystemProcessorCompareExchange** The total SystemProcessorCompareExchange objects that are present on this device. -- **SystemProcessorLahfSahf** The total SystemProcessorLahfSahf objects that are present on this device. -- **SystemProcessorNx** The total SystemProcessorNx objects that are present on this device. -- **SystemProcessorPrefetchW** The total SystemProcessorPrefetchW objects that are present on this device. -- **SystemProcessorSse2** The total SystemProcessorSse2 objects that are present on this device. -- **SystemTouch** The total SystemTouch objects that are present on this device. -- **SystemWim** The total SystemWim objects that are present on this device -- **SystemWindowsActivationStatus** The total SystemWindowsActivationStatus objects that are present on this device. -- **SystemWlan** The total SystemWlan objects that are present on this device. -- **Wmdrm_RS2** The total Wmdrm objects targeting Windows 10 version 1703 present on this device. -- **DatasourceApplicationFile_RS3** "The total DecisionApplicationFile objects targeting the next release of Windows on this device. " -- **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. -- **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. -- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. -- **DecisionApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. -- **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. -- **DecisionDriverPackage_RS3** The total DecisionDriverPackage objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. -- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. -- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd + +This event sends basic metadata about the BIOS to determine whether it has a compatibility block. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **BiosDate** The release date of the BIOS in UTC format. +- **BiosName** The name field from Win32_BIOS. +- **Manufacturer** The manufacturer field from Win32_ComputerSystem. +- **Model** The model field from Win32_ComputerSystem. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove + +This event indicates that the InventorySystemBios object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync + +This event indicates that a new set of InventorySystemBiosAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove + +This event indicates that the InventoryUplevelDriverPackage object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. ### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync @@ -763,6 +956,103 @@ 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. +- **Context** Indicates what mode Appraiser is running in. Example: Setup or Telemetry. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **Time** The client time of the event. + + +### Microsoft.Windows.Appraiser.General.SystemMemoryAdd + +This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the device from upgrade due to memory restrictions? +- **MemoryRequirementViolated** Was a memory requirement violated? +- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). +- **ram** The amount of memory on the device. +- **ramKB** The amount of memory (in KB). +- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). +- **virtualKB** The amount of virtual memory (in KB). + + +### Microsoft.Windows.Appraiser.General.SystemMemoryRemove + +This event that the SystemMemory object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync + +This event indicates that a new set of SystemMemoryAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd + +This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **CompareExchange128Support** Does the CPU support CompareExchange128? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove + +This event indicates that the SystemProcessorCompareExchange object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync + +This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. + +The 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 LahfSahf CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **LahfSahfSupport** Does the CPU support LAHF/SAHF? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove + +This event indicates that the SystemProcessorLahfSahf object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + ### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. @@ -772,48 +1062,27 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync +### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd -This event indicates that a new set of SystemProcessorSse2Add events will be sent. +This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. +- **NXProcessorSupport** Does the processor support NX? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove + +This event indicates that the SystemProcessorNx object is no longer present. The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync - -This event indicates that a new set of DecisionSystemBiosAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync - -This event indicates that a new set of SystemMemoryAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync - -This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - ### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync This event indicates that a new set of SystemProcessorNxAdd events will be sent. @@ -823,6 +1092,26 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd + +This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **PrefetchWSupport** Does the processor support PrefetchW? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove + +This event indicates that the SystemProcessorPrefetchW object is no longer present. + +The 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. @@ -832,18 +1121,49 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.SystemWimStartSync +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add -This event indicates that a new set of SystemWimAdd events will be sent. +This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked due to the processor? +- **SSE2ProcessorSupport** Does the processor support SSE2? + + +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove + +This event indicates that the SystemProcessorSse2 object is no longer present. The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync +### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. +This event indicates that a new set of SystemProcessorSse2Add events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemTouchAdd + +This event sends data indicating whether the system supports touch, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? +- **MaximumTouches** The maximum number of touch points supported by the device hardware. + + +### Microsoft.Windows.Appraiser.General.SystemTouchRemove + +This event indicates that the SystemTouch object is no longer present. The following fields are available: @@ -859,9 +1179,67 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageEndSync +### Microsoft.Windows.Appraiser.General.SystemWimAdd -This event indicates that a full set of DatasourceDriverPackageAdd events has been sent. +This event sends data indicating whether the operating system is running from a compressed WIM file, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **IsWimBoot** Is the current operating system running from a compressed WIM file? +- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. + + +### Microsoft.Windows.Appraiser.General.SystemWimRemove + +This event indicates that the SystemWim object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWimStartSync + +This event indicates that a new set of SystemWimAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd + +This event sends data indicating whether the current operating system is activated, to help keep Windows up-to-date. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. +- **WindowsNotActivatedDecision** Is the current operating system activated? + + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove + +This event indicates that the SystemWindowsActivationStatus object is no longer present. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync + +This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.SystemWlanRemove + +This event indicates that the SystemWlan object is no longer present. The following fields are available: @@ -876,171 +1254,38 @@ 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. +### Microsoft.Windows.Appraiser.General.TelemetryRunHealth + +A summary event indicating the parameters and result of a telemetry 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: -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync - -This event indicates that a new set of DecisionMediaCenterAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. - -The 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. - -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 indicates that a new set of InventoryApplicationFileAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.WmdrmStartSync - -This event indicates that a new set of WmdrmAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveEndSync - -This event indicates that a full set of DataSourceMatchingInfoPassiveAdd events have been sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync - -This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. - -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. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync - -This event indicates that the DecisionDevicePnp object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync - -This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. - -The 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. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. +- **AppraiserDataVersion** The version of the data files being used by the Appraiser telemetry run. +- **AppraiserProcess** The name of the process that launched Appraiser. +- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. +- **AuxFinal** Obsolete, always set to false +- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. +- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. +- **EnterpriseRun** Indicates if the telemetry run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. +- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. +- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. +- **PCFP** An ID for the system calculated by hashing hardware identifiers. +- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. +- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. +- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. +- **RunDate** The date that the telemetry run was stated, expressed as a filetime. +- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional telemetry on an infrequent schedule and only from machines at telemetry 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 telemetry run. +- **SendingUtc** Indicates if the Appraiser client is sending events during the current telemetry run. +- **StoreHandleIsNotNull** Obsolete, always set to false +- **TelementrySent** Indicates if telemetry was successfully sent. +- **ThrottlingUtc** Indicates if the Appraiser client is throttling its output of CUET events to avoid being disabled. This increases runtime but also telemetry 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 @@ -1059,257 +1304,6 @@ The following fields are available: - **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.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. - -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 GUID 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, post-rename. -- **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.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.DatasourceApplicationFileRemove - -This event indicates that the DatasourceApplicationFile object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove - -This event indicates that the SystemProcessorSse2 object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove - -This event indicates that the InventoryUplevelDriverPackage object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove - -This event indicates that the DecisionMediaCenter object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove - -This event indicates that the InventoryMediaCenter object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove - -This event indicates that the DatasourceSystemBios object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove - -This event indicates Indicates that the DecisionApplicationFile object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove - -This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchRemove - -"This event indicates that the SystemTouch object is no longer present. " - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove - -This event indicates that the SystemWindowsActivationStatus object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanRemove - -"This event indicates that the SystemWlan object is no longer present. " - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove - -This event indicates that the SystemProcessorNx object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove - -This event indicates that the DecisionDevicePnp object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove - -This event Indicates that the DecisionMatchingInfoPassive object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryRemove - -This event that the SystemMemory object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove - -This event indicates that the DecisionMatchingInfoBlock object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove - -This event indicates that the InventoryApplicationFile object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimRemove - -"This event indicates that the SystemWim object is no longer present. " - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove - -"This event indicates that the InventorySystemBios object is no longer present. " - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - ### Microsoft.Windows.Appraiser.General.WmdrmRemove @@ -1320,70 +1314,27 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove +### Microsoft.Windows.Appraiser.General.WmdrmStartSync -"This event indicates that the SystemProcessorLahfSahf object is no longer present. " +This event indicates that a new set of WmdrmAdd events will be sent. The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove - -This event indicates that the InventoryLanguagePack object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove - -This event indicates that the DecisionSystemBios object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove - -"This event indicates that the SystemProcessorCompareExchange object is no longer present. " - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove - -This event indicates that the SystemProcessorPrefetchW object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryDriverBinaryEndSync - -This event indicates that a full set of InventoryDriverBinaryAdd events has been sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - ## Census events +### Census.App + +This event sends version data about the Apps running on this device, to help keep Windows up to date. + +The following fields are available: + +- **CensusVersion** The version of Census that generated the current data for this device. +- **IEVersion** Retrieves which version of Internet Explorer is running on this device. + + ### Census.Battery This event sends type and capacity data about the battery on the device, as well as the number of connected standby devices in use, type to help keep Windows up to date. @@ -1397,6 +1348,16 @@ The following fields are 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. @@ -1408,7 +1369,7 @@ The following fields are 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. -- **EnrollmentType** Represents the type of enrollment, such as MDM or Intune, for a particular device. +- **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. @@ -1422,48 +1383,6 @@ The following fields are available: - **SystemCenterID** The SCCM ID is an anonymized one-way hash of the Active Directory Organization identifier -### 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: - -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** Retrieves which version of Internet Explorer is running on this device. - - -### 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.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 -- **InternalPrimaryDisplayType** Represents the type of technology used in the monitor, such as Plasma, LED, LCOS, etc. -- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine -- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. -- **VRAMDedicated** Retrieves the video RAM in MB. -- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. -- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. - - ### Census.Firmware This event sends data about the BIOS and startup embedded in the device, to help keep Windows up to date. @@ -1482,7 +1401,7 @@ This event sends Windows Insider data from customers participating in improvemen The following fields are available: -- **DeviceSampleRate** The diagnostic data sample rate assigned to the device. +- **DeviceSampleRate** The telemetry sample rate assigned to the device. - **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. - **FlightIds** A list of the different Windows Insider builds on this device. - **FlightingBranchName** The name of the Windows Insider branch currently used by the device. @@ -1493,23 +1412,23 @@ The following fields are available: ### Census.Hardware -This event sends data about the device, including hardware type, OEM brand, model line, model, diagnostic data level setting, and TPM support, to help keep Windows up-to-date. +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** The supported Direct3D version. +- **D3DMaxFeatureLevel** Supported Direct3D version. - **DeviceColor** Indicates a color of the device. - **DeviceForm** Indicates the form as per the device classification. - **DeviceName** The device name that is set by the user. - **DigitizerSupport** Is a digitizer supported? - **DUID** The device unique ID. -- **Gyroscope** Indicates whether the device has a gyroscope. +- **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. -- **NFCProximity** Indicates whether the device supports NFC. +- **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. @@ -1525,9 +1444,9 @@ The following fields are 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 diagnostic data level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The diagnostic data level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the diagnostic data level, such as GP, MDM, or the user. +- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. +- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. +- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. - **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. - **VoiceSupported** Does the device have a cellular radio capable of making voice calls? @@ -1572,9 +1491,9 @@ This event sends data about the operating system such as the version, locale, up The following fields are available: - **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** The kiosk configuration mode. +- **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. " +- **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). @@ -1584,10 +1503,9 @@ The following fields are 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 Microsoft Store. +- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. - **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. - **OSEdition** Retrieves the version of the current OS. -- **OSInstallDateTime** Retrieves the date the OS was installed using ISO 8601 (Date part) == yyyy-mm-dd - **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc - **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). - **OSSKU** Retrieves the Friendly Name of OS Edition. @@ -1614,34 +1532,30 @@ This event sends data about the processor (architecture, speed, number of cores, The following fields are available: -- **KvaShadow** Microcode info of the processor. -- **MMSettingOverride** Microcode setting of the processor. -- **MMSettingOverrideMask** Microcode setting override of the processor. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. -- **ProcessorCores** Retrieves the number of cores in the processor. -- **ProcessorIdentifier** The processor identifier of a manufacturer. -- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. -- **ProcessorModel** Retrieves the name of the processor model. +- **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 version. -- **SocketCount** Number of physical CPU sockets of the machine. -- **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. +- **ProcessorUpdateRevision** Microcode revision +- **SocketCount** Count of CPU sockets. ### Census.Security This event provides information on about security settings used to help keep Windows up-to-date and secure. -- **AvailableSecurityProperties** Enumerates and reports state on the relevant security properties for Device Guard. -- **CGRunning** Is Credential Guard running? -- **DGState** A summary of the Device Guard state. -- **HVCIRunning** Is HVCI running? -- **IsSawGuest** Describes whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Is this device capable of running Secure Boot? -- **VBSState** Is virtualization-based security enabled, disabled, or running? +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 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 +- **RequiredSecurityProperties** This field describes the required security properties to enable virtualization-based security +- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. ### Census.Speech @@ -1654,14 +1568,13 @@ The following fields are available: - **GPAllowInputPersonalization** Indicates if a Group Policy setting has enabled speech functionalities. - **HolographicSpeechInputDisabled** Holographic setting that represents if the attached HMD devices have speech functionality disabled by the user. - **HolographicSpeechInputDisabledRemote** Indicates if a remote policy has disabled speech functionalities for the HMD devices. -- **KWSEnabled** "Cortana setting that represents if a user has enabled the ""Hey Cortana"" keyword spotter (KWS)." +- **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 admininistrator (MDM or Group Policy) in the context of speech functionalities. +- **RemotelyManaged** Indicates if the device is being controlled by a remote administrator (MDM or Group Policy) in the context of speech functionalities. - **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. - **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. - ### Census.Storage This event sends data about the total capacity of the system volume and primary disk, to help keep Windows up to date. @@ -1672,14 +1585,26 @@ The following fields are available: - **PrimaryDiskType** Retrieves an enumerator value of type STORAGE_BUS_TYPE that indicates the type of bus to which the device is connected. This should be used to interpret the raw device properties at the end of this structure (if any). - **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. -### Census.Userdefault -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols, to help keep Windows up to date. +### 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: -- **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 +- **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 @@ -1694,26 +1619,32 @@ The following fields are available: - **KeyboardInputLanguages** The Keyboard input languages installed on the device. - **SpeechInputLanguages** The Speech Input languages installed on the device. + +### 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: + +- **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 + + ### 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. +- **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#HASH#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#HASH#1 Hypervisors. +- **IsVDI** Is the device using Virtual Desktop Infrastructure? +- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. - **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. - **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. - - - - - ### Census.WU This event sends data about the Windows update server and other App store policies, to help keep Windows up to date. @@ -1725,12 +1656,12 @@ The following fields are available: - **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. +- **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 . @@ -1744,6 +1675,7 @@ The following fields are available: - **WUPauseState** Retrieves WU setting to determine if updates are paused - **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). + ### Census.Xbox This event sends data about the Xbox Console, such as Serial Number and DeviceId, to help keep Windows up to date. @@ -1756,105 +1688,130 @@ The following fields are available: - **XboxLiveSandboxId** Retrieves the developer sandbox id if the device is internal to MS. - - ## Diagnostic data events -### TelClientSynthetic.AuthorizationInfo_Startup - -This event sends data indicating that a device has undergone a change of diagnostic data opt-in level detected at UTC startup, to help keep Windows up to date. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto diagnostic data from the OS provider groups. -- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS diagnostic data. Non-OS diagnostic data is responsible for providing its own opt-in mechanism. -- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. -- **CanCollectHeartbeats** True if UTC is allowed to collect heartbeats. -- **CanCollectOsTelemetry** True if UTC is allowed to collect diagnostic data from the OS provider groups. -- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. -- **CanPerformScripting** True if UTC is allowed to perform scripting. -- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. -- **CanReportScenarios** True if UTC is allowed to load and report scenario completion, failure, and cancellation events. -- **PreviousPermissions** Bitmask representing the previously configured permissions since the diagnostic data client was last started. -- **TransitionFromEverythingOff** True if this transition is moving from not allowing core diagnostic data to allowing core diagnostic data. - - ### TelClientSynthetic.AuthorizationInfo_RuntimeTransition -This event sends data indicating that a device has undergone a change of diagnostic data opt-in level during the runtime of the device (not at UTC boot or offline), to help keep Windows up to date. +Fired by UTC at state transitions to signal what data we are allowed to collect. The following fields are available: -- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto diagnostic data from the OS provider groups. -- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS diagnostic data. Non-OS diagnostic data is responsible for providing its own opt-in mechanism. -- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. -- **CanCollectHeartbeats** True if UTC is allowed to collect heartbeats. -- **CanCollectOsTelemetry** True if UTC is allowed to collect diagnostic data from the OS provider groups. -- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. -- **CanPerformScripting** True if UTC is allowed to perform scripting. -- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. -- **CanReportScenarios** True if UTC is allowed to load and report scenario completion, failure, and cancellation events. -- **PreviousPermissions** Bitmask representing the previously configured permissions since the diagnostic data opt-in level was last changed. -- **TransitionFromEverythingOff** True if this transition is moving from not allowing core diagnostic data to allowing core diagnostic data. +- **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 +### TelClientSynthetic.AuthorizationInfo_Startup -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads diagnostic data 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 fires an event. A Connectivity Heartbeat event also fires when a device recovers from costed network to free network. +Fired by UTC at startup to signal what data we are allowed to collect. 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. -- **LastConntectivityLossTime** 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. +- **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.HeartBeat_5 -This event sends data about the health and quality of the diagnostic data 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. +This event sends data about the health and quality of the telemetry data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. The following fields are available: -- **AgentConnectionErrorsCount** The number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** The time of the last Census run. -- **CensusTaskEnabled** Indicates whether Census is enabled. -- **ConsumerDroppedCount** The number of events dropped by the consumer layer of the diagnostic data client. -- **CriticalDataDbDroppedCount** The number of critical data sampled events that were dropped at the database layer. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalOverflowEntersCounter** The number of times a critical overflow mode was entered into the event database. -- **DbCriticalDroppedCount** The total number of dropped critical events in the event database. -- **DbDroppedCount** The number of events that were dropped because the database was full. -- **DecodingDroppedCount** The number of events dropped because of decoding failures. -- **EnteringCriticalOverflowDroppedCounter** The number of events that was dropped because a critical overflow mode was initiated. -- **EtwDroppedBufferCount** The number of buffers dropped in the CUET ETW session. -- **EtwDroppedCount** The number of events dropped by the ETW layer of the diagnostic data client. -- **EventSubStoreResetCounter** The number of times the event database was reset. -- **EventSubStoreResetSizeSum** The total size of the event database across all resets reports in this instance. -- **EventsUploaded** The number of events that have been uploaded. -- **Flags** Flags that indicate device state, such as network, battery, and opt-in state. -- **FullTriggerBufferDroppedCount** The number of events that were dropped because the trigger buffer was full. -- **HeartBeatSequenceNumber** A monotonically increasing heartbeat counter. -- **InvalidHttpCodeCount** The number of invalid HTTP codes received from Vortex. -- **LastAgentConnectionError** The last non-timeout error that happened in the host/agent channel. -- **LastEventSizeOffender** The name of the last event that exceeded the maximum event size. -- **LastInvalidHttpCode** The last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxInUseScenarioCounter** The soft maximum number of scenarios loaded by the Connected User Experiences and Telemetry component. -- **PreviousHeartBeatTime** The time of last heartbeat event. This allows chaining of events. -- **SettingsHttpAttempts** The number of attempts to contact the OneSettings service. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **ThrottledDroppedCount** The number of events dropped due to throttling of noisy providers. -- **UploaderDroppedCount** The number of events dropped by the uploader layer of the diagnostic data client. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexHttpAttempts** The number of attempts to contact the Vortex service. -- **VortexHttpFailures4xx** The number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** The number of 500-599 error codes received from Vortex. +- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. +- **CensusExitCode** Last exit code of�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** Number of critical data sampled events dropped due to�throttling. +- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. +- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. +- **DbDroppedCount** Number of events dropped due to DB fullness. +- **DbDroppedFailureCount** Number of events dropped due to DB failures. +- **DbDroppedFullCount** Number of events dropped due to DB fullness. +- **DecodingDroppedCount** Number of events dropped due to decoding failures. +- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. +- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. +- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. +- **EventsPersistedCount** Number of events that reached the PersistEvent stage. +- **EventSubStoreResetCounter** Number of times event DB was reset. +- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventsUploaded** Number of events uploaded. +- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. +- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. +- **HeartBeatSequenceNumber** The sequence number of this heartbeat. +- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. +- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. +- **LastEventSizeOffender** Event name of last event which exceeded max event size. +- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. +- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. +- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). +- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. +- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. +- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. +- **VortexFailuresTimeout** Number of time out failures�received from Vortex. +- **VortexHttpAttempts** Number of attempts to contact Vortex. +- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. +- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. +- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. +- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. +- **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. + + +### TelClientSynthetic.HeartBeat_Aria_5 + +Telemetry client ARIA heartbeat event. + +The following fields are available: + +- **CompressedBytesUploaded** Number of compressed bytes uploaded. +- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. +- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. +- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. +- **DbDroppedCount** Number of events dropped at the DB layer. +- **DbDroppedFailureCount** Number of events dropped due to DB failures. +- **DbDroppedFullCount** Number of events dropped due to DB fullness. +- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. +- **EventsPersistedCount** Number of events that reached the PersistEvent stage. +- **EventSubStoreResetCounter** Number of times event DB was reset. +- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventsUploaded** Number of events uploaded. +- **HeartBeatSequenceNumber** The sequence number of this heartbeat. +- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. +- **LastEventSizeOffender** Event name of last event which exceeded max event size. +- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. +- **PreviousHeartBeatTime** The FILETIME of the previous heartbeat fire. +- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting OneSettings service. +- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. +- **VortexFailuresTimeout** Number of time out failures received from Vortex. +- **VortexHttpAttempts** Number of attempts to contact Vortex. +- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. +- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. +- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. +- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. ### TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate @@ -1867,80 +1824,551 @@ The following fields are available: - **PreUpgradeSettings** The privacy settings before a feature update. +## Direct to update events + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicability + +Event to indicate that the Coordinator CheckApplicability call succeeded. + +The following fields are available: + +- **ApplicabilityResult** Result of CheckApplicability function. +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicabilityGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinators CheckApplicability call. + +The following fields are available: + +- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitGenericFailure + +Commit call. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess + +Event to indicate that the Coordinator Commit call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator Download call. + +The following fields are available: + +- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure + +Event to indicate that we have received an error in the DTU Coordinator Download call that will be ignored. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadSuccess + +Event to indicate that the Coordinator Download call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator HandleShutdown call. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinate version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownSuccess + +Event to indicate that the Coordinator HandleShutdown call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator Initialize call. + +The following fields are available: + +- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeSuccess + +Event to indicate that the Coordinator Initialize call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator Install call. + +The following fields are available: + +- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure + +Event to indicate that we have received an error in the DTU Coordinator Install call that will be ignored. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallSuccess + +Event to indicate that the Coordinator Install call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorProgressCallBack + +Event to indicate Coordinator's progress callback has been called. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. +- **CV** Correlation vector. +- **DeployPhase** Current Deploy Phase. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator SetCommitReady call. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadySuccess + +Event to indicate that the Coordinator SetCommitReady call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator WaitForRebootUi call. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiNotShown + +Event to indicate that the Coordinator WaitForRebootUi call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection + +Event to indicate the user selected an option on the Reboot UI. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **rebootUiSelection** Selection on the Reboot UI + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSuccess + +Event to indicate that the Coordinator WaitForRebootUi call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler CheckApplicability call. + +The following fields are available: + +- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **CV_new** New correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler CheckApplicabilityInternal call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalSuccess + +Event to indicate that the Handler CheckApplicabilityInternal call succeeded. + +The following fields are available: + +- **ApplicabilityResult** Result of CheckApplicability function +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilitySuccess + +Event to indicate that the Handler CheckApplicability call succeeded. + +The following fields are available: + +- **ApplicabilityResult** Result of CheckApplicability function +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **CV_new** New correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler CheckIfCoordinatorMinApplicableVersion call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionSuccess + +Event to indicate that the Handler CheckIfCoordinatorMinApplicableVersion call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **CheckIfCoordinatorMinApplicableVersionResult** Result of CheckIfCoordinatorMinApplicableVersion function +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler Commit call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure +- **CV_new** New correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess + +Event to indicate that the Handler Commit call succeeded. + +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 + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabAlreadyDownloaded + +Event to indicate that the Handler Download and Extract cab returned a value indicating that the cab trying to be downloaded has already been downloaded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabFailure + +Event to indicate that the Handler Download and Extract cab call failed. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **DownloadAndExtractCabFunction_failureReason** Reason why the DownloadAndExtractCab function failed +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabSuccess + +Event to indicate that the Handler Download and Extract cab call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler Download call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess + +Event to indicate that the Handler Download call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler Initialize call. + +The following fields are available: + +- **hResult** HRESULT of the failure +- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess + +Event to indicate that the Handler Initialize call succeeded. + +The following fields are available: + +- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler Install call. + +The following fields are available: + +- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess + +Event to indicate that the Coordinator Install call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadyGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler SetCommitReady call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess + +Event to indicate that the Handler SetCommitReady call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Handler WaitForRebootUi call. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure + + +### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess + +Event to indicate that the Handler WaitForRebootUi call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector + + ## DxgKernelTelemetry events -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **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. -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. - - ## 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 diagnostic data backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** "Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. " -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - ## Feature update events ### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed @@ -1957,49 +2385,264 @@ The following fields are available: Indicates that the uninstall was properly configured and that a system reboot was initiated -The following fields are available: -- **name** Name of the event + +### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked + +This event sends basic metadata about the starting point of uninstalling a feature update which helps us ensure customers can safely revert to a well-known state if the update caused any problems. + ## Hang Reporting events -### Microsoft.Windows.HangReporting.AppHangEvent +## Inventory events -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. +### 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: -- **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 diagnostic data backend. -- **AppVersion** The version of the app that has hung. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. +- **DriverPackageExtended** A count of driverpackageextended objects in cache +- **FileSigningInfo** A count of file signing info objects in cache. +- **InventoryApplication** A count of application objects in cache +- **InventoryApplicationFile** A count of application file objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache +- **InventoryDeviceInterface** A count of inventory device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache +- **InventoryDevicePnp** A count of devicepnp objects in cache +- **InventoryDeviceUsbHubClass** No content is currently available. +- **InventoryDriverBinary** A count of driver binary objects in cache +- **InventoryDriverPackage** A count of device objects in cache -## Inventory events +### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync +This event sends inventory component versions for the Device Inventory data. -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent +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. + +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 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 (ARP, MSI, Appx, etc...) +- **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.InventoryApplicationFrameworkAdd + +This event provides the basic metadata about the frameworks an application may depend on + +The following fields are available: + +- **FileId** A hash that uniquely identifies a file +- **Frameworks** The list of frameworks this file depends on +- **InventoryVersion** The version of the inventory file generating the events + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync + +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent The following fields are available: - **InventoryVersion** The version of the inventory file generating the events +### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove + +This event indicates that a new set of InventoryDevicePnpAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync + +This event indicates that a new set of InventoryApplicationAdd events will be sent. + +The 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 PNP device) to help keep Windows up-to-date. + +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 model GUID. +- **ModelName** The model name. +- **ModelNumber** The model number for the device container. +- **PrimaryCategory** The primary category for the device container. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove + +This event indicates that the InventoryDeviceContainer object is no longer present. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync + +This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd + +This event retrieves information about what sensor interfaces are available on the device. + +The following fields are available: + +- **Accelerometer3D** Indicates if an Accelerator3D sensor is found. +- **ActivityDetection** Indicates if an Activity Detection sensor is found. +- **AmbientLight** Indicates if an Ambient Light sensor is found. +- **Barometer** Indicates if a Barometer sensor is found. +- **Custom** Indicates if a Custom sensor is found. +- **EnergyMeter** Indicates if an Energy sensor is found. +- **FloorElevation** Indicates if a Floor Elevation sensor is found. +- **GeomagneticOrientation** Indicates if a Geo Magnetic Orientation sensor is found. +- **GravityVector** Indicates if a Gravity Detector sensor is found. +- **Gyrometer3D** Indicates if a Gyrometer3D sensor is found. +- **Humidity** Indicates if a Humidity sensor is found. +- **InventoryVersion** The version of the inventory file generating the events. +- **LinearAccelerometer** Indicates if a Linear Accelerometer sensor is found. +- **Magnetometer3D** Indicates if a Magnetometer3D sensor is found. +- **Orientation** Indicates if an Orientation sensor is found. +- **Pedometer** Indicates if a Pedometer sensor is found. +- **Proximity** Indicates if a Proximity sensor is found. +- **RelativeOrientation** Indicates if a Relative Orientation sensor is found. +- **SimpleDeviceOrientation** Indicates if a Simple Device Orientation sensor is found. +- **Temperature** Indicates if a Temperature sensor is found. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync + +This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. + +The 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 PNP device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. + +The following fields are available: + +- **Audio_CaptureDriver** The Audio device capture driver endpoint. +- **Audio_RenderDriver** The Audio device render driver endpoint. +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync + +This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. + +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 PNP device and its associated driver + +The following fields are available: + +- **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **Class** A unique identifier for the driver installed. +- **ClassGuid** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). +- **COMPID** INF file name (the name could be renamed by OS, such as oemXX.inf) +- **ContainerId** The version of the inventory binary generating the events. +- **Description** The current error code for the device. +- **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. +- **HWID** The version of the driver loaded for the device. +- **Inf** The bus that enumerated the device. +- **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. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync + +This event indicates that a new set of InventoryDevicePnpAdd events will be sent. + +The 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 @@ -2011,85 +2654,237 @@ The following fields are available: - **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsAdd +### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync -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 indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent The following fields are available: -- **Count** Count of total Microsoft Office VBA rule violations +- **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 + +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 device service name +- **WdfVersion** The Windows Driver Framework version. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove + +This event indicates that the InventoryDriverBinary object is no longer present. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync + +This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. + +The 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. + +The following fields are available: + +- **Class** The class name for the device driver. +- **ClassGuid** The class GUID for the device driver. +- **Date** The driver package date. +- **Directory** The path to the driver package. +- **DriverInBox** Is the driver included with the operating system? +- **Inf** The INF name of the driver package. +- **InventoryVersion** The version of the inventory file generating the events. +- **Provider** The provider for the driver package. +- **SubmissionId** The HLK submission ID for the driver package. +- **Version** The version of the driver package. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove + +This event indicates that the InventoryDriverPackageRemove object is no longer present. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + +### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync + +This event indicates that a new set of InventoryDriverPackageAdd events will be sent. + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd -This event provides data on the installed Office Add-ins. +Provides data on the installed Office Add-ins + +The following fields are available: + +- **AddInCLSID** CLSID key for the office addin +- **AddInId** Office addin ID +- **BinFileTimestamp** Timestamp of the Office addin +- **BinFileVersion** Version of the Office addin +- **Description** Office addin description +- **FileId** FileId of the Office addin +- **FriendlyName** Friendly name for office addin +- **FullPath** Unexpanded path to the office addin +- **LoadBehavior** Uint32 that describes the load behavior +- **LoadTime** Load time for the office addin +- **OfficeApplication** The office application for this addin +- **OfficeArchitecture** Architecture of the addin +- **OfficeVersion** The office version for this addin +- **OutlookCrashingAddin** Boolean that indicates if crashes have been found for this addin +- **Provider** Name of the provider for this addin -- **AddInCLSID** The CLSID key office for the Office addin. -- **AddInId** The identifier of the Office addin. -- **AddinType** The type of the Office addin. -- **BinFileTimestamp** The timestamp of the Office addin. -- **BinFileVersion** The version of the Office addin. -- **Description** The description of the Office addin. -- **FileId** The file ID of the Office addin. -- **FriendlyName** The friendly name of the Office addin. -- **FullPath** The full path to the Office addin. -- **LoadBehavior** A Uint32 that describes the load behavior. -- **LoadTime** The load time for the Office addin. -- **OfficeApplication** The OIffice application for this addin. -- **OfficeArchitecture** The architecture of the addin. -- **OfficeVersion** The Office version for this addin. -- **OutlookCrashingAddin** A boolean value that indicates if crashes have been found for this addin. -- **ProductCompany** The name of the company associated with the Office addin. -- **ProductName** The product name associated with the Office addin. -- **ProductVersion** The version associated with the Office addin. -- **ProgramId** The unique program identifier of the Office addin. -- **Provider** The provider name for this addin. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove -This event indicates that the particular data object represented by the objectInstanceId is no longer present. +Indicates that this particular data object represented by the objectInstanceId is no longer present. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInStartSync + +This event indicates that a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd + +This event includes the Office-related Internet Explorer features + +The following fields are available: + +- **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 HTTP 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. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd + +This event provides data on the Office identifiers + +The following fields are available: + +- **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. -There are no fields in this event. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsAdd -This event provides insight data on the installed Office products. +This event provides insight data on the installed Office products The following fields are available: -- **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. +- **OfficeApplication** The name of the Office application. +- **OfficeArchitecture** The bitness of the Office application. +- **OfficeVersion** The version of the Office application. +- **Value** The insights collected about this entity. + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsRemove -This event indicates that the particular data object represented by the objectInstanceId is no longer present. +Indicates that this particular data object represented by the objectInstanceId is no longer present. + -There are no fields in this event. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsStartSync This diagnostic event indicates that a new sync is being generated for this object type. -There are no fields in this event. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd + +This event list all installed Office products + +The following fields are available: + +- **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. + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsAdd -This event describes various Office settings. +This event describes various Office settings The following fields are available: -- **BrowserFlags** Browser flags for Office-related products. -- **ExchangeProviderFlags** Provider policies for Office Exchange. -- **SharedComputerLicensing** Office shared computer licensing policies. +- **BrowserFlags** Browser flags for Office-related products +- **ExchangeProviderFlags** Provider policies for Office Exchange +- **SharedComputerLicensing** Office shared computer licensing policies + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync -Diagnostic event to indicate a new sync is being generated for this object type. +Diagnostic event to indicate a new sync is being generated for this object type. + -There are no fields in this event. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAAdd @@ -2122,45 +2917,60 @@ The following fields are available: ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARemove -This event indicates that the particular data object represented by the objectInstanceId is no longer present. +Indicates that this particular data object represented by the objectInstanceId is no longer present. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsAdd + +This event provides data on Microsoft Office VBA rule violations, including a rollup count per violation type, giving an indication of remediation requirements for an organization. The event identifier is a unique GUID, associated with the validation rule + +The following fields are available: + +- **Count** Count of total Microsoft Office VBA rule violations -There are no fields in this event. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsRemove -This event indicates that the particular data object represented by the objectInstanceId is no longer present. +Indicates that this particular data object represented by the objectInstanceId is no longer present. -There are no fields in this event. -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsStartSync + +This event indicates that a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd + +Provides data on Unified Update Platform (UUP) products and what version they are at. The following fields are available: -- **InventoryVersion** The version of the inventory file generating the events +- **Identifier** UUP identifier +- **LastActivatedVersion** Last activated version +- **PreviousVersion** Previous version +- **Source** UUP source +- **Version** UUP version -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove -This event provides the basic metadata about the frameworks an application may depend on - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file -- **Frameworks** The list of frameworks this file depends on -- **InventoryVersion** The version of the inventory file generating the events -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it +Indicates that this particular data object represented by the objectInstanceId is no longer present. -### 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. +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync -The following fields are available: +Diagnostic event to indicate a new sync is being generated for this object type. -- **IndicatorValue** The indicator value -- **Value** Describes an operating system indicator that may be relevant for the device upgrade. ### Microsoft.Windows.Inventory.Indicators.Checksum @@ -2173,630 +2983,58 @@ The following fields are available: - **PCFP** Equivalent to the InventoryId field that is found in other core events. -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd +### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd -This event sends basic metadata about an application on the system to help keep Windows up to date. +These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up-to-date. 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 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 (ARP, MSI, Appx, etc...) -- **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. +- **IndicatorValue** The indicator value -### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync - -This event indicates that a new set of InventoryApplicationAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. - -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. - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync - -This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. - -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 PNP device) to help keep Windows up-to-date. - -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 model GUID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync - -This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync - -This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync - -This event indicates that a new set of InventoryDriverPackageAdd events will be sent. - -The following fields are available: - -- **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. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. - -The 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 PNP device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. - -The following fields are available: - -- **Audio_CaptureDriver** The Audio device capture driver endpoint. -- **Audio_RenderDriver** The Audio device render driver endpoint. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event represents the basic metadata about a PNP device and its associated driver - -The following fields are available: - -- **class** The device setup class of the driver loaded for the device -- **classGuid** The device class GUID from the driver package -- **COMPID** A JSON array the provides the value and order of the compatible ID tree for the device. -- **ContainerId** A system-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the device. -- **description** The device description -- **deviceState** 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 -- **DriverId** A unique identifier for the installed device. -- **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** The bus that enumerated the device -- **HWID** A JSON array that provides the value and order of the HWID tree for the device. -- **Inf** The INF file name. -- **installState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx -- **InventoryVersion** The version of the inventory file generating the events. -- **lowerClassFilters** Lower filter class drivers IDs installed for the device. -- **lowerFilters** Lower filter drivers IDs installed for the device -- **manufacturer** The device manufacturer -- **matchingID** Represents the hardware ID or compatible ID that Windows uses to install a device instance -- **model** The device model -- **parentId** Device instance id of the parent of the device -- **ProblemCode** The current error code for the device. -- **provider** The device provider -- **service** The device service name#N##N##N##N##N# -- **STACKID** A JSON array that provides the value and order of the STACKID tree for the device. -- **upperClassFilters** Upper filter class drivers IDs installed for the device -- **upperFilters** Upper filter drivers IDs installed for the device - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd - -This event provides the basic metadata about driver binaries running on the system - -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 device service name -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicator - -This event sends value data about the markers on custom devices, to help keep Windows up to date. The formal name for markers is UEX Indicators. See marker list for definitions. - -The following fields are available: - -- **IndicatorValue** Value of the marker/indicator -- **Key** Name of the marker/indicator - - -### 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.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 devicecensus objects in cache -- **DriverPackageExtended** A count of driverpackageextended objects in cache -- **File** A count of file objects in cache -- **FileSigningInfo** A count of file signing info objects in cache. -- **Generic** A count of generic objects in cache -- **HwItem** A count of hwitem objects in cache -- **InventoryApplication** A count of application objects in cache -- **InventoryApplicationFile** A count of application file objects in cache -- **InventoryDeviceContainer** A count of device container objects in cache -- **InventoryDeviceInterface** A count of inventory device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache -- **InventoryDevicePnp** A count of devicepnp objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache -- **InventoryDriverPackage** A count of device objects in cache -- **Metadata** A count of metadata objects in cache -- **Orphan** A count of orphan file objects in cache -- **Programs** A count of program objects in cache - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync - -This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd - -This event retrieves information about what sensor interfaces are available on the device. - -The 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.General.InventoryMiscellaneousOfficeAddInStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd - -This event provides data on the installed Office identifiers. - -- **OAudienceData** The Office Audience descriptor. -- **OAudienceId** The Office Audience ID. -- **OMID** The Office machine ID. -- **OPlatform** The Office architecture. -- **OVersion** The Office version -- **OTenantId** The Office 365 Tenant GUID. -- **OWowMID** The Office machine ID. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd - -This event provides data on the installed Office-related Internet Explorer features. - -- **OIeFeatureAddon** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeMachineLockdown** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeMimeHandling** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeMimeSniffing** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeNoAxInstall** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeNoDownload** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeObjectCaching** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIePasswordDisable** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeSafeBind** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeSecurityBand** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeUncSaveCheck** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeValidateUrl** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeWebOcPopup** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeWinRestrict** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). -- **OIeZoneElevate** For more information, see the Office-related [Internet Feature Control Keys](https://msdn.microsoft.com/library/ee330720.aspx). - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd - -This event describes the Office products that are installed. - -- **OC2rApps** The Office Click-to-Run apps. -- **OC2rSkus** The Office Click-to-Run products. -- **OMsiApps** The Office MSI apps. -- **OProductCodes** The Office MSI product code. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAStartSync - -This event indicates that a new sync is being generated for this object type. - -There are no fields in this event. - ### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. -There are no fields in this event. + ### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. -There are no fields in this event. + ## OneDrive events -### Microsoft.OneDrive.Sync.Updater.OfficeRegistration +## Privacy consent logging events -This event determines the status of the OneDrive integration with Microsoft Office. +### 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: -- **isValid** Is the Microsoft Office registration valid? +- **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.OneDrive.Sync.Updater.UpdateTierReg +### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentStatus -This event determines status of the update tier registry values. +Event tells us effectiveness of new privacy experience. The following fields are available: -- **regReadEnterpriseHr** The HResult of the enterprise reg read value. -- **regReadTeamHr** The HResult of the team reg read value. - - -### Microsoft.OneDrive.Sync.Updater.RepairResult - -The event determines the result of the installation repair. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult - -This event determines the status when downloading the OneDrive update configuration file. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.SetupBinaryDownloadHResult - -This event indicates the status when downloading the OneDrive setup file. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult - -This event determines the outcome of the operation. - -The following fields are available: - -- **hr** The HResult of the operation. -- **IsLoggingEnabled** Is logging enabled? -- **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: - -- **winInetError** The HResult of the operation. - - -### 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. -- **SixtyFourBit** The status of the OneDrive overlay icon on a 32-bit operating system. -- **ThirtyTwoBit** The status of the OneDrive overlay icon on a 64-bit operating system. - - -### Microsoft.OneDrive.Sync.Updater.ComponentInstallState - -This event determines 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.CommonData - -This event contains basic OneDrive configuration data that helps to diagnose failures. - -The following fields are available: - -- **AppVersion** The version of the app. -- **BuildArch** Is the architecture x86 or x64? -- **Environment** Is the device on the production or int service? -- **IsMSFTInternal** Is this an internal Microsoft device? -- **MachineGuid** The CEIP machine ID. -- **Market** Which market is this in? -- **OfficeVersion** The version of Office that is installed. -- **OneDriveDeviceId** The OneDrive device ID. -- **OSDeviceName** Only if the device is internal to Microsoft, the device name. -- **OSUserName** Only if the device is internal to Microsoft, the user name. -- **UserGuid** A unique global user identifier. - - -### 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.RegisterStandaloneUpdaterAPIOperation - -This event is related to registering or unregistering the OneDrive update task. - -The following fields are available: - -- **APIName** The name of the API. -- **IsSuccess** Was the operation successful? -- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. -- **ScenarioName** The name of the scenario. -- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. - - -### Microsoft.OneDrive.Sync.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** Indicates the result code of the event -- **IsSuccess** Was the operation successful? -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -### Microsoft.OneDrive.Sync.Setup.SetupCommonData - -This event contains basic OneDrive configuration data that helps to diagnose failures. - -The following fields are available: - -- **AppVersion** The version of the app. -- **BuildArchitecture** Is the architecture x86 or x64? -- **Environment** Is the device on the production or int service? -- **MachineGuid** The CEIP machine ID. -- **Market** Which market is this in? -- **MSFTInternal** Is this an internal Microsoft device? -- **OfficeVersionString** The version of Office that is installed. -- **OSDeviceName** Only if the device is internal to Microsoft, the device name. -- **OSUserName** Only if the device is internal to Microsoft, the user name. -- **UserGuid** The CEIP user ID. +- **isAdmin** whether the person who is logging in is an admin +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience +- **isLaunching** Whether or not the privacy consent experience will be launched +- **userRegionCode** The current user's region setting ## Setup events -### 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.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up-to-date - -The following fields are available: - -- **ActivityId** Provides a unique Id to correlate events that occur between a activity start event, and a stop event -- **ActivityName** Provides a friendly name of the package type that belongs to the ActivityId (Setup, LanguagePack, GDR, Driver, etc.) -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **value** Value associated with the corresponding event name. For example, time-related events will include the system time - - ### SetupPlatformTel.SetupPlatformTelEvent This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. @@ -2804,21 +3042,22 @@ This service retrieves events generated by SetupPlatform, the engine that drives The following fields are available: - **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult 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. - **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. ## Shared PC events ### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates. +Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. The following fields are available: -- **accountType** The type of account that was deleted. Example: AD, AAD, or Local -- **userSid** The security identifier of the account. - **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. +- **accountType** The type of account that was deleted. Example: AD, AAD, or Local +- **deleteState** Whether the attempted deletion of the user account was successful. +- **userSid** The security identifier of the account. ### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation @@ -2828,128 +3067,173 @@ Activity for run of the Transient Account Manager that determines if any user ac The following fields are available: - **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. - **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. + + +## SIH events + +### SIHEngineTelemetry.EvalApplicability + +This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. + +The 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. +- **IsExecutingAction** If the action is presently being executed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **UpdateID** A unique identifier for the action being acted upon. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. +- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. +- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. + + +### SIHEngineTelemetry.SLSActionData + +This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. + +The following fields are available: + +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **FailedParseActions** The list of actions that were not successfully parsed. +- **ParsedActions** The list of actions that were successfully parsed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. ## Software update events -### SoftwareUpdateClientTelemetry.UpdateDetected +### SoftwareUpdateClientTelemetry.CheckForUpdates -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. +Scan process event on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) 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 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **ClientVersion** The version number of the software distribution client. +- **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. +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows Store, etc.). +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **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). +- **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. +- **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** 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. +- **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 -- **WUDeviceID** The unique device ID controlled by the software distribution client -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **ServiceGuid** An ID which represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.) - - -### SoftwareUpdateClientTelemetry.SLSDiscovery - -This event sends data about the ability of Windows to discover the location of a backend server with which it must connect to perform updates or content acquisition, in order to determine disruptions in availability of update services and provide context for Windows Update errors. - -The following fields are available: - -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **HResult** Indicates the result code of the event (success, cancellation, failure code HResult) -- **IsBackground** Indicates whether the SLS discovery event took place in the foreground or background -- **NextExpirationTime** Indicates when the SLS cab expires -- **ServiceID** An ID which represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.) -- **SusClientId** The unique device ID controlled by the software distribution client -- **UrlPath** Path to the SLS cab that was downloaded -- **WUAVersion** The version number of the software distribution client - - -### SoftwareUpdateClientTelemetry.Commit - -This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. - -The following fields are available: - +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **AllowCachedResults** Indicates if the scan allowed using cached results. - **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. -- **ClientVersion** The version number of the software distribution client. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **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. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** State of call -- **EventType** "Possible values are ""Child"", ""Bundle"", or ""Driver""." -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Unique revision number of Update -- **ServerId** Identifier for the service to which the software distribution client is connecting, such as Windows Update and Microsoft Store. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **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. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ServiceUrl** The environment URL a device is configured to scan with +- **SyncType** Describes the type of scan the event was - **SystemBIOSMajorRelease** Major version of the BIOS. - **SystemBIOSMinorRelease** Minor version of the BIOS. -- **UpdateId** Unique Update ID -- **WUDeviceID** UniqueDeviceID -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **FlightId** The specific id of the flight the device is getting -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client +- **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. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **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. +- **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 -### SoftwareUpdateClientTelemetry.DownloadCheckpoint +### SoftwareUpdateClientTelemetry.Commit -This event provides a checkpoint between each of the Windows Update download phases for UUP content +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: -- **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 -- **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 -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **EventType** "Possible values are ""Child"", ""Bundle"", ""Relase"" or ""Driver""" -- **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 -- **FlightId** The unique identifier for each flight -- **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.) -- **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.UpdateMetadataIntegrity - -This event identifies whether updates have been tampered with and protects against man-in-the-middle attacks. - -The following fields are available: - -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** The secondary status code of the event. -- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. -- **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). -- **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 -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **StatusCode** The status code of the event. -- **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. -- **TimestampTokenCertThumbprint** "The thumbprint of the encoded timestamp token. " -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **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. -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **BiosFamily** Device family as defined in the system BIOS +- **BiosName** Name of the system BIOS +- **BiosReleaseDate** Release date of the system BIOS +- **BiosSKUNumber** Device SKU as defined in the system BIOS +- **BIOSVendor** Vendor of the system BIOS +- **BiosVersion** Version of the system BIOS +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** Version number of the software distribution client +- **DeviceModel** Device model as defined in the system bios +- **EventInstanceID** A globally unique identifier for event instance +- **EventScenario** Indicates the purpose of the event - whether because scan started, 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** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) +- **SystemBIOSMajorRelease** Major release version of the system bios +- **SystemBIOSMinorRelease** Minor release version of the system bios +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client ### SoftwareUpdateClientTelemetry.Download -This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. +Download process event for target update on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) The following fields are available: @@ -2967,22 +3251,16 @@ The following fields are available: - **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. - **BundleRevisionNumber** Identifies the revision number of the content bundle. - **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. - **CDNCountryCode** Two letter country abbreviation for the CDN's location. - **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientManagedByWSUSServer** Indicates whether the client is managed by Windows Server Update Services (WSUS). - **ClientVersion** The version number of the software distribution client. - **CurrentMobileOperator** The mobile operator the device is currently connected to. - **DeviceModel** What is the device model. -- **DeviceOEM** What OEM does this device belong to. - **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. - **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. -- **DownloadType** Differentiates the download type of SIH downloads between Metadata and Payload downloads. -- **Edition** Indicates the edition of Windows being used. - **EventInstanceID** A globally unique identifier for event instance. -- **EventNamespaceID** Indicates whether the event succeeded or failed. Has the format EventType+Event where Event is Succeeded, Cancelled, Failed, etc. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started 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. @@ -2996,22 +3274,19 @@ The following fields are available: - **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. -- **IsAOACDevice** Is it Always On, Always Connected? - **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update - **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. - **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. - **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** "More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be ""metered.""" +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." - **PackageFullName** The package name of the content. - **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PlatformRole** The PowerPlatformRole as defined on MSDN - **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). - **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. - **RevisionNumber** Identifies 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.). +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows 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. - **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). @@ -3019,7 +3294,6 @@ The following fields are available: - **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** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. - **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. @@ -3028,89 +3302,59 @@ The following fields are 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. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **WUSetting** Indicates the users' current updating settings. +- **RegulationReason** No content is currently available. -### SoftwareUpdateClientTelemetry.CheckForUpdates +### SoftwareUpdateClientTelemetry.DownloadCheckpoint -This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date +This event provides a checkpoint between each of the Windows Update download phases for UUP content 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. -- **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. -- **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 CDN's 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. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **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. -- **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. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **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. -- **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. +- **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 -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **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 -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **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). -- **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). -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **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. -- **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. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **DriverSyncPassPerformed** Were drivers scanned this time? +- **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 @@ -3125,25 +3369,16 @@ The following fields are available: - **BiosSKUNumber** The sku number of the device BIOS. - **BIOSVendor** The vendor of the BIOS. - **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle? - **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. - **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? - **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Was the download a full download or a partial download? -- **ClientManagedByWSUSServer** Is the client managed by Windows Server Update Services (WSUS)? - **ClientVersion** The version number of the software distribution client. - **CSIErrorType** The stage of CBS installation where it failed. - **CurrentMobileOperator** Mobile operator that device is currently connected to. - **DeviceModel** What is the device model. -- **DeviceOEM** What OEM does this device belong to. -- **DownloadPriority** The priority of the download activity. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. - **DriverPingBack** Contains information about the previous driver and system state. -- **Edition** Indicates the edition of Windows being used. - **EventInstanceID** A globally unique identifier for event instance. -- **EventNamespaceID** Indicates whether the event succeeded or failed. Has the format EventType+Event where Event is Succeeded, Cancelled, Failed, etc. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **EventType** Possible values are Child, Bundle, or Driver. - **ExtendedErrorCode** The extended error code. @@ -3157,7 +3392,6 @@ The following fields are available: - **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. - **HomeMobileOperator** The mobile operator that the device was originally intended to work with. - **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsAOACDevice** Is it Always On, Always Connected? (Mobile device usage model) - **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? - **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? - **IsFirmware** Is this update a firmware update? @@ -3169,15 +3403,12 @@ The following fields are available: - **MsiProductCode** The unique identifier of the MSI installer. - **PackageFullName** The package name of the content being installed. - **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **PlatformRole** The PowerPlatformRole as defined on MSDN. - **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). - **QualityUpdatePause** Are quality OS updates paused on the device? - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. -- **RepeatSuccessInstallFlag** Indicates whether this specific piece of content had previously installed successful, for example if another user had already installed it. - **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows 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). @@ -3190,43 +3421,202 @@ The following fields are available: - **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. - **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **WUSetting** Indicates the user's current updating settings. -### SoftwareUpdateClientTelemetry.DownloadHeartbeat +### SoftwareUpdateClientTelemetry.UpdateDetected -This event allows tracking of ongoing downloads and contains data to explain the current state of the download +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: -- **BundleID** Identifier associated with the specific content bundle. If this value is found, it shouldn't report as all zeros -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **IsNetworkMetered** "Indicates whether Windows considered the current network to be ?metered""" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of 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 -- **ServiceID** "Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) " -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventType** "Possible values are ""Child"", ""Bundle"", or ""Driver""" -- **FlightId** The unique identifier for each flight +- **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 which were 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 which represents which service the software distribution client is connecting to (Windows Update, Windows 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** The secondary status code of the event. +- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataSignature** Base64 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. +- **RevisionId** Identifies the revision of this specific piece of content - **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) -- **UpdateId** "Identifier associated with the specific piece of content " -- **WUDeviceID** "Unique device id controlled by the software distribution client " +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SignatureAlgorithm** Hash algorithm for the metadata signature +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **UpdateId** Identifier associated with the specific piece of content +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. ## Update events +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new UUP (Unified Update Platform) 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 + +No content is currently available. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **ErrorCode** The error code returned for the current download request phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) +- **PackageCountOptional** 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** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) +- **UpdateId** Unique ID for each update. +- **PackageExpressType** Type of express package. + + +### Update360Telemetry.UpdateAgentExpand + + This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ElapsedTickCount** Time taken for expand phase. +- **EndFreeSpace** Free space after expand phase. +- **EndSandboxSize** Sandbox size after expand phase. +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **StartFreeSpace** Free space before expand phase. +- **StartSandboxSize** Sandbox size after expand phase. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentFellBackToCanonical + +This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** The error code returned for the current install phase. +- **ObjectId** Unique value for each Update Agent mode. +- **PackageCount** Number of packages that feel back to canonical. +- **PackageList** PackageIds which fell back to canonical. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInitialize + + The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. 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** Unique value for each update attempt. +- **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 + +The UpdateAgentInstall 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. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentModeStart + +The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) 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** No content is currently available. + + ### Update360Telemetry.UpdateAgentPostRebootResult This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario @@ -3236,134 +3626,70 @@ The following fields are available: - **ErrorCode** The error code returned for the current post reboot phase - **FlightId** The unique identifier for each flight - **ObjectId** Unique value for each Update Agent mode +- **PostRebootResult** Indicates the Hresult - **RelatedCV** Correlation vector value generated from the latest USO scan -- **Result** Indicates the Hresult - **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate - **SessionId** Unique value for each Update Agent mode attempt - **UpdateId** Unique ID for each update -- **PostRebootResult** Indicates the Hresult -### Update360Telemetry.UpdateAgent_Initialize +### Update360Telemetry.UpdateAgentSetupBoxLaunch -This event sends data during the initialize phase of updating Windows. +No content is currently available. The following fields are available: -- **ErrorCode** The error code returned for the current initialize phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **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. -- **Result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled - - -### Update360Telemetry.UpdateAgent_DownloadRequest - -This event sends data during the download request phase of updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current download request phase. -- **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. -- **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. -- **PackageSizeCanonical** Size of canonical packages in bytes -- **PackageSizeDiff** Size of diff packages in bytes -- **PackageSizeExpress** Size of express packages in bytes -- **Result** Result of the download request phase of update. -- **FlightId** Unique ID for each flight. -- **UpdateId** Unique ID for each update. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **DeletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. -- **RangeRequestState** Represents the state of the download range request. - - -### Update360Telemetry.UpdateAgent_Install - -This event sends data during the install phase of updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **Result** "Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled " -- **FlightId** Unique ID for each flight. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_ModeStart - -This event sends data for the start of each mode during the process of updating Windows. - -The following fields are available: - -- **Mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **FlightId** Unique ID for each flight. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_SetupBoxLaunch - -This event sends data during the launching of the setup box when updating Windows. - -The following fields are available: - -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. 0 = false 1 = true -- **RelatedCV** Correlation vector value generated from the latest scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **FlightId** Unique ID for each flight. -- **UpdateId** Unique ID for each update. -- **SetupMode** Setup mode 1 = predownload, 2 = install, 3 = finalize -- **SandboxSize** The size of the sandbox folder on the device. +- **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. +- **ContainsExpressPackage** Indicates whether the download package is express. ## Update notification events ### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage -This event indicates that Javascript is reporting a schema and a set of values for critical diagnostic data. +Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP +- **CampaignConfigVersion** Config version of current campaign +- **CampaignID** Currently running campaign on UNP - **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP +- **ContentVersion** Content version of 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 -- **key1** Interaction data for the UI -- **key10** Interaction data for the UI -- **key11** Interaction data for the UI -- **key12** Interaction data for the UI -- **key13** Interaction data for the UI -- **key14** Interaction data for the UI -- **key15** Interaction data for the UI -- **key16** Interaction data for the UI +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user +- **key1** UI interaction data +- **key2** UI interaction data +- **key3** UI interaction data +- **key4** UI interaction data +- **key5** UI interaction data +- **key6** UI interaction data +- **key7** UI interaction data +- **key8** UI interaction data +- **key9** UI interaction data +- **PackageVersion** Current package version of UNP +- **schema** UI interaction type +- **key10** UI interaction data +- **key11** UI interaction data +- **key12** UI interaction data +- **key13** UI interaction data +- **key14** UI interaction data +- **key15** UI interaction data +- **key16** UI interaction data - **key17** Interaction data for the UI - **key18** Interaction data for the UI - **key19** Interaction data for the UI -- **key2** Interaction data for the UI - **key20** Interaction data for the UI - **key21** Interaction data for the UI - **key22** Interaction data for the UI @@ -3371,19 +3697,10 @@ The following fields are available: - **key24** Interaction data for the UI - **key25** Interaction data for the UI - **key26** Interaction data for the UI -- **key27** Interaction data for the UI -- **key28** Interaction data for the UI -- **key29** Interaction data for the UI -- **key3** Interaction data for the UI -- **key30** Interaction data for the UI -- **key4** Interaction data for the UI -- **key5** Interaction data for the UI -- **key6** Interaction data for the UI -- **key7** Interaction data for the UI -- **key8** Interaction data for the UI -- **key9** Interaction data for the UI -- **PackageVersion** Current package version of UNP -- **schema** Type of UI interaction +- **key27** UI interaction data +- **key28** UI interaction data +- **key29** UI interaction data +- **key30** UI interaction data ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat @@ -3418,6 +3735,22 @@ The following fields are available: - **PackageVersion** Current UNP package version +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat + +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + ### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed This event is sent when a campaign completion status query fails @@ -3435,22 +3768,6 @@ The following fields are available: - **PackageVersion** Current UNP package version -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - ### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed This event is sent when the Campaign Manager encounters an unexpected error while running the campaign @@ -3464,73 +3781,32 @@ The following fields are available: - **CV** Correlation vector - **DetectorVersion** Most recently run detector version for the current campaign on UNP - **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure#N# +- **hresult** HRESULT of the failure - **PackageVersion** Current UNP package version ## Upgrade events -### Setup360Telemetry.PreDownloadUX +### Setup360Telemetry.Downlevel -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process. +This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. The following fields are available: -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. - **Setup360Extended** 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 can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** 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 can be used used to diagnose errors. +- **Setup360Result** The result of Setup360. It's an HRESULT error code that can be used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, 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.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. -- **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. +- **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** A string 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. +- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.Finalize @@ -3540,6 +3816,7 @@ This event sends data indicating that the device has invoked the finalize phase 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 @@ -3554,6 +3831,28 @@ The following fields are available: - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. +### Setup360Telemetry.OsUninstall + +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall 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** 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 is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + ### Setup360Telemetry.PostRebootInstall This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. @@ -3561,6 +3860,7 @@ This event sends data indicating that the device has invoked the postrebootinsta 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. @@ -3594,48 +3894,51 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. -### Setup360Telemetry.OsUninstall +### Setup360Telemetry.PreDownloadUX -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall indicates the outcome of an OS uninstall. +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process. The following fields are available: - **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **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** 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 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 +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** Windows Update client ID. +- **FlightData** No content is currently available. -### Setup360Telemetry.Downlevel +### Setup360Telemetry.PreInstallQuiet -This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. +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** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. - **Setup360Extended** 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. It's 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** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string 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. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. +- **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. +- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.PreInstallUX @@ -3645,6 +3948,7 @@ This event sends data regarding OS updates and upgrades from Windows 7, Windows 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** No content is currently available. - **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. @@ -3674,68 +3978,66 @@ The following fields are available: - **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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. +- **FlightData** Unique value that identifies the flight. + + ## Windows as a Service diagnostic events ### Microsoft.Windows.WaaSMedic.SummaryEvent -This event provides the results from the WaaSMedic engine +Result of the WaaSMedic operation. The following fields are available: -- **detectionSummary** Result of each detection that ran -- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates -- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise -- **isManaged** Indicates the device is managed for updates -- **isWUConnected** Indicates the device is connected to Windows Update -- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions -- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on -- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client#N# -- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client#N# -- **versionString** Installed version of the WaaSMedic engine -- **hrEngineResult** Indicates the WaaSMedic engine operation error codes - - -### Microsoft.Windows.WaaSMedic.Summary - -This event provides the results of the WaaSMedic diagnostic run - -The following fields are available: - -- **detectionSummary** Result of each detection that ran -- **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 -- **versionString** Installed version of the WaaSMedic engine -- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates -- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise -- **isManaged** Indicates the device is managed for updates -- **isWUConnected** Indicates the device is connected to Windows Update -- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions -- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates -- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client -- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client +- **detectionSummary** Result of each applicable detection that was ran. +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. +- **hrEngineResult** Error code from the engine operation. +- **insufficientSessions** Device not eligible for diagnostics. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **remediationSummary** Result of each applicable resolution that was ran. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **versionString** Version of the WaaSMedic engine. +- **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. ## Windows Error Reporting events -### Microsoft.Windows.WERVertical.OSCrash +## Windows Error Reporting MTT events -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. +### Microsoft.Windows.WER.MTT.Denominator + +No content is currently available. 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** Standard UTC emitted DP value structure -## Microsoft Store events +## Windows Store events ### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation @@ -3749,23 +4051,74 @@ The following fields are available: - **CategoryId** The Item Category ID. - **ClientAppId** The identity of the app that initiated this operation. - **HResult** The result code of the last action performed before this operation. -- **IntentPFNs** Intent Product Family Name - **IsBundle** Is this a bundle? - **IsInteractive** Was this requested by a user? - **IsMandatory** Was this a mandatory update? - **IsRemediation** Was this a remediation install? - **IsRestore** Is this automatically restoring a previously acquired product? - **IsUpdate** Flag indicating if this is an update. -- **IsWin32** Flag indicating if this is a Win32 app (not used). - **ParentBundleId** The product ID of the parent (if this product is part of a bundle). - **PFN** The product family name of the product being installed. - **ProductId** The identity of the package or packages being installed. - **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UpdateId** Update ID (if this is an update) - **UserAttemptNumber** The total number of user attempts at installation before it was canceled. - **WUContentId** The Windows Update content ID +### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds + +This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare + +This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. + + + +### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation + +This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. +- **AttemptNumber** Total number of installation attempts. +- **BundleId** The identity of the Windows Insider build that is associated with this product. +- **CategoryId** The identity of the package or packages being installed. +- **ClientAppId** The identity of the app that initiated this operation. +- **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 after the app installations or updates. It's used 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. @@ -3778,20 +4131,16 @@ The following fields are available: - **CategoryId** The identity of the package or packages being installed. - **ClientAppId** The identity of the app that initiated this operation. - **HResult** HResult code to show the result of the operation (success/failure). -- **IntentPFNs** Intent Product Family Name - **IsBundle** Is this a bundle? - **IsInteractive** Did the user initiate the installation? - **IsMandatory** Is this a mandatory update? - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this happening after a device restore? - **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this is a Win32app. -- **ParentBundledId** The product's parent bundle ID. - **ParentBundleId** The parent bundle ID (if it's part of a bundle). - **PFN** Product Family Name of the product being installed. - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UpdateId** The update ID (if this is an update) - **UserAttemptNumber** The number of attempts by the user to acquire this product - **WUContentId** The Windows Update content ID @@ -3810,19 +4159,16 @@ The following fields are available: - **DownloadSize** The total size of the download. - **ExtendedHResult** Any extended HResult error codes. - **HResult** The result code of the last action performed. -- **IntentPFNs** Intent Product Family Name - **IsBundle** Is this a bundle? - **IsInteractive** Is this initiated by the user? - **IsMandatory** Is this a mandatory installation? - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this a restore of a previously acquired product? - **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this is a Win32 app (unused). - **ParentBundleId** The parent bundle ID (if it's part of a bundle). - **PFN** The Product Family Name of the app being download. - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The number of attempts by the system to download. -- **UpdateId** Update ID (if this is an update) - **UserAttemptNumber** The number of attempts by the user to download. - **WUContentId** The Windows Update content ID. @@ -3858,19 +4204,16 @@ The following fields are 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. -- **IntentPFNs** Intent Product Family Name - **IsBundle** Is this a bundle? - **IsInteractive** Is this an interactive installation? - **IsMandatory** Is this a mandatory installation? - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this automatically restoring a previously acquired product? - **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this a Win32 app (unused). - **ParentBundleId** The product ID of the parent (if this product is part of a bundle). - **PFN** Product Family Name of the product being installed. - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. -- **UpdateId** Update ID (if this is an update) - **UserAttemptNumber** The total number of user attempts. - **WUContentId** The Windows Update content ID @@ -3900,19 +4243,16 @@ The following fields are 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. -- **IntentPFNs** The licensing identity of this package. - **IsBundle** Is this a bundle? - **IsInteractive** Is this user requested? - **IsMandatory** Is this a mandatory update? - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this restoring previously acquired content? - **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this a Win32 app (unused). - **ParentBundleId** The product ID of the parent (if this product is part of a bundle). - **PFN** The name of the package or packages requested for install. - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. -- **UpdateId** Update ID (if this is an update) - **UserAttemptNumber** The total number of user attempts. - **WUContentId** The Windows Update content ID @@ -3923,6 +4263,7 @@ This event is sent between download and installation to see if there is app data 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. @@ -3940,8 +4281,39 @@ The following fields are available: - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of system attempts. - **WUContentId** The Windows Update content ID -- **IntentPFNs** The licensing identity of this package. -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. + + +### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare + +This event happens after a scan for available app updates. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **HResult** The result code of the last action performed. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete + +This event is sent at the end of an app install or update and is used to track the very end of the install or update process. + +The following fields are available: + +- **FailedRetry** Was the installation or update retry 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. +- **CatalogId** No content is currently available. + + +### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate + +This event is sent at the beginning of an app install or update and is used to track the very beginning of the install or update process. + +The following fields are available: + +- **CatalogId** No content is currently available. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest @@ -3963,6 +4335,7 @@ This event is sent when a product install or update is paused either by a user o 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. @@ -3982,8 +4355,6 @@ The following fields are available: - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. - **WUContentId** The Windows Update content ID -- **IntentPFNs** The licensing identity of this package. -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. ### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation @@ -3992,16 +4363,19 @@ This event happens when a product install or update is resumed either by a user 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. @@ -4011,48 +4385,15 @@ The following fields are available: - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. - **WUContentId** The Windows Update content ID -- **IntentPFNs** Intent Product Family Name -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **HResult** The result code of the last action performed before this operation. -- **IsUserRetry** Did the user initiate the retry? -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest +### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest -This event happens an app for a user needs to be updated. It's used to help keep Windows up-to-date and secure. +This event happens when a product install or update is resumed by a user and on installation retries. It's used to help keep Windows up-to-date and secure. The following fields are available: -- **PFamN** The name of the product that is requested for update. - - -### 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: - -- **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 -- **IntentPFNs** Intent Product Family Name -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. +- **ProductId** The Store Product ID for the product being installed. ### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest @@ -4066,157 +4407,101 @@ The following fields are available: - **SkuId** Specfic edition of the app being updated. -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare +### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest -This event happens after a scan for available app updates. It's used to help keep Windows up-to-date and secure. +This event happens an app for a user needs to be updated. 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. +- **PFamN** The name of the product that is requested for update. -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest +## Windows Update CSP events -This event is sent after the app installations or updates. It's used to help keep Windows up-to-date and secure +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed + +The Execute Rollback Feature Failed event sends basic telemetry on the failure of the Feature Rollback. This functionality supports our feature by providing IT Admins the ability to see the operation failed, allowing them to do further triage of the device. 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. +- **current** Result of currency check +- **dismOperationSucceeded** Dism uninstall operation status +- **hResult** Failure Error code +- **oSVersion** Build number of the machine +- **paused** Machine's pause status +- **rebootRequestSucceeded** Reboot CSP call success status +- **wUfBConnected** Result of WUfB connection check -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureNotApplicable -This event happens when a product install or update is resumed by a user and on installation retries. It's used to help keep Windows up-to-date and secure. +The Execute Rollback Feature Not Applicable event sends basic telemetry on the applicability of the Feature Rollback, to support the functionality of Feature Rollback. This event provides critical information for the feature because it will alert IT Admins that devices they are attempting to rollback Features updates are not applicable. The following fields are available: -- **ProductId** The Store Product ID for the product being installed. +- **current** Result of currency check +- **dismOperationSucceeded** Dism uninstall operation status +- **oSVersion** Build number of the machine +- **paused** Machine's pause status +- **rebootRequestSucceeded** Reboot CSP call success status +- **wUfBConnected** Result of WUfB connection check -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureStarted -This event is sent at the end of an app install or update and is used to track the very end of the install or update process. +The Execute Rollback Feature Started event sends basic information on the start process to provide information that the Feature Rollback has started. + + + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureSucceeded + +The Execute Rollback Feature Succeed event sends basic telemetry on the success of the Rollback of the Feature updates. This functionality supports our feature by providing insights to IT Admins of the success of the Feature rollback. + + + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityFailed + +The Execute Rollback Quality Failed event sends basic telemetry on the failure of the rollback of the Quality/LCU builds. This functionality supports our feature by providing IT Admins the ability to see the operation failed allowing them to do further triage of the device. The following fields are available: -- **FailedRetry** Was the installation or update retry 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. +- **current** Result of currency check +- **dismOperationSucceeded** Dism uninstall operation status +- **hResult** Failure error code +- **oSVersion** Build number of the machine +- **paused** Machine's pause status +- **rebootRequestSucceeded** Reboot CSP call success status +- **wUfBConnected** Result of WUfB connection check -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate +### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityNotApplicable -This event is sent at the beginning of an app install or update and is used to track the very beginning of the install or update process. +The Execute Rollback Quality Not Applicable event sends basic telemetry on the applicability of the Quality Rollback, to support the functionality of Quality Rollback. This event provides critical information for feature because it will alert IT Admins that devices they are attempting to rollback Quality updates are not applicable. The following fields are available: -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **current** Result of currency check +- **dismOperationSucceeded** Dism uninstall operation status +- **oSVersion** Build number of the machine +- **paused** Machine's pause status +- **rebootRequestSucceeded** Reboot CSP call success status +- **wUfBConnected** Result of WUfB connection check + + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityStarted + +The Execute Rollback Quality Started event sends basic information on the start process to provide information that the Quality Rollback has started. + + + +### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualitySucceeded + +The Execute Rollback Quality Succeed event sends basic telemetry on the success of the rollback of the Quality/LCU builds. This functionality supports our feature by providing insights to IT Admins of the success of the Quality rollback. + ## Windows Update Delivery Optimization events -### 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? -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **clientTelId** A random number used for device sampling. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **numPeers** The total number of peers used for this download. -- **restrictedUpload** Is the upload restricted? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **isVpn** Is the device connected to a Virtual Private Network? -- **usedMemoryStream** Did the download use memory streaming? - - -### 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? -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **fileID** The ID of the file being paused. -- **reasonCode** The reason for pausing the download. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **isVpn** Is the device connected to a Virtual Private Network? - - -### 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: - -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -### 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? -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **clientTelId** A random number used for device sampling. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **isVpn** Is the device connected to a Virtual Private Network? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Did the download use memory streaming? - - ### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted This event describes the start of a new download with Delivery Optimization. It's used to understand and address problems regarding downloads. @@ -4224,85 +4509,62 @@ This event describes the start of a new download with Delivery Optimization. It' The following fields are available: - **background** Is the download a background download? +- **bytesRequested** Number of bytes requested for download. - **cdnUrl** The URL of the CDN. -- **clientTelId** A random number used for device sampling. +- **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor. Example: Desktop or Xbox - **diceRoll** The dice roll value used in sampling events. - **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. +- **downloadModeSrc** No content is currently available. - **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 downloaded. - **filePath** The path where the file will be written. +- **fileSize** No content is currently available. +- **fileSizeCaller** No content is currently available. - **groupID** ID for the group. +- **isEncrypted** No content is currently available. - **isVpn** Is the device connected to a Virtual Private Network? - **jobID** The ID of the Windows Update job. +- **peerID** The ID for this Delivery Optimization client. +- **predefinedCallerName** No content is currently available. +- **sessionID** The ID of the download session. +- **setConfigs** No content is currently available. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Did the download use memory streaming? +- **callerName** No content is currently available. - **minDiskSizeGB** The minimum disk size (in GB) required for Peering. - **minDiskSizePolicyEnforced** Is the minimum disk size enforced via policy? - **minFileSizePolicy** The minimum content file size policy to allow the download using Peering. -- **peerID** The ID for this Delivery Optimization client. - **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Did the download use memory streaming? -- **costFlags** A set of flags representing network cost. - - -### 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: - -- **cdnIp** The IP address of the CDN. -- **cdnUrl** The URL of the CDN. -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. -- **httpStatusCode** The HTTP status code returned by the CDN. -- **sessionID** The ID of the download session. -- **cdnHeaders** The HTTP headers returned by the CDN. -- **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. -- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET -- **requestSize** The size of the range requested from the CDN. -- **responseSize** The size of the range response received from the CDN. ## Windows Update events -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary -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. +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: -- **flightId** The unique identifier for each flight -- **mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit -- **objectId** Unique value for each Update Agent mode -- **relatedCV** Correlation vector value generated from the latest scan -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update - - -### 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 initialize phase -- **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 update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate#N# -- **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 +- **activated** Whether the entire device manifest update is considered activated and in use. +- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. +- **flightId** Unique ID for each flight. +- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. +- **objectId** Unique value for each diagnostics session. +- **publishedCount** How many drivers packages that were delivered by the device manifest 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 some 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** How many devices are missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** How many driver packages are 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** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -4321,22 +4583,6 @@ The following fields are available: - **updateId** The unique identifier 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** Unique value for each Update Agent mode -- **relatedCV** Correlation vector value generated from the latest scan -- **result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update - - ### 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 @@ -4364,6 +4610,435 @@ The following fields are available: - **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 initialize phase +- **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 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** Unique value for each Update Agent mode +- **relatedCV** Correlation vector value generated from the latest scan +- **result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **sessionId** Unique value for each Update Agent mode attempt +- **updateId** Unique ID for each update + + +### 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** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit +- **objectId** Unique value for each Update Agent mode +- **relatedCV** Correlation vector value generated from the latest scan +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **sessionId** Unique value for each Update Agent mode attempt +- **updateId** Unique ID for each update + + +### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed + +Dialog notification about to be displayed to user. + +The following fields are available: + +- **AcceptAutoModeLimit** Maximum number of days for a device to automatically enter Auto Reboot mode +- **AutoToAutoFailedLimit** Maximum number of days for Auto Reboot mode to fail before RebootFailed dialog will be shown +- **DeviceLocalTime** Time of dialog shown on local device +- **EngagedModeLimit** Number of days to switch between DTE dialogs +- **EnterAutoModeLimit** Maximum number of days for a device to enter Auto Reboot mode +- **ETag** OneSettings versioning value +- **IsForcedEnabled** Is Forced Reboot mode enabled for this device? +- **IsUltimateForcedEnabled** Is Ultimate Forced Reboot mode enabled for this device? +- **NotificationUxState** Which dialog is shown (ENUM)? +- **NotificationUxStateString** Which dialog is shown (string mapping)? +- **RebootUxState** Engaged/Auto/Forced/UltimateForced +- **RebootUxStateString** Engaged/Auto/Forced/UltimateForced +- **RebootVersion** Version of DTE +- **SkipToAutoModeLimit** The minimum length of time to pass in reboot pending before a machine can be put into auto mode +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **DaysSinceRebootRequired** Number of days since reboot was required. +- **UtcTime** The Coordinated Universal Time when the dialog notification will be displayed. + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog + +Enhanced Engaged reboot accept auto dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Local time of the device sending the event +- **ETag** OneSettings ETag +- **ExitCode** Dialog exit code - user response +- **RebootVersion** Reboot flow version +- **UpdateId** Id of pending update +- **UpdateRevision** Revision number of the pending update +- **UserResponseString** User response to the reboot dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog + +Enhanced Engaged reboot first reminder dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedPrecursorDialog + +Enhanced Engaged reboot forced precursor dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedWarningDialog + +Enhanced Engaged forced warning dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog + +Enhanced Engaged reboot reboot failed dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog + +Enhanced Engaged reboot reboot imminent dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootSecondReminderDialog + +Enhanced Engaged reboot second reminder dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootThirdReminderDialog + +Enhanced Engaged reboot third reminder dialog was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog +- **UtcTime** The Coordinated Universal Time that dialog was displayed + + +### 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** True, If Active Hours applicable on this device. False, otherwise +- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot +- **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** The state of the reboot +- **revisionNumber** Revision number of the update that is getting installed with this reboot +- **scheduledRebootTime** Time of the scheduled reboot +- **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time +- **updateId** ID of the update that is getting installed with this reboot +- **wuDeviceid** Unique device ID used by Windows Update + + +### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy + +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** Device ID + + +### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours + +Update activity blocked due to active hours being currently active. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window +- **activeHoursStart** The start of the active hours window +- **updatePhase** Device ID +- **wuDeviceid** Device ID +- **blockReason** The current state of the update process + + +### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel + +Update activity blocked due to low battery level. + +The following fields are available: + +- **batteryLevel** The battery capacity threshold to stop update activity +- **batteryLevelThreshold** Reason for stopping update activity +- **updatePhase** Device ID +- **wuDeviceid** Device ID +- **blockReason** The current state of the update process + + +### Microsoft.Windows.Update.Orchestrator.CommitFailed + +This events tracks when a device needs to restart after an update but did not. + +The following fields are available: + +- **errorCode** The error code that was returned. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit + +Event to indicate that DTU completed installation of the ESD, when WU was already Pending Commit of the feature update. + +The following fields are available: + +- **wuDeviceid** Device ID used by WU + + +### Microsoft.Windows.Update.Orchestrator.DTUEnabled + +No content is currently available. + +The following fields are available: + +- **wuDeviceid** Device ID. + + +### Microsoft.Windows.Update.Orchestrator.DTUInitiated + +No content is currently available. + +The following fields are available: + +- **dtuErrorCode** No content is currently available. +- **isDtuApplicable** No content is currently available. +- **wuDeviceid** No content is currently available. + + +### Microsoft.Windows.Update.Orchestrator.DeferRestart + +Indicates that a restart required for installing updates was postponed + +The following fields are available: + +- **displayNeededReason** No content is currently available. +- **eventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc +- **filteredDeferReason** The raised reason that the USO did not restart (e.g. user active, low battery) that were ignorable +- **gameModeReason** No content is currently available. +- **ignoredReason** No content is currently available. +- **revisionNumber** No content is currently available. +- **systemNeededReason** No content is currently available. +- **updateId** No content is currently available. +- **updateScenarioType** No content is currently available. +- **wuDeviceid** Windows Update Device GUID +- **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) + + +### Microsoft.Windows.Update.Orchestrator.Detection + +A scan for an update occurred. + +The following fields are available: + +- **detectionBlockingPolicy** State of update action +- **detectionBlockreason** Reason for detection not completing. +- **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. +- **interactive** Identifies if session is User Initiated. +- **scanTriggerSource** Source of the triggered scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. +- **detectionRetryMode** Error info +- **errorCode** State of update action +- **networkStatus** Error info +- **deferReason** Reason for postponing detection +- **flightID** Flight info +- **revisionNumber** Update version +- **updateId** Update ID - GUID + + +### Microsoft.Windows.Update.Orchestrator.DisplayNeeded + +Reboot 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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date +- **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 to ensure the correct update process and experience is provided to keep Windows up to date +- **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** Unique update ID. +- **interactive** Identifies if 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.Escalation + +Event sent when USO takes an Escalation action on device. + +The following fields are available: + +- **configVersion** Indicate the specific escalation action that took place on device +- **escalationAction** GUID of the update the device is offered +- **updateClassificationGUID** ID of the update the device is offered +- **updateId** Device ID used by WU +- **wuDeviceid** No content is currently available. + + +### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels + +Event sent during update scan, download, install. Indicates that the device is at risk of being out-of-date. + +The following fields are available: + +- **configVersion** Escalation config version on device +- **downloadElapsedTime** How long since the download is required on device +- **downloadRiskLevel** At-risk level of download phase +- **installElapsedTime** How long since the install is required on device +- **installRiskLevel** At-risk level of install phase +- **isSediment** WaaSmedic's assessment of whether is device is at risk or not +- **scanElapsedTime** How long since the scan is required on device +- **scanRiskLevel** At-risk level of scan phase +- **wuDeviceid** Device id used by WU + + +### Microsoft.Windows.Update.Orchestrator.EscalationsRefreshFailed + +USO has a set of escalation actions to prevent a device from becoming out-of-date, and the actions are triggered based on the Escalation config that USO obtains from OneSettings. This event is sent when USO fails to refresh the escalation config from OneSettings. + +The following fields are available: + +- **configVersion** Current escalation config version on device +- **errorCode** Error code for the refresh failure +- **wuDeviceid** Device ID used by WU + + +### Microsoft.Windows.Update.Orchestrator.FlightInapplicable + +The Update is no longer Applicable to this device + +The following fields are available: + +- **EventPublishedTime** Time when this event was generated +- **flightID** Flight specific info +- **revisionNumber** Update ID revision number +- **updateId** Update ID - GUID +- **updateScenarioType** Update session type +- **UpdateStatus** Last status of update +- **UUPFallBackConfigured** Is UUP fallback configured +- **wuDeviceid** Windows Update Device GUID + + ### Microsoft.Windows.Update.Orchestrator.GameActive This event indicates that an enabled GameMode process prevented the device from restarting to complete an update @@ -4375,94 +5050,102 @@ 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.DataMigrationFramework.DmfMigrationCompleted +### Microsoft.Windows.Update.Orchestrator.InitiatingReboot -This event sends data collected at the end of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. +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: -- **MigrationDurationInMilliseconds** How long the DMF migration took (in milliseconds) -- **MigrationEndTime** A system timestamp of when the DMF migration completed. -- **RevisionNumbers** A collection of revision numbers for the updates associated with the DMF session. -- **UpdateIds** A collection of GUIDs for updates that are associated with the DMF session. -- **WuClientId** The GUID of the Windows Update client responsible for triggering the DMF migration - - -### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationStarted - -This event sends data collected at the beginning of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. - -The following fields are available: - -- **MigrationMicrosoftPhases** Revision numbers for the updates that were installed. -- **MigrationOEMPhases** WU Update IDs for the updates that were installed. -- **MigrationStartTime** The timestamp representing the beginning of the DMF migration -- **WuClientId** The GUID of the Windows Update client invoking DMF -- **RevisionNumbers** A collection of the revision numbers associated with the UpdateIds. -- **UpdateIds** A collection of GUIDs identifying the upgrades that are running. - - -### Microsoft.Windows.Update.DataMigrationFramework.MigratorResult - -This event sends DMF migrator data to help keep Windows up to date. - -The following fields are available: - -- **CurrentStep** This is the last step the migrator reported before returning a result. This tells us how far through the individual migrator the device was before failure. -- **ErrorCode** The result (as an HRESULT) of the migrator that just completed. -- **MigratorId** A GUID identifying the migrator that just completed. -- **MigratorName** The name of the migrator that just completed. -- **RunDurationInSeconds** The time it took for the migrator to complete. -- **TotalSteps** Migrators report progress in number of completed steps against the total steps. This is the total number of steps. - - -### Microsoft.Windows.Update.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 -- **detectionDeferreason** Reason for download not completing -- **errorCode** An error code represented as a hexadecimal value -- **eventScenario** End to end update session ID. -- **flightID** Unique update ID. -- **interactive** Identifies if session is user initiated. -- **revisionNumber** Update revision number. +- **EventPublishedTime** Time of the event. +- **flightID** Unique update ID +- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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 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.FlightInapplicable +### Microsoft.Windows.Update.Orchestrator.Install -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 that the event was generated -- **revisionNumber** Revision Number of the Update -- **updateId** Unique Update ID -- **UpdateStatus** Integer that describes Update state -- **wuDeviceid** Unique Device ID -- **flightID** Unique Update ID -- **updateScenarioType** The update session type. - - -### Microsoft.Windows.Update.Orchestrator.PostInstall - -This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows up to date. +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. -- **bundleId** Update grouping ID. -- **bundleRevisionnumber** Bundle revision number. -- **errorCode** Hex code for the error message, to allow lookup of the specific error. - **eventScenario** End to end update session ID. -- **flightID** Unique update ID. -- **sessionType** Interactive vs. Background. +- **flightID** Unique update ID +- **flightUpdate** Flight update +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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. +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. + + +### Microsoft.Windows.Update.Orchestrator.PostInstall + +Event sent after Update install completes. + +The following fields are available: + +- **batteryLevel** Battery level percentage +- **bundleId** Update ID - GUID +- **bundleRevisionnumber** Update ID revision number +- **errorCode** Error value +- **eventScenario** State of update action +- **sessionType** Update session type +- **wuDeviceid** Windows Update device GUID +- **flightID** The flight ID of the device +- **updateScenarioType** The scenario type of this update + + +### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged + +This event is sent when the options in power menu changed, usually due to an update pending reboot, or after a update is installed. + +The following fields are available: + +- **powermenuNewOptions** The new options after the power menu changed +- **powermenuOldOptions** The old options before the power menu changed +- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, how long that reboot has been pending +- **wuDeviceid** If the power menu changed because a reboot is pending due to a update, the device ID recorded by WU + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated right 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.Progress + +Event sent when the download of a update reaches a milestone change, such as network cost policy changed, a internal phase has completed, or a transient state has changed. + +The following fields are available: + +- **errorCode** Error info +- **flightID** Flight info +- **interactive** Is USO session interactive or non-interactive? +- **networkCostPolicy** The current network cost policy on device +- **revisionNumber** Update ID revision number +- **updateId** Update ID - GUID +- **updateScenarioType** Update Session type +- **updateState** Subphase of the download +- **UpdateStatus** Subphase of the update +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.RebootFailed @@ -4475,7 +5158,6 @@ The following fields are available: - **deferReason** Reason for install not completing. - **EventPublishedTime** The time that the reboot failure occurred. - **flightID** Unique update ID. -- **installRebootDeferreason** Reason for reboot not occurring. - **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. - **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. - **revisionNumber** Update revision number. @@ -4485,6 +5167,74 @@ The following fields are available: - **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: + +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device id on which the reboot is restored + + +### Microsoft.Windows.Update.Orchestrator.ScanTriggered + +Indicates that Update Orchestrator has started a scan operation. + +The following fields are available: + +- **errorCode** Error info +- **eventScenario** Indicates the purpose of sending this event +- **interactive** Whether or not the scan is interactive. +- **isScanPastSla** Has the SLA elapsed for scanning? +- **isScanPastTriggerSla** Has the SLA elapsed for triggering a scan? +- **minutesOverScanSla** How many minutes over the scan SLA is the scan? +- **minutesOverScanTriggerSla** How many minutes over the scan trigger SLA is the scan? +- **scanTriggerSource** What caused the scan? +- **updateScenarioType** The type of scenario we are in. +- **wuDeviceid** WU Device ID of the machine. + + +### 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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **revisionNumber** Update revision number. +- **systemNeededReason** Reason ID +- **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 + +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** Device ID + + +### Microsoft.Windows.Update.Orchestrator.TerminatedByBatteryLevel + +Update activity was stopped due to a 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.UpdatePolicyCacheRefresh This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. @@ -4504,85 +5254,13 @@ This event sends data about whether an update required a reboot to help keep Win The following fields are available: -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **wuDeviceid** Unique device ID used by Windows Update. - **flightID** Unique update ID. - **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. -- **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. -- **updateScenarioType** The update session type. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled - -This event sends data about a required reboot that is scheduled with no user interaction, to help keep Windows up to date. - -The following fields are available: - -- **activeHoursApplicable** True, If Active Hours applicable on this device. False, otherwise. -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. -- **revisionNumber** Revision number of the update that is getting installed with this reboot. -- **scheduledRebootTime** Time of the scheduled reboot -- **updateId** Update ID of the update that is getting installed with this reboot. -- **wuDeviceid** Unique device ID used by Windows Update. -- **rebootState** The state of the reboot. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event sends launch data for a Windows Update scan to help keep Windows up to date. - -The following fields are available: - -- **deferReason** Reason why the device could not check for updates. -- **detectionBlockreason** Reason for detection not completing. -- **detectionDeferreason** A log of deferral reasons for every update state. -- **errorCode** The returned error code. -- **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** A unique update ID. -- **interactive** Identifies if 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.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. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **wuDeviceid** Unique device ID used by Windows Update. -- **flightID** Unique update ID -- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. - **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. -- **updateScenarioType** The update session type. - - -### 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? -- **rebootArgument** The arguments that are passed to the OS for the restarted. -- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? -- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. -- **rebootState** The state of the restart. -- **revisionNumber** The revision number of the OS being updated. -- **scheduledRebootTime** Time of the scheduled reboot -- **updateId** The Windows Update device GUID. -- **wuDeviceid** The Windows Update device GUID. -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded @@ -4594,148 +5272,118 @@ The following fields are available: - **UtcTime** The Coordinated Universal Time that the restart was no longer needed. -### Microsoft.Windows.Update.Ux.MusNotification.ToastDisplayedToScheduleReboot +### Microsoft.Windows.Update.Ux.MusNotification.RebootRequestReasonsToIgnore -This event is sent when a toast notification is shown to the user about scheduling a device restart. +This event is sent when the reboot can be deferred based on some reasons, before reboot attempts. The following fields are available: -- **UtcTime** The Coordinated Universal Time when the toast notification was shown. +- **Reason** The reason sent which will cause the reboot to defer. -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask +### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled -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 RebootScheduled event sends basic information for scheduling a update related reboot to facilitate the flow of getting security updates and keeping Windows up to date. The following fields are available: -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **wuDeviceid** Device id on which the reboot is restored +- **activeHoursApplicable** Whether Active Hours applies. +- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. +- **rebootArgument** The reboot arguments +- **rebootOutsideOfActiveHours** If reboot was outside of Active Hours +- **rebootScheduledByUser** If the reboot was scheduled by the user, or the system. +- **rebootState** Which state the reboot is in +- **revisionNumber** Revision number of the OS +- **scheduledRebootTime** Time the reboot was scheduled for. +- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC +- **updateId** UpdateId to identify which update is being scheduled. +- **wuDeviceid** Unique DeviceID -### Microsoft.Windows.Update.Orchestrator.SystemNeeded +### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot -This event sends data about why a device is unable to reboot, to help keep Windows up to date. +This event is fired the first time when the reboot is required. + + + +### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerScheduledTask + +This event is sent when MUSE broker schedules a task. The following fields are available: -- **eventScenario** End to end update session ID. -- **revisionNumber** Update revision number. -- **systemNeededReason** Reason ID -- **updateId** Update ID. -- **wuDeviceid** Unique device ID used by Windows Update. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. -- **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. -- **updateScenarioType** The update session type. +- **TaskArgument** The arguments with which the task is scheduled. +- **TaskName** Name of the task. -### Microsoft.Windows.Update.UpdateStackServicing.CheckForUpdates +## Windows Update mitigation events -This event sends data about the UpdateStackServicing check for updates, to help keep Windows up to date. +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The following fields are available: -- **BspVersion** The version of the BSP. -- **CallerApplicationName** The name of the USS scheduled task. Example UssScheduled or UssBoot -- **ClientVersion** The version of the client. -- **CommercializationOperator** The name of the operator. -- **DetectionVersion** The string returned from the GetDetectionVersion export of the downloaded detection DLL. -- **DeviceName** The name of the device. -- **EventInstanceID** The USS session ID. -- **EventScenario** The scenario of the event. Example: Started, Failed, or Succeeded -- **OemName** The name of the manufacturer. -- **ServiceGuid** The GUID of the service. -- **StatusCode** The HRESULT code of the operation. -- **WUDeviceID** The Windows Update device ID. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. +- **WuId** Unique ID for the Windows Update client. -### Microsoft.Windows.Update.Orchestrator.CommitFailed +### Mitigation360Telemetry.MitigationCustom.FixAppXReparsePoints -This events tracks when a device needs to restart after an update but did not. +This event sends data specific to the FixAppXReparsePoints mitigation used for OS updates. The following fields are available: -- **errorCode** The error code that was returned. -- **wuDeviceid** The Windows Update device GUID. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. +- **ReparsePointsSkipped** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. +- **WuId** Unique ID for the Windows Update client. -### Microsoft.Windows.Update.Orchestrator.Install +### Mitigation360Telemetry.MitigationCustom.FixupEditionId -This event sends launch data for a Windows Update install to help keep Windows up to date. +This event sends data specific to the FixupEditionId mitigation used for OS updates. The following fields are available: -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **eventScenario** End to end update session ID. -- **interactive** Identifies if session is user initiated. -- **wuDeviceid** Unique device ID used by Windows Update. -- **flightUpdate** Flight update -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **minutesToCommit** The time it took to install updates. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **errorCode** The error code reppresented by a hexadecimal value. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **flightID** Unique update ID -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. -- **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. -- **updateScenarioType** The update session type. +- **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. -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated right 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.DeferRestart - -This event indicates that a restart required for installing updates was postponed - -The following fields are available: - -- **filteredDeferReason** Indicates the raised, but ignorable, reasons that the USO didn't restart (for example, user active or low battery) -- **raisedDeferReason** Indicates the reason that the USO didn't restart. For example, user active or low battery -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue -- **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 - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -Reboot 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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date -- **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 to ensure the correct update process and experience is provided to keep Windows up to date -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### 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** True, If Active Hours applicable on this device. False, otherwise -- **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** The state of the reboot -- **revisionNumber** Revision number of the update that is getting installed with this reboot -- **scheduledRebootTime** Time of the scheduled reboot -- **updateId** ID of the update that is getting installed with this reboot -- **wuDeviceid** Unique device ID used by Windows Update -- **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time \ No newline at end of file From 7434923fe07991c3785852e19f93ab7da21a854c Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 6 Apr 2018 15:40:18 +0000 Subject: [PATCH 066/212] Updated .openpublishing.redirection.json --- .openpublishing.redirection.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 79fce660b9..114d7f065e 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -4686,7 +4686,7 @@ "redirect_document_id": true }, { -"source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md", +"source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields-1803.md", "redirect_url": "/windows/configuration/basic-level-windows-diagnostic-events-and-fields", "redirect_document_id": true }, From e1a4e34f7c38cf04dd4ce23375fa4b1cbbc6a59c Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 9 Apr 2018 13:40:01 -0700 Subject: [PATCH 067/212] adding new version --- ...el-windows-diagnostic-events-and-fields.md | 2378 ++++++++--------- 1 file changed, 1189 insertions(+), 1189 deletions(-) diff --git a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md index 36a4bb61d5..d9847d8141 100644 --- a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md +++ b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md @@ -25,7 +25,7 @@ ms.date: 4/10/2018 - Windows 10, version 1803 -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Windows Store. When the level is set to Basic, it also includes the Security level information. +The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. @@ -37,7 +37,8 @@ You can learn more about Windows functional and diagnostic data through these ar - [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 telemetry in your organization](configure-windows-diagnostic-data-in-your-organization.md) +- [Manage Windows 10 connection endpoints](manage-windows-endpoints-version-1709.md) +- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) @@ -265,43 +266,37 @@ This event lists the types of objects and how many of each exist on the client d The following fields are available: -- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **DataSourceMatchingInfoBlock_RS1** No content is currently available. -- **DecisionMatchingInfoBlock_RS1** No content is currently available. -- **DecisionMediaCenter_RS1** No content is currently available. +- **SystemProcessorLahfSahf** 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. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **SystemProcessorNx** The count of the number of this particular object type present on this device. +- **SystemWim** The count of the number of this particular object type present on this device. +- **SystemWlan** 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. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** No content is currently available. -- **DecisionMatchingInfoPostUpgrade_RS1** No content is currently available. -- **DataSourceMatchingInfoPassive_RS1** No content is currently available. -- **DecisionMatchingInfoPassive_RS1** No content is currently available. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **SystemMemory** The count of the number of this particular object type present on this device. +- **SystemProcessorPrefetchW** 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. +- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **InventoryUplevelDriverPackage** 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. +- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of the number of this particular object type present on this device. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. - **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** 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. -- **SystemMemory** The count of SystemMemory objects present on this machine. -- **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 count of SystemProcessorNx objects present on this machine. -- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. -- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. -- **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of SystemWim objects present on this machine. -- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of SystemWlan objects present on this machine. -- **DatasourceSystemBios_RS1** No content is currently available. -- **DecisionSystemBios_RS1** No content is currently available. -- **InventoryTest** No content is currently available. -- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **DatasourceDevicePnp_RS1** No content is currently available. -- **DatasourceDriverPackage_RS1** No content is currently available. -- **DecisionDevicePnp_RS1** No content is currently available. -- **DecisionDriverPackage_RS1** No content is currently available. -- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. - **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. - **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. @@ -315,6 +310,11 @@ The following fields are available: - **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd @@ -446,7 +446,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -1420,7 +1420,6 @@ The following fields are available: - **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? @@ -1449,6 +1448,7 @@ The following fields are available: - **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. - **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. - **VoiceSupported** Does the device have a cellular radio capable of making voice calls? +- **DeviceColor** Indicates a color of the device. ### Census.Memory @@ -1730,7 +1730,7 @@ The following fields are available: ### TelClientSynthetic.HeartBeat_5 -This event sends data about the health and quality of the telemetry 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. +Fired by UTC as a heartbeat signal. The following fields are available: @@ -1858,11 +1858,11 @@ Commit call. The following fields are available: +- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. -- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess @@ -1883,11 +1883,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure @@ -1971,11 +1971,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure @@ -2009,12 +2009,12 @@ Event to indicate Coordinator's progress callback has been called. The following fields are available: +- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. +- **DeployPhase** Current Deploy Phase. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. -- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. - **CV** Correlation vector. -- **DeployPhase** Current Deploy Phase. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure @@ -2183,8 +2183,8 @@ The following fields are available: - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure - **CV_new** New correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess @@ -2269,12 +2269,12 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: -- **hResult** HRESULT of the failure -- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess @@ -2283,11 +2283,11 @@ Event to indicate that the Handler Initialize call succeeded. The following fields are available: -- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure @@ -2296,11 +2296,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -2321,11 +2321,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler S The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess @@ -2346,11 +2346,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler W The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess @@ -2399,19 +2399,19 @@ This event sends basic metadata about the starting point of uninstalling a featu ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. +This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The following fields are available: - **DriverPackageExtended** A count of driverpackageextended objects in cache -- **FileSigningInfo** A count of file signing info objects in cache. +- **FileSigningInfo** A count of file signing objects in cache - **InventoryApplication** A count of application objects in cache - **InventoryApplicationFile** A count of application file objects in cache - **InventoryDeviceContainer** A count of device container objects in cache -- **InventoryDeviceInterface** A count of inventory device interface objects in cache. +- **InventoryDeviceInterface** A count of PNP device interface objects in cache - **InventoryDeviceMediaClass** A count of device media objects in cache - **InventoryDevicePnp** A count of devicepnp objects in cache -- **InventoryDeviceUsbHubClass** No content is currently available. +- **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 @@ -3004,1040 +3004,7 @@ This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd eve -## OneDrive events - -## 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 -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience -- **isLaunching** Whether or not the privacy consent experience will be launched -- **userRegionCode** The current user's region setting - - -## Setup events - -### 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. - - -## Shared PC events - -### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount - -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. - -The following fields are available: - -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. -- **accountType** The type of account that was deleted. Example: AD, AAD, or Local -- **deleteState** Whether the attempted deletion of the user account was successful. -- **userSid** The security identifier of the account. - - -### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation - -Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates - -The following fields are available: - -- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. - -The 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. -- **IsExecutingAction** If the action is presently being executed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) -- **SihclientVersion** The client version that is being used. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. - - -### SIHEngineTelemetry.SLSActionData - -This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **FailedParseActions** The list of actions that were not successfully parsed. -- **ParsedActions** The list of actions that were successfully parsed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) -- **SihclientVersion** The client version that is being used. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -Scan process event on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **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. -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows Store, etc.). -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **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). -- **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. -- **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** 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. -- **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 -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **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. -- **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. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **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. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceUrl** The environment URL a device is configured to scan with -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **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. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **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. -- **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 - - -### 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 -- **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** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows 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 eventscenario field for specifics, e.g.: started/failed/succeeded) - -The following fields are available: - -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. 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. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). -- **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. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** What is the device model. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. -- **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. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** Identifies 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, Windows 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. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in 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. -- **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. -- **RegulationReason** No content is currently available. - - -### 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. -- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** Mobile operator that device is currently connected to. -- **DeviceModel** What is the device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Are feature OS updates paused on the device? -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? -- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? -- **IsFirmware** Is this update a firmware update? -- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? -- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? -- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? -- **MergedUpdate** Was the OS update and a BSP update merged for installation? -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Are quality OS updates paused on the device? -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. -- **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, Windows Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID which represents a given MSI installation -- **UpdateId** Unique update ID -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. - -The 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 which were 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 which represents which service the software distribution client is connecting to (Windows Update, Windows 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** The secondary status code of the event. -- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** Base64 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. -- **RevisionId** Identifies the revision of this specific piece of content -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store -- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **SignatureAlgorithm** Hash algorithm for the metadata signature -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** Identifier associated with the specific piece of content -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - - -## Update events - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new UUP (Unified Update Platform) 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 - -No content is currently available. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **ErrorCode** The error code returned for the current download request phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) -- **PackageCountOptional** 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** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) -- **UpdateId** Unique ID for each update. -- **PackageExpressType** Type of express package. - - -### Update360Telemetry.UpdateAgentExpand - - This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentFellBackToCanonical - -This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **FlightId** The error code returned for the current install phase. -- **ObjectId** Unique value for each Update Agent mode. -- **PackageCount** Number of packages that feel back to canonical. -- **PackageList** PackageIds which fell back to canonical. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - - The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. 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** Unique value for each update attempt. -- **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 - -The UpdateAgentInstall 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. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentModeStart - -The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) 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** No content is currently available. - - -### Update360Telemetry.UpdateAgentPostRebootResult - -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario - -The following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase -- **FlightId** The unique identifier for each flight -- **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 Agent mode attempt -- **UpdateId** Unique ID for each update - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -No content is currently available. - -The following fields are available: - -- **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. -- **ContainsExpressPackage** Indicates whether the download package is express. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage - -Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. - -The following fields are available: - -- **CampaignConfigVersion** Config version of current campaign -- **CampaignID** Currently running campaign on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version of the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user -- **key1** UI interaction data -- **key2** UI interaction data -- **key3** UI interaction data -- **key4** UI interaction data -- **key5** UI interaction data -- **key6** UI interaction data -- **key7** UI interaction data -- **key8** UI interaction data -- **key9** UI interaction data -- **PackageVersion** Current package version of UNP -- **schema** UI interaction type -- **key10** UI interaction data -- **key11** UI interaction data -- **key12** UI interaction data -- **key13** UI interaction data -- **key14** UI interaction data -- **key15** UI interaction data -- **key16** UI interaction data -- **key17** Interaction data for the UI -- **key18** Interaction data for the UI -- **key19** Interaction data for the UI -- **key20** Interaction data for the UI -- **key21** Interaction data for the UI -- **key22** Interaction data for the UI -- **key23** Interaction data for the UI -- **key24** Interaction data for the UI -- **key25** Interaction data for the UI -- **key26** Interaction data for the UI -- **key27** UI interaction data -- **key28** UI interaction data -- **key29** UI interaction data -- **key30** UI interaction data - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat - -This event is sent at the start of each campaign, to be used as a heartbeat - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign - -This event indicates that the Campaign Manager is cleaning up the campaign content - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.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's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed - -This event is sent when a campaign completion status query fails - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed - -This event is sent when the Campaign Manager encounters an unexpected error while running the campaign - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version - - -## Upgrade events - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** 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. It's 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** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string 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. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has invoked the finalize 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** 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 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** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall 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** 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 is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the postrebootinstall 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. -- **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** 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 is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.PreDownloadUX - -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** 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 can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. -- **FlightData** No content is currently available. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. -- **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. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX 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** No content is currently available. -- **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** 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 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: - -- **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. -- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** 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 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. -- **FlightData** Unique value that identifies the flight. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -Result of the WaaSMedic operation. - -The following fields are available: - -- **detectionSummary** Result of each applicable detection that was ran. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineResult** Error code from the engine operation. -- **insufficientSessions** Device not eligible for diagnostics. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each applicable resolution that was ran. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **versionString** Version of the WaaSMedic engine. -- **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. - - -## Windows Error Reporting events - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -No content is currently available. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure - - -## Windows Store events +## Microsoft Store events ### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation @@ -4294,26 +3261,26 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete -This event is sent at the end of an app install or update and is used to track the very end of the install or update process. +The FulfillmentComplete event is fired at the end of an app install or update. We use this to track the very end of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure, such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. The following fields are available: +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **FailedRetry** Was the installation or update retry 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. -- **CatalogId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate -This event is sent at the beginning of an app install or update and is used to track the very beginning of the install or update process. +The FulfillmentInitiate event is fired at the start of an app install or update. We use this to track the very beginning of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure, such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. The following fields are available: -- **CatalogId** No content is currently available. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest @@ -4416,6 +3383,1039 @@ The following fields are available: - **PFamN** The name of the product that is requested for update. +## OneDrive events + +## 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 current user is an administrator or not +- **isLaunching** Whether or not the privacy consent experience will be launched +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience +- **userRegionCode** The current user's region setting + + +## Setup events + +### 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. + + +## Shared PC events + +### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount + +Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. + +The following fields are available: + +- **accountType** The type of account that was deleted. Example: AD, AAD, or Local +- **deleteState** Whether the attempted deletion of the user account was successful. +- **userSid** The security identifier of the account. +- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. + + +### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation + +Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates + +The following fields are available: + +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. +- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. +- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours + + +## SIH events + +### SIHEngineTelemetry.EvalApplicability + +This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. + +The following fields are available: + +- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. +- **IsExecutingAction** If the action is presently being executed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **UpdateID** A unique identifier for the action being acted upon. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. + + +### SIHEngineTelemetry.SLSActionData + +This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. + +The following fields are available: + +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **FailedParseActions** The list of actions that were not successfully parsed. +- **ParsedActions** The list of actions that were successfully parsed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. + + +## Software update events + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +Scan process event on Windows Update client (see eventscenario field for specifics, e.g.: 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. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **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. +- **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). +- **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. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **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. +- **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. +- **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 +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows 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 +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **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. +- **ClientVersion** The version number of the software distribution client. +- **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. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **EventInstanceID** A globally unique identifier for event instance. +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **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. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **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. +- **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. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **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. +- **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 +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown + + +### 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 +- **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** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows 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 eventscenario field for specifics, e.g.: started/failed/succeeded) + +The following fields are available: + +- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. 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. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). +- **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. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientVersion** The version number of the software distribution client. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **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. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **PackageFullName** The package name of the content. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RegulationReason** The reason that the update is regulated +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. +- **RevisionNumber** Identifies 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, Windows 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. +- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. +- **TimeToEstablishConnection** Time (in 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. +- **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. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. + + +### 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. +- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **ClientVersion** The version number of the software distribution client. +- **CSIErrorType** The stage of CBS installation where it failed. +- **CurrentMobileOperator** Mobile operator that device is currently connected to. +- **DeviceModel** What is the device model. +- **DriverPingBack** Contains information about the previous driver and system state. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Are feature OS updates paused on the device? +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? +- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? +- **IsFirmware** Is this update a firmware update? +- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? +- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? +- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? +- **MergedUpdate** Was the OS update and a BSP update merged for installation? +- **MsiAction** The stage of MSI installation where it failed. +- **MsiProductCode** The unique identifier of the MSI installer. +- **PackageFullName** The package name of the content being installed. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Are quality OS updates paused on the device? +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. +- **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, Windows Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TransactionCode** The ID which represents a given MSI installation +- **UpdateId** Unique update ID +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.UpdateDetected + +This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. + +The 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 which were 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 which represents which service the software distribution client is connecting to (Windows Update, Windows 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: + +- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **LeafCertId** Integral id from the FragmentSigning data for certificate which failed. +- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) +- **RevisionId** Identifies the revision of this specific piece of content +- **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, Windows Store, etc) +- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. +- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob +- **SignatureAlgorithm** Hash algorithm for the metadata signature +- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. +- **UpdateId** Identifier associated with the specific piece of content +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. + + +## Update events + +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new UUP (Unified Update Platform) 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 + + The UpdateAgent_DownloadRequest event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **ErrorCode** The error code returned for the current download request phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) +- **PackageCountOptional** 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** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) +- **UpdateId** Unique ID for each update. +- **PackageExpressType** Type of express package. + + +### Update360Telemetry.UpdateAgentExpand + + This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ElapsedTickCount** Time taken for expand phase. +- **EndFreeSpace** Free space after expand phase. +- **EndSandboxSize** Sandbox size after expand phase. +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **StartFreeSpace** Free space before expand phase. +- **StartSandboxSize** Sandbox size after expand phase. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentFellBackToCanonical + +This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** The error code returned for the current install phase. +- **ObjectId** Unique value for each Update Agent mode. +- **PackageCount** Number of packages that feel back to canonical. +- **PackageList** PackageIds which fell back to canonical. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInitialize + + The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. 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** Unique value for each update attempt. +- **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 + +The UpdateAgentInstall 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. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentModeStart + +The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) 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.UpdateAgentPostRebootResult + +This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario + +The following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase +- **FlightId** The unique identifier for each flight +- **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 Agent mode attempt +- **UpdateId** Unique ID for each update + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new UUP (Unified Update Plaform) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **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. +- **ContainsExpressPackage** Indicates whether the download package is express. + + +## Update notification events + +### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage + +Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. + +The following fields are available: + +- **CampaignConfigVersion** Config version of current campaign +- **CampaignID** Currently running campaign on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version of the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user +- **key1** UI interaction data +- **key10** UI interaction data +- **key11** UI interaction data +- **key12** UI interaction data +- **key13** UI interaction data +- **key14** UI interaction data +- **key15** UI interaction data +- **key16** UI interaction data +- **key17** UI interaction data +- **key2** UI interaction data +- **key3** UI interaction data +- **key4** UI interaction data +- **key5** UI interaction data +- **key6** UI interaction data +- **key7** Interaction data for the UI +- **key8** Interaction data for the UI +- **key9** UI interaction data +- **PackageVersion** Current package version of UNP +- **schema** UI interaction type +- **key18** UI interaction data +- **key19** UI interaction data +- **key20** UI interaction data +- **key21** Interaction data for the UI +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data +- **key27** UI interaction data +- **key28** Interaction data for the UI +- **key29** UI interaction data +- **key30** UI interaction data + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat + +This event is sent at the start of each campaign, to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign + +This event indicates that the Campaign Manager is cleaning up the campaign content + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.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's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed + +This event is sent when a campaign completion status query fails + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed + +This event is sent when the Campaign Manager encounters an unexpected error while running the campaign + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure +- **PackageVersion** Current UNP package version + + +## Upgrade events + +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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. It's 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** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string 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. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.Finalize + +This event sends data indicating that the device has invoked the finalize 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** 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 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** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.OsUninstall + +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall 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. +- **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** 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 is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.PostRebootInstall + +This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. +- **FlightData** Unique value that identifies the flight. + + +### 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** 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 is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled +- **TestId** A string to uniquely identify a group of events. +- **WuId** 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. Specifically the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous operating system. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). +- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. +- **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. + + +### Setup360Telemetry.PreInstallQuiet + +This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. +- **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. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.PreInstallUX + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX indicates the outcome of the PreinstallUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.Setup360 + +This event sends data about OS deployment scenarios, to help keep Windows up-to-date. + +The following fields are available: + +- **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. +- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** 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 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. +- **FlightData** Unique value that identifies the flight. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.SummaryEvent + +Result of the WaaSMedic operation. + +The following fields are available: + +- **detectionSummary** Result of each applicable detection that was ran. +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. +- **hrEngineResult** Error code from the engine operation. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **remediationSummary** Result of each applicable resolution that was ran. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **versionString** Version of the WaaSMedic engine. +- **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. +- **insufficientSessions** Device not eligible for diagnostics. + + +## Windows Error Reporting events + +## 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 + + ## Windows Update CSP events ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed @@ -4467,7 +4467,7 @@ The following fields are available: - **current** Result of currency check - **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure error code +- **hResult** Failure Error code - **oSVersion** Build number of the machine - **paused** Machine's pause status - **rebootRequestSucceeded** Reboot CSP call success status @@ -4504,41 +4504,41 @@ The Execute Rollback Quality Succeed event sends basic telemetry on the success ### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted -This event describes the start of a new download with Delivery Optimization. It's used to understand and address problems regarding downloads. +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** Is the download a background download? +- **background** If the download is happening in the background - **bytesRequested** Number of bytes requested for download. -- **cdnUrl** The URL of the CDN. -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor. Example: Desktop or Xbox -- **diceRoll** The dice roll value used in sampling events. -- **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. -- **downloadModeSrc** No content is currently available. -- **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 downloaded. -- **filePath** The path where the file will be written. -- **fileSize** No content is currently available. -- **fileSizeCaller** No content is currently available. -- **groupID** ID for the group. -- **isEncrypted** No content is currently available. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** The ID of the Windows Update job. -- **peerID** The ID for this Delivery Optimization client. -- **predefinedCallerName** No content is currently available. -- **sessionID** The ID of the download session. -- **setConfigs** No content is currently available. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Did the download use memory streaming? -- **callerName** No content is currently available. -- **minDiskSizeGB** The minimum disk size (in GB) required for Peering. -- **minDiskSizePolicyEnforced** Is the minimum disk size enforced via policy? -- **minFileSizePolicy** The minimum content file size policy to allow the download using Peering. -- **scenarioID** The ID of the scenario. +- **cdnUrl** Number of bytes requested for download +- **costFlags** Url of the source CDN +- **deviceProfile** Network cost flags +- **diceRoll** Identifies the usage or form factor (Desktop, Xbox, VM, etc) +- **doClientVersion** Random number used for determining if a client will use peering +- **doErrorCode** Version of the Delivery Optimization client +- **downloadMode** Delivery Optimization error code returned +- **downloadModeSrc** DownloadMode used (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100) +- **errorCode** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) +- **experimentId** Error code returned +- **fileID** Used to correlate client/services calls that are part of the same test during A/B testing +- **filePath** ID of the File being downloaded +- **fileSize** Path to where the downloaded file will be written +- **fileSizeCaller** Total filesize of the file that was downloaded +- **groupID** Value for total file size provided by our caller +- **isVpn** ID for the group +- **jobID** If the machine is connected to a Virtual Private Network +- **peerID** Minimum filesize policy set for the device to allow Peering with Delivery Optimization +- **predefinedCallerName** Name of the API caller +- **sessionID** Name of the API Caller +- **setConfigs** ID of the Update being downloaded +- **updateID** ID for the file download session +- **usedMemoryStream** ID of the Update being downloaded +- **callerName** Name of the API Caller +- **minDiskSizeGB** Identifier for the Windows Update Job +- **minDiskSizePolicyEnforced** The minimum disk size policy set for the device to allow Peering with Delivery Optimization +- **minFileSizePolicy** If there is an enforced mininum disk size requirement for peering +- **scenarioID** ID for the Scenario +- **isEncrypted** Whether the download is encrypted ## Windows Update events @@ -4550,21 +4550,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. +- **publishedCount** How many drivers packages that were 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 some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being 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** Unique ID for each update. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -4681,8 +4681,8 @@ The following fields are available: - **SkipToAutoModeLimit** The minimum length of time to pass in reboot pending before a machine can be put into auto mode - **UpdateId** The ID of the update that is pending reboot to finish installation - **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **DaysSinceRebootRequired** Number of days since reboot was required. - **UtcTime** The Coordinated Universal Time when the dialog notification will be displayed. +- **DaysSinceRebootRequired** Number of days since reboot was required. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog @@ -4755,7 +4755,7 @@ Enhanced Engaged reboot reboot failed dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device +- **DeviceLocalTime** Dialog exit code - user response - **ETag** OneSettings versioning value - **ExitCode** Indicates how users exited the dialog - **RebootVersion** Version of DTE @@ -4820,7 +4820,6 @@ Indicates when a reboot is scheduled by the system or a user for a security, qua The following fields are available: - **activeHoursApplicable** True, If Active Hours applicable on this device. False, otherwise -- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot - **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 @@ -4830,6 +4829,7 @@ The following fields are available: - **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time - **updateId** ID of the update that is getting installed with this reboot - **wuDeviceid** Unique device ID used by Windows Update +- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot ### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy @@ -4849,11 +4849,11 @@ Update activity blocked due to active hours being currently active. The following fields are available: +- **blockReason** The current state of the update process +- **updatePhase** The current state of the update process +- **wuDeviceid** Device ID - **activeHoursEnd** The end of the active hours window - **activeHoursStart** The start of the active hours window -- **updatePhase** Device ID -- **wuDeviceid** Device ID -- **blockReason** The current state of the update process ### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel @@ -4862,11 +4862,11 @@ Update activity blocked due to low battery level. The following fields are available: -- **batteryLevel** The battery capacity threshold to stop update activity -- **batteryLevelThreshold** Reason for stopping update activity -- **updatePhase** Device ID -- **wuDeviceid** Device ID +- **batteryLevel** The current battery charge capacitity +- **batteryLevelThreshold** The battery capacity threshold to stop update activity - **blockReason** The current state of the update process +- **updatePhase** The current state of the update process +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.CommitFailed @@ -4890,7 +4890,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.DTUEnabled -No content is currently available. +Inbox DTU functionality enabled. The following fields are available: @@ -4899,30 +4899,30 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.DTUInitiated -No content is currently available. +Inbox DTU functionality intiated. The following fields are available: -- **dtuErrorCode** No content is currently available. -- **isDtuApplicable** No content is currently available. -- **wuDeviceid** No content is currently available. +- **dtuErrorCode** Return code from creating the DTU Com Server. +- **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. +- **wuDeviceid** Return code from creating the DTU Com Server. ### Microsoft.Windows.Update.Orchestrator.DeferRestart -Indicates that a restart required for installing updates was postponed +Indicates that a restart required for installing updates was postponed. The following fields are available: -- **displayNeededReason** No content is currently available. +- **displayNeededReason** Semicolon-separated list of reasons reported for display needed - **eventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc - **filteredDeferReason** The raised reason that the USO did not restart (e.g. user active, low battery) that were ignorable -- **gameModeReason** No content is currently available. -- **ignoredReason** No content is currently available. -- **revisionNumber** No content is currently available. -- **systemNeededReason** No content is currently available. -- **updateId** No content is currently available. -- **updateScenarioType** No content is currently available. +- **gameModeReason** Name of the executable that caused the game mode state check to trigger. +- **ignoredReason** Semicolon-separated list of reasons that were intentionally ignored. +- **revisionNumber** Update ID revision number +- **systemNeededReason** Semicolon-separated list of reasons reported for system needed. +- **updateId** Update ID +- **updateScenarioType** Update session type - **wuDeviceid** Windows Update Device GUID - **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) @@ -4940,13 +4940,13 @@ The following fields are available: - **scanTriggerSource** Source of the triggered scan. - **updateScenarioType** The update session type. - **wuDeviceid** Unique device ID used by Windows Update. -- **detectionRetryMode** Error info -- **errorCode** State of update action -- **networkStatus** Error info +- **detectionRetryMode** If we retry to scan +- **errorCode** The returned error code. - **deferReason** Reason for postponing detection - **flightID** Flight info - **revisionNumber** Update version - **updateId** Update ID - GUID +- **networkStatus** Error info ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -4988,11 +4988,11 @@ Event sent when USO takes an Escalation action on device. The following fields are available: -- **configVersion** Indicate the specific escalation action that took place on device -- **escalationAction** GUID of the update the device is offered -- **updateClassificationGUID** ID of the update the device is offered -- **updateId** Device ID used by WU -- **wuDeviceid** No content is currently available. +- **configVersion** Escalation config version on device +- **escalationAction** Indicate the specific escalation action that took place on device +- **updateClassificationGUID** GUID of the update the device is offered +- **updateId** ID of the update the device is offered +- **wuDeviceid** Device ID used by WU ### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels @@ -5029,13 +5029,13 @@ The Update is no longer Applicable to this device The following fields are available: -- **EventPublishedTime** Time when this event was generated -- **flightID** Flight specific info -- **revisionNumber** Update ID revision number -- **updateId** Update ID - GUID -- **updateScenarioType** Update session type -- **UpdateStatus** Last status of update -- **UUPFallBackConfigured** Is UUP fallback configured +- **EventPublishedTime** Flight specific info +- **flightID** Update ID revision number +- **revisionNumber** Update ID - GUID +- **updateId** Update session type +- **updateScenarioType** Last status of update +- **UpdateStatus** Is UUP fallback configured? +- **UUPFallBackConfigured** Windows Update Device GUID - **wuDeviceid** Windows Update Device GUID @@ -5074,20 +5074,20 @@ This event sends launch data for a Windows Update install to help keep Windows u The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. - **eventScenario** End to end update session ID. +- **interactive** Identifies if session is user initiated. +- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **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. - **flightID** Unique update ID - **flightUpdate** Flight update - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **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 the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. - **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. -- **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5288,7 +5288,6 @@ The RebootScheduled event sends basic information for scheduling a update relate The following fields are available: - **activeHoursApplicable** Whether Active Hours applies. -- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. - **rebootArgument** The reboot arguments - **rebootOutsideOfActiveHours** If reboot was outside of Active Hours - **rebootScheduledByUser** If the reboot was scheduled by the user, or the system. @@ -5298,6 +5297,7 @@ The following fields are available: - **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC - **updateId** UpdateId to identify which update is being scheduled. - **wuDeviceid** Unique DeviceID +- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5324,21 +5324,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **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. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **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. From 8cb1c0b61ea520b1d92f9f0abf042b7236e646b1 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 9 Apr 2018 14:08:29 -0700 Subject: [PATCH 068/212] new version --- ...el-windows-diagnostic-events-and-fields.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md index d9847d8141..13efb670a6 100644 --- a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md +++ b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md @@ -1688,6 +1688,74 @@ The following fields are available: - **XboxLiveSandboxId** Retrieves the developer sandbox id if the device is internal to MS. +## Deployment events + +### DeploymentTelemetry.Deployment_End + +Event to indicate that a Deployment 360 API has completed. + +The following fields are available: + +- **ClientId** Client ID of user utilizing the D360 API +- **ErrorCode** Error code of action +- **FlightId** Flight being used +- **Mode** Phase in upgrade +- **RelatedCV** CV of any other related events +- **Result** End result of action + + +### DeploymentTelemetry.Deployment_Initialize + +Event to indicate that the Deployment 360 APIs have been initialized for use. + +The following fields are available: + +- **ClientId** Client ID of user utilizing the D360 API +- **ErrorCode** Error code of action +- **FlightId** Flight being used +- **RelatedCV** CV of any other related events +- **Result** Phase Setup is in + + +### DeploymentTelemetry.Deployment_SetupBoxLaunch + +Event to indicate that the Deployment 360 APIs have launched Setup Box. + +The following fields are available: + +- **ClientId** Client ID of user utilizing the D360 API +- **FlightId** Flight being used +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** CV of any other related events +- **SetupMode** Phase Setup is in + + +### DeploymentTelemetry.Deployment_SetupBoxResult + +Event to indicate that the Deployment 360 APIs have received a return from Setup Box. + +The following fields are available: + +- **ClientId** Client ID of user utilizing the D360 API +- **ErrorCode** Error code of action +- **FlightId** Flight being used +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** Correlation vector of any other related events +- **SetupMode** Phase that Setup is in + + +### DeploymentTelemetry.Deployment_Start + +Event to indicate that a Deployment 360 API has been called. + +The following fields are available: + +- **ClientId** Client ID of user utilizing the D360 API +- **FlightId** Flight being used +- **Mode** Phase in upgrade +- **RelatedCV** CV of any other related events + + ## Diagnostic data events ### TelClientSynthetic.AuthorizationInfo_RuntimeTransition From 2bcee3d6b1771e929d7dd3216b7420fab8088175 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 10 Apr 2018 20:00:10 +0000 Subject: [PATCH 069/212] Updated basic-level-windows-diagnostic-events-and-fields.md --- .../basic-level-windows-diagnostic-events-and-fields.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md index 13efb670a6..5ab90c23ab 100644 --- a/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md +++ b/windows/configuration/basic-level-windows-diagnostic-events-and-fields.md @@ -16,10 +16,6 @@ ms.date: 4/10/2018 # Windows 10, version 1803 basic level Windows diagnostic events and fields -> [!IMPORTANT] -> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. - - **Applies to** - Windows 10, version 1803 From 07effa7f1d8b9d0e4bd80da3c5561ce0a75bd097 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 10 Apr 2018 18:21:26 -0700 Subject: [PATCH 070/212] added SPP registry option --- ...ndows-operating-system-components-to-microsoft-services.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index e911b6fde5..effda3e24a 100644 --- a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -1617,6 +1617,10 @@ For Windows 10: - Apply the Licensing/DisallowKMSClientOnlineAVSValidation MDM policy from the [Policy CSP](http://msdn.microsoft.com/library/windows/hardware/dn904962.aspx) where 0 is disabled (default) and 1 is enabled. + -or- + +- Create a REG\_DWORD registry setting named **NoGenTicket** in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows NT\\CurrentVersion\\Software Protection Platform** with a value of 1 (one). + For Windows Server 2016 with Desktop Experience or Windows Server 2016 Server Core: - Apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Software Protection Platform** > **Turn off KMS Client Online AVS Validation** From 5184d43d220c88b06383d6dd2538b7ed08b2940b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 11 Apr 2018 11:41:21 -0700 Subject: [PATCH 071/212] removed privacy from notifications description --- ...ndows-operating-system-components-to-microsoft-services.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index effda3e24a..bff2e7b667 100644 --- a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -44,8 +44,8 @@ We are always striving to improve our documentation and welcome your feedback. Y Here's a list of changes that were made to this article for Windows 10, version 1803: -- Added a policy to turn off privacy notifications -- Added a policy to turn off configuration updates for the Books Library +- Added a policy to turn off notifications network usage +- Added a policy to turn off configuration updates for the Books Library - Added a policy to turn off Address Bar drop-down list suggestions ## What's new in Windows 10, version 1709 Enterprise edition From 4e7ec63b32bc94dad05e6930255e606392a85899 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 11 Apr 2018 11:49:31 -0700 Subject: [PATCH 072/212] fixed location registry setting --- ...perating-system-components-to-microsoft-services.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index bff2e7b667..165b43474c 100644 --- a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -25,7 +25,7 @@ Learn about the network connections that Windows components make to Microsoft an If you want to minimize connections from Windows to Microsoft services, or configure particular privacy settings, this article covers the settings that you could consider. You can configure diagnostic data at the lowest level for your edition of Windows, and also evaluate which other connections Windows makes to Microsoft services you want to turn off in your environment from the list in this article. -You can configure diagnostic data at the Security level, turn off Windows Defender diagnostic data and MSRT reporting, and turn off all other connections to Microsoft network endpoints as described in this article to help prevent Windows from sending any data to Microsoft. There are many reasons why these communications are enabled by default, such as updating malware definitions and maintain current certificate revocation lists, which is why we strongly recommend against this. This data helps us deliver a secure, reliable, and more delightful personalized experience. +You can configure diagnostic data at the Security/Basic level, turn off Windows Defender diagnostic data and MSRT reporting, and turn off all other connections to Microsoft network endpoints as described in this article to help prevent Windows from sending any data to Microsoft. There are many reasons why these communications are enabled by default, such as updating malware definitions and maintain current certificate revocation lists, which is why we strongly recommend against this. This data helps us deliver a secure, reliable, and more delightful personalized experience. To help make it easier to deploy settings to restrict connections from Windows 10 to Microsoft, you can apply the [Windows Restricted Traffic Limited Functionality Baseline](https://go.microsoft.com/fwlink/?linkid=828887). This baseline was created in the same way as the [Windows security baselines](/windows/device-security/windows-security-baselines) that are often used to efficiently configure Windows to a known secure state. @@ -45,8 +45,8 @@ We are always striving to improve our documentation and welcome your feedback. Y Here's a list of changes that were made to this article for Windows 10, version 1803: - Added a policy to turn off notifications network usage -- Added a policy to turn off configuration updates for the Books Library -- Added a policy to turn off Address Bar drop-down list suggestions +- Added a policy for Microsoft Edge to turn off configuration updates for the Books Library +- Added a policy for Microsoft Edge to turn off Address Bar drop-down list suggestions ## What's new in Windows 10, version 1709 Enterprise edition @@ -87,8 +87,6 @@ Here's a list of changes that were made to this article for Windows 10, version The following sections list the components that make network connections to Microsoft services by default. You can configure these settings to control the data that is sent to Microsoft. To prevent Windows from sending any data to Microsoft, configure diagnostic data at the Security level, turn off Windows Defender diagnostic data and MSRT reporting, and turn off all of these connections. -If you're running Windows 10, they will be included in the next update for the Long Term Servicing Branch. - ### Settings for Windows 10 Enterprise edition The following table lists management options for each setting, beginning with Windows 10 Enterprise version 1703. @@ -956,7 +954,7 @@ To turn off **Location for this device**: -or- -- Create a REG\_DWORD registry setting in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\AppPrivacy**, with a value of 2 (two). +- Create a REG\_DWORD registry setting named **LetAppsAccessLocation** in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\AppPrivacy** with a value of 2 (two). -or- From 245dd1d2b184134294e43e4994dded9565b5e48c Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 12 Apr 2018 09:24:36 -0700 Subject: [PATCH 073/212] fixed registry formatting --- ...s-operating-system-components-to-microsoft-services.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 165b43474c..848ec3a7c5 100644 --- a/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/configuration/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -395,7 +395,7 @@ To turn off Insider Preview builds for Windows 10: -or - -- Create a new REG\_DWORD registry setting **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\PreviewBuilds!AllowBuildPreview** to 0 (zero) +- Create a new REG\_DWORD registry setting named **AllowBuildPreview** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\PreviewBuilds** with a vlue of 0 (zero) -or- @@ -1649,7 +1649,7 @@ You can control if your settings are synchronized: -or- -- Create a REG\_DWORD registry setting named **DisableSettingSync** in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\SettingSync** with a value of 2 (two) and **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\SettingSync!DisableSettingSyncUserOverride** with a value of 1 (one). +- Create a REG\_DWORD registry setting named **DisableSettingSync** in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\SettingSync** with a value of 2 (two) and another named **DisableSettingSyncUserOverride** in **HKEY\_LOCAL\_MACHINE\\Policies\\Microsoft\\Windows\\SettingSync** with a value of 1 (one). -or- @@ -1762,7 +1762,7 @@ You can stop downloading definition updates: -or- -- Create a new REG\_SZ registry setting named **FallbackOrder** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows Defender\Updates!** with a value of **FileShares**. +- Create a new REG\_SZ registry setting named **FallbackOrder** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows Defender\Updates** with a value of **FileShares**. For Windows 10 only, you can stop Enhanced Notifications: @@ -1826,7 +1826,7 @@ If you're not running Windows 10, version 1607 or later, you can use the other o - Set the **Turn off fun facts, tips, tricks, and more on lock screen** check box. > [!NOTE] - > This will only take effect if the policy is applied before the first logon. If you cannot apply the **Force a specific default lock screen image** policy before the first logon to the device, you can apply this policy: **Computer Configuration** > **Administrative Templates** > **Control Panel** > **Personalization** > **Do not display the lock screen**. Alternatively, you can create a new REG\_SZ registry setting in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization!LockScreenImage**, with a value of **C:\\windows\\web\\screen\\lockscreen.jpg** and create a new REG\_DWORD registry setting in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization!LockScreenOverlaysDisabled**, with a value of 1 (one). + > This will only take effect if the policy is applied before the first logon. If you cannot apply the **Force a specific default lock screen image** policy before the first logon to the device, you can apply this policy: **Computer Configuration** > **Administrative Templates** > **Control Panel** > **Personalization** > **Do not display the lock screen**. Alternatively, you can create a new REG\_SZ registry setting nameed **LockScreenImage** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization** with a value of **C:\\windows\\web\\screen\\lockscreen.jpg** and create a new REG\_DWORD registry setting named **LockScreenOverlaysDisabled** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization** with a value of 1 (one). - **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Cloud Content** > **Do not show Windows tips**. From ed93015af68a79b1d15de829531f3283c6d7363a Mon Sep 17 00:00:00 2001 From: Marc Shepard <37675325+marcshep-msft@users.noreply.github.com> Date: Wed, 18 Apr 2018 10:17:06 -0700 Subject: [PATCH 074/212] Update configure-windows-diagnostic-data-in-your-organization.md Added info about data volumes --- .../configure-windows-diagnostic-data-in-your-organization.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md b/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md index ce9e5b4792..47c21fdc8b 100644 --- a/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md +++ b/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md @@ -139,6 +139,9 @@ Info collected at the Enhanced and Full levels of diagnostic data is typically g All diagnostic data data is encrypted using SSL and uses certificate pinning during transfer from the device to the Microsoft Data Management Service. With Windows 10, data is uploaded on a schedule that is sensitive to event priority, battery use, and network cost. Real-time events, such as Windows Defender Advanced Threat Protection, are always sent immediately. Normal events are not uploaded on metered networks, unless you are on a metered server connection. On a free network, normal events can be uploaded every 4 hours if on battery, or every 15 minutes if on A/C power. Diagnostic and crash data are only uploaded on A/C power and free networks. +At basic and enhanced telemetry levels, the amount transmitted is quite small; less than 1mb/device/day on most days (and occasionally up to 2mb/device/day). + + ### Endpoints The Microsoft Data Management Service routes data back to our secure cloud storage. Only Microsoft personnel with a valid business justification are permitted access. From 1fdb176e4464b5384352393bd1399cdac233b4e5 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Wed, 18 Apr 2018 16:30:34 -0700 Subject: [PATCH 075/212] validated the version for each policy and ensuring RS4 policies were complete --- browsers/edge/available-policies.md | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/browsers/edge/available-policies.md b/browsers/edge/available-policies.md index 3766535880..1dd3c2d38a 100644 --- a/browsers/edge/available-policies.md +++ b/browsers/edge/available-policies.md @@ -27,6 +27,21 @@ Microsoft Edge works with the following Group Policy settings to help you manage Computer Configuration\Administrative Templates\Windows Components\Microsoft Edge\ +## Allow a shared books folder +>*Supported versions: Windows 10, version 1803* + +This policy setting specifies whether organizations should use a folder shared across users to store books from the Books Library. + +**Microsoft Intune to manage your MDM settings** +| | | +|---|---| +|MDM name |[UseSharedFolderForBooks](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-usesharedfolderforbooks) | +|Supported devices |Desktop | +|URI full path |./Vendor/MSFT/Policy/Config/Browser/UseSharedFolderForBooks | +|Data type | Integer | +|Allowed values |
  • **0** - No shared folder.
  • **1** - Use as shared folder.
| + + ## Allow Address bar drop-down list suggestions >*Supporteded versions: Windows 10, version 1703 or later* @@ -74,7 +89,7 @@ Your browsing data is the information that Microsoft Edge remembers and stores a |Allowed values |
  • **0 (default)** - Browsing data is not cleared on exit. The type of browsing data to clear can be configured by the employee in the Clear browsing data options under Settings.
  • **1** - Browsing data is cleared on exit.
| ## Allow configuration updates for the Books Library ->*Supporteded versions: Windows 10* +>*Supporteded versions: Windows 10, version 1803* Microsoft Edge automatically retrieves the configuration data for the Books Library, when this policy is enabled or not configured. If disabled, Microsoft Edge does not retrieve the Books configuration data. @@ -118,7 +133,7 @@ F12 developer tools is a suite of tools to help you build and debug your webpage |Allowed values |
  • **0** - The F12 Developer Tools are disabled.
  • **1 (default)** - The F12 Developer Tools are enabled.
| ## Allow extended telemetry for the Books tab ->*Supporteded versions: Windows 10* +>*Supporteded versions: Windows 10, version 1803* If you enable this policy, both basic and additional diagnostic data is sent to Microsoft about the books you are reading from Books in Microsoft Edge. By default, this policy is disabled or not configured and only basic diagnostic data, depending on your device configuration, is sent to Microsoft. @@ -598,19 +613,7 @@ This policy setting specifies whether you see an additional page in Microsoft Ed |Data type | Integer | |Allowed values |
  • **0 (default)** - Doesn’t show an additional page in Microsoft Edge, stating that a site has been opened using Internet Explorer 11.
  • **1** - Shows an additional page in Microsoft Edge, stating that a site has been opened using Internet Explorer 11.
| -## User shared folder for books ->*Supported versions: Windows 10* -This policy setting specifies whether organizations should use a folder shared across users to store books from the Books Library. - -**Microsoft Intune to manage your MDM settings** -| | | -|---|---| -|MDM name |[UseSharedFolderForBooks](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-usesharedfolderforbooks) | -|Supported devices |Desktop | -|URI full path |./Vendor/MSFT/Policy/Config/Browser/UseSharedFolderForBooks | -|Data type | Integer | -|Allowed values |
  • **0** - No shared folder.
  • **1** - Use as shared folder.
| ## Related topics From e9c241e16c31127d6d48b837d10e0d68b9ae48d3 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Wed, 18 Apr 2018 16:53:33 -0700 Subject: [PATCH 076/212] Update configure-windows-diagnostic-data-in-your-organization.md --- .../configure-windows-diagnostic-data-in-your-organization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md b/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md index 47c21fdc8b..dab1a8d1a9 100644 --- a/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md +++ b/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md @@ -139,7 +139,7 @@ Info collected at the Enhanced and Full levels of diagnostic data is typically g All diagnostic data data is encrypted using SSL and uses certificate pinning during transfer from the device to the Microsoft Data Management Service. With Windows 10, data is uploaded on a schedule that is sensitive to event priority, battery use, and network cost. Real-time events, such as Windows Defender Advanced Threat Protection, are always sent immediately. Normal events are not uploaded on metered networks, unless you are on a metered server connection. On a free network, normal events can be uploaded every 4 hours if on battery, or every 15 minutes if on A/C power. Diagnostic and crash data are only uploaded on A/C power and free networks. -At basic and enhanced telemetry levels, the amount transmitted is quite small; less than 1mb/device/day on most days (and occasionally up to 2mb/device/day). +The data transmitted at the Basic and Enhanced data diagnostic levels is quite small; typically less than 1 MB per device per day, but occasionally up to 2 MB per device per day). ### Endpoints From 85ee6203af3671a7b03759b09213ca3589a2f77a Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 18 Apr 2018 16:57:56 -0700 Subject: [PATCH 077/212] added new topics --- .../applocker/TOC.md | 2 - ...create-your-applocker-planning-document.md | 379 ------------------ ...pplication-control-management-processes.md | 236 ----------- .../plan-for-applocker-policy-management.md | 215 +++++++++- .../windows-defender-application-control.md | 2 +- 5 files changed, 210 insertions(+), 624 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md delete mode 100644 windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md index 182b182d1b..9aad83e9c5 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/TOC.md @@ -50,8 +50,6 @@ #### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) #### [Document the Group Policy structure and AppLocker rule enforcement](document-group-policy-structure-and-applocker-rule-enforcement.md) ### [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) -#### [Document your application control management processes](document-your-application-control-management-processes.md) -### [Create your AppLocker planning document](create-your-applocker-planning-document.md) ## [AppLocker deployment guide](applocker-policies-deployment-guide.md) ### [Understand the AppLocker policy deployment process](understand-the-applocker-policy-deployment-process.md) ### [Requirements for Deploying AppLocker Policies](requirements-for-deploying-applocker-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md deleted file mode 100644 index 4f0f43ced7..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-planning-document.md +++ /dev/null @@ -1,379 +0,0 @@ ---- -title: Create your AppLocker planning document (Windows 10) -description: This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. -ms.assetid: 41e49644-baf4-4514-b089-88adae2d624e -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -author: brianlic-msft -ms.date: 09/21/2017 ---- - -# Create your AppLocker planning document - -**Applies to** - - Windows 10 - - Windows Server - -This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. - -## The AppLocker deployment design - -The design process and the planning document help you investigate application usage in your organization and record your findings so you can effectively deploy and maintain application control policies by using AppLocker. - -You should have completed these steps in the design and planning process: - -1. [Determine your application control objectives](determine-your-application-control-objectives.md) -2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) -3. [Select types of rules to create](select-types-of-rules-to-create.md) -4. [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) - -### AppLocker planning document contents - -Your planning document should contain: - -- A list of business groups that will participate in the application control policy project, their requirements, a description of their business processes, and contact information. -- Application control policy project target dates, both for planning and deployment. -- A complete list of apps used by each business group (or organizational unit), including version information and installation paths. -- What condition to apply to rules governing each application (or whether to use the default set provided by AppLocker). -- A strategy for using Group Policy to deploy the AppLocker policies. -- A strategy in processing the application usage events generated by AppLocker. -- A strategy to maintain and manage AppLocker polices after deployment. - -### Sample template for an AppLocker planning document - -You can use the following form to construct your own AppLocker planning document. - -**Business group**: - -**Operating system environment**: (Windows and non-Windows) - - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Contacts

Business contact:

Technical contact:

Other departments

In this business group:

Affected by this project:

Security policies

Internal:

Regulatory/compliance:

Business goals

Primary:

Secondary:

Project target dates

Design signoff date:

Policy deployment date:

-  -**Rules** - - ----------- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupOrganizational unitImplement AppLocker?AppsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

 

-  -**Event processing** - - ------- - - - - - - - - - - - - - - - - - - -
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

 

-  -**Policy maintenance** - - ------- - - - - - - - - - - - - - - - - - - -
Business groupRule update policyApp decommission policyApp version policyApp deployment policy

 

Planned:

-

Emergency:

-  -### Example of an AppLocker planning document - -**Rules** - - ----------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupOrganizational unitImplement AppLocker?ApplicationsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

Bank Tellers

Teller-East and Teller-West

Yes

Teller Software

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

Tellers-AppLockerTellerRules

Web help

Windows files

-

C:\Windows

Create a path exception to the default rule to exclude \Windows\Temp

Allow

Help desk

Human Resources

HR-All

Yes

Check Payout

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

Web help

Time Sheet Organizer

C:\Program Files\Woodgrove\HR\Timesheet.exe

File is not signed; create a file hash condition

Allow

Web help

Internet Explorer 7

C:\Program Files\Internet Explorer\

File is signed; create a publisher condition

Deny

Web help

-

Windows files

C:\Windows

Use the default rule for the Windows path

Allow

Help desk

-  -**Event processing** - - ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

Bank Tellers

Forwarded to: AppLocker Event Repository on srvBT093

Standard

None

Standard

Human Resources

DO NOT FORWARD. srvHR004

60 months

Yes, summary reports monthly to managers

Standard

-  -**Policy maintenance** - - ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupRule update policyApp decommission policyApp version policyApp deployment policy

Bank Tellers

Planned: Monthly through business office triage

-

Emergency: Request through help desk

Through business office triage

-

30-day notice required

General policy: Keep past versions for 12 months

-

List policies for each application

Coordinated through business office

-

30-day notice required

Human Resources

Planned: Monthly through HR triage

-

Emergency: Request through help desk

Through HR triage

-

30-day notice required

General policy: Keep past versions for 60 months

-

List policies for each application

Coordinated through HR

-

30-day notice required

-  -### Additional resources - -- The AppLocker Policies Design Guide is the predecessor to the AppLocker Policies Deployment Guide. When planning is complete, see the [AppLocker policies deployment guide](applocker-policies-deployment-guide.md). -- For more general info, see [AppLocker](applocker-overview.md). -  -  diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md deleted file mode 100644 index a0b879a4c5..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-application-control-management-processes.md +++ /dev/null @@ -1,236 +0,0 @@ ---- -title: Document your application control management processes (Windows 10) -description: This planning topic describes the AppLocker policy maintenance information to record for your design document. -ms.assetid: 6397f789-0e36-4933-9f86-f3f6489cf1fb -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -author: brianlic-msft -ms.date: 09/21/2017 ---- - -# Document your application control management processes - -**Applies to** - - Windows 10 - - Windows Server - -This planning topic describes the AppLocker policy maintenance information to record for your design document. - -## Record your findings - -To complete this AppLocker planning document, you should first complete the following steps: - -1. [Determine your application control objectives](determine-your-application-control-objectives.md) -2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) -3. [Select the types of rules to create](select-types-of-rules-to-create.md) -4. [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) -5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) - -The three key areas to determine for AppLocker policy management are: - -1. Support policy - - Document the process that you will use for handling calls from users who have attempted to run a blocked app, and ensure that support personnel know recommended troubleshooting steps and escalation points for your policy. - -2. Event processing - - Document whether events will be collected in a central location, how that store will be archived, and whether the events will be processed for analysis. - -3. Policy maintenance - - Detail how rules will be added to the policy, in which Group Policy Object (GPO) the rules should be defined, and how to modify rules when apps are retired, updated, or added. - -The following table contains the added sample data that was collected when determining how to maintain and manage AppLocker policies. - - ----------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupOrganizational unitImplement AppLocker?AppsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

Bank Tellers

Teller-East and Teller-West

Yes

Teller Software

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

Tellers-AppLockerTellerRules

Web help

Windows files

-

C:\Windows

Create a path exception to the default rule to exclude \Windows\Temp

Allow

Help desk

Human Resources

HR-All

Yes

Check Payout

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

Web help

Time Sheet Organizer

C:\Program Files\Woodgrove\HR\Timesheet.exe

File is not signed; create a file hash condition

Allow

Web help

Internet Explorer 7

C:\Program Files\Internet Explorer\

File is signed; create a publisher condition

Deny

Web help

-

Windows files

C:\Windows

Use the default rule for the Windows path

Allow

Help desk

-  -The following two tables illustrate examples of documenting considerations to maintain and manage AppLocker policies. - -**Event processing policy** - -One discovery method for app usage is to set the AppLocker enforcement mode to **Audit only**. This will write events to the AppLocker logs, which can be managed and analyzed like other Windows logs. After apps have been identified, you can begin to develop policies regarding the processing and access to AppLocker events. - -The following table is an example of what to consider and record. - - ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

Bank Tellers

Forwarded to: AppLocker Event Repository on srvBT093

Standard

None

Standard

Human Resources

DO NOT FORWARD. srvHR004

60 months

Yes, summary reports monthly to managers

Standard

-  -**Policy maintenance policy** -When applications are identified and policies are created for application control, then you can begin documenting how you intend to update those policies. -The following table is an example of what to consider and record. - ------- - - - - - - - - - - - - - - - - - - - - - - - - - -
Business groupRule update policyApplication decommission policyApplication version policyApplication deployment policy

Bank Tellers

Planned: Monthly through business office triage

-

Emergency: Request through help desk

Through business office triage

-

30-day notice required

General policy: Keep past versions for 12 months

-

List policies for each application

Coordinated through business office

-

30-day notice required

Human Resources

Planned: Monthly through HR triage

-

Emergency: Request through help desk

Through HR triage

-

30-day notice required

General policy: Keep past versions for 60 months

-

List policies for each application

Coordinated through HR

-

30-day notice required

-  -## Next steps - -After you have determined your application control management strategy for each of the business group's applications, the following task remains: -- [Create your AppLocker planning document](create-your-applocker-planning-document.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md b/windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md index fa323ebe0a..995eb8fedc 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/plan-for-applocker-policy-management.md @@ -104,12 +104,215 @@ A file could be blocked for three reasons: Before editing the rule collection, first determine what rule is preventing the file from running. You can troubleshoot the problem by using the **Test-AppLockerPolicy** Windows PowerShell cmdlet. For more info about troubleshooting an AppLocker policy, see [Testing and Updating an AppLocker Policy](https://go.microsoft.com/fwlink/p/?LinkId=160269) (https://go.microsoft.com/fwlink/p/?LinkId=160269). -## Next steps +## Record your findings -After deciding how your organization will manage your AppLocker policy, record your findings. +To complete this AppLocker planning document, you should first complete the following steps: -- **End-user support policy.** Document the process that you will use for handling calls from users who have attempted to run a blocked app, and ensure that support personnel have clear escalation steps so that the administrator can update the AppLocker policy, if necessary. -- **Event processing.** Document whether events will be collected in a central location called a store, how that store will be archived, and whether the events will be processed for analysis. -- **Policy maintenance.** Detail how rules will be added to the policy and in which GPO the rules are defined. +1. [Determine your application control objectives](determine-your-application-control-objectives.md) +2. [Create a list of apps deployed to each business group](create-list-of-applications-deployed-to-each-business-group.md) +3. [Select the types of rules to create](select-types-of-rules-to-create.md) +4. [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) +5. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) + +The three key areas to determine for AppLocker policy management are: + +1. Support policy + + Document the process that you will use for handling calls from users who have attempted to run a blocked app, and ensure that support personnel know recommended troubleshooting steps and escalation points for your policy. + +2. Event processing + + Document whether events will be collected in a central location, how that store will be archived, and whether the events will be processed for analysis. + +3. Policy maintenance + + Detail how rules will be added to the policy, in which Group Policy Object (GPO) the rules should be defined, and how to modify rules when apps are retired, updated, or added. + +The following table contains the added sample data that was collected when determining how to maintain and manage AppLocker policies. + + +++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupOrganizational unitImplement AppLocker?AppsInstallation pathUse default rule or define new rule conditionAllow or denyGPO nameSupport policy

Bank Tellers

Teller-East and Teller-West

Yes

Teller Software

C:\Program Files\Woodgrove\Teller.exe

File is signed; create a publisher condition

Allow

Tellers-AppLockerTellerRules

Web help

Windows files

+

C:\Windows

Create a path exception to the default rule to exclude \Windows\Temp

Allow

Help desk

Human Resources

HR-All

Yes

Check Payout

C:\Program Files\Woodgrove\HR\Checkcut.exe

File is signed; create a publisher condition

Allow

HR-AppLockerHRRules

Web help

Time Sheet Organizer

C:\Program Files\Woodgrove\HR\Timesheet.exe

File is not signed; create a file hash condition

Allow

Web help

Internet Explorer 7

C:\Program Files\Internet Explorer\

File is signed; create a publisher condition

Deny

Web help

+

Windows files

C:\Windows

Use the default rule for the Windows path

Allow

Help desk

+  +The following two tables illustrate examples of documenting considerations to maintain and manage AppLocker policies. + +**Event processing policy** + +One discovery method for app usage is to set the AppLocker enforcement mode to **Audit only**. This will write events to the AppLocker logs, which can be managed and analyzed like other Windows logs. After apps have been identified, you can begin to develop policies regarding the processing and access to AppLocker events. + +The following table is an example of what to consider and record. + + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupAppLocker event collection locationArchival policyAnalyzed?Security policy

Bank Tellers

Forwarded to: AppLocker Event Repository on srvBT093

Standard

None

Standard

Human Resources

DO NOT FORWARD. srvHR004

60 months

Yes, summary reports monthly to managers

Standard

+  +**Policy maintenance policy** +When applications are identified and policies are created for application control, then you can begin documenting how you intend to update those policies. +The following table is an example of what to consider and record. + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Business groupRule update policyApplication decommission policyApplication version policyApplication deployment policy

Bank Tellers

Planned: Monthly through business office triage

+

Emergency: Request through help desk

Through business office triage

+

30-day notice required

General policy: Keep past versions for 12 months

+

List policies for each application

Coordinated through business office

+

30-day notice required

Human Resources

Planned: Monthly through HR triage

+

Emergency: Request through help desk

Through HR triage

+

30-day notice required

General policy: Keep past versions for 60 months

+

List policies for each application

Coordinated through HR

+

30-day notice required

-For information and steps how to document your processes, see [Document your application control management processes](document-your-application-control-management-processes.md). diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md index 330df53122..298f03c997 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md @@ -37,7 +37,7 @@ WDAC policies also block unsigned scripts and MSIs, and Windows PowerShell runs ## WDAC System Requirements WDAC policies can only be created on computers running Windows 10 Enterprise or Windows Server 2016. -They can be applied to computers running any edition of Windows 10 and managed via Mobile Device Management (MDM), such as Microsoft Intune. +They can be applied to computers running any edition of Windows 10 or Windows Server 2016 and managed via Mobile Device Management (MDM), such as Microsoft Intune. Group Policy can also be used to distribute Group Policy Objects that contain WDAC policies on computers running Windows 10 Enterprise or Windows Server 2016. ## New and changed functionality From 5d73ffa115f8e8105fc275f31b6bd657dfe17737 Mon Sep 17 00:00:00 2001 From: Faisal Misle Date: Wed, 18 Apr 2018 23:46:07 -0500 Subject: [PATCH 078/212] Update licensing-windows-defender-advanced-threat-protection.md --- .../licensing-windows-defender-advanced-threat-protection.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md index b866964b62..71573b1352 100644 --- a/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md @@ -54,7 +54,7 @@ To gain access into which licenses are provisioned to your company, and to check When accessing the [Windows Defender ATP portal](https://SecurityCenter.Windows.com) for the first time there will be a setup wizard that will guide you through some initial steps. At the end of the setup wizard there will be a dedicated cloud instance of Windows Defender ATP created. -1. Each time you access the portal you will need to validate that you are authorized to access the product. Only if you are not authorized will This **Set up your permissions** step will only be available if you are not currently authorized to access the product. +1. Each time you access the portal you will need to validate that you are authorized to access the product. This **Set up your permissions** step will only be available if you are not currently authorized to access the product. ![Image of Set up your permissions for WDATP](images\atp-setup-permissions-wdatp-portal.png) @@ -134,4 +134,4 @@ When accessing the [Windows Defender ATP portal](https://SecurityCenter.Windows. ## Related topics - [Onboard machines to the Windows Defender Advanced Threat Protection service](onboard-configure-windows-defender-advanced-threat-protection.md) -- [Troubleshoot onboarding process and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) \ No newline at end of file +- [Troubleshoot onboarding process and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) From b44c7fa4ff7db49edb8ad8b9a166ae2dc2052c47 Mon Sep 17 00:00:00 2001 From: Chris Nylen <30357366+chnylen@users.noreply.github.com> Date: Thu, 19 Apr 2018 09:47:47 -0400 Subject: [PATCH 079/212] Update customize-and-export-start-layout.md The Export-StartLayout cmdlet can only be run as Administrator --- windows/configuration/customize-and-export-start-layout.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/configuration/customize-and-export-start-layout.md b/windows/configuration/customize-and-export-start-layout.md index 7d84bee306..2b16353cf8 100644 --- a/windows/configuration/customize-and-export-start-layout.md +++ b/windows/configuration/customize-and-export-start-layout.md @@ -89,11 +89,11 @@ When you have the Start layout that you want your users to see, use the [Export- **To export the Start layout to an .xml file** -1. From Start, open **Windows PowerShell**. +1. Right Click Start, select **Windows PowerShell (Admin)**. -2. At the Windows PowerShell command prompt, enter the following command: +2. At the Administrator: Windows PowerShell command prompt, enter the following command: - `export-startlayout –path .xml ` + `Export-StartLayout –path .xml ` In the previous command, `-path` is a required parameter that specifies the path and file name for the export file. You can specify a local path or a UNC path (for example, \\\\FileServer01\\StartLayouts\\StartLayoutMarketing.xml). From aac3342a94049ffcc57a94ed4d97b8524778a3f8 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Thu, 19 Apr 2018 08:33:06 -0700 Subject: [PATCH 080/212] fix link --- windows/configuration/setup-kiosk-digital-signage.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/configuration/setup-kiosk-digital-signage.md b/windows/configuration/setup-kiosk-digital-signage.md index b7614eab9c..4951e84f91 100644 --- a/windows/configuration/setup-kiosk-digital-signage.md +++ b/windows/configuration/setup-kiosk-digital-signage.md @@ -201,13 +201,12 @@ Clear-AssignedAccess >Account type: Local standard user >[!IMPORTANT] ->When Exchange Active Sync (EAS) password restrictions are active on the device, the autologon feature does not work. This behavior is by design. For more informations, see [How to turn on automatic logon in Windows}(https://support.microsoft.com/help/324737/how-to-turn-on-automatic-logon-in-windows). +>When Exchange Active Sync (EAS) password restrictions are active on the device, the autologon feature does not work. This behavior is by design. For more informations, see [How to turn on automatic logon in Windows](https://support.microsoft.com/help/324737/how-to-turn-on-automatic-logon-in-windows). + -Edit the registry to have an account automatically logged on. When you use the **Provision kiosk devices** wizard in Windows Configuration Designer, you can configure the kiosk to run either a Universal Windows app or a Classic Windows application. ->[!IMPORTANT] ->When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed. + [Install Windows Configuration Designer](provisioning-packages/provisioning-install-icd.md), then open Windows Configuration Designer and select **Provision kiosk devices**. After you name your project, and click **Next**, configure the settings as shown in the following table. @@ -232,7 +231,8 @@ When you use the **Provision kiosk devices** wizard in Windows Configuration Des >[!TIP] >You can also use [an XML file to configure both multi-app and single-app kiosks.](lock-down-windows-10-to-specific-apps.md) - +>[!IMPORTANT] +>When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed. From ea2dd321e86544968882fc602c72dabd21d29e78 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Thu, 19 Apr 2018 09:37:14 -0700 Subject: [PATCH 081/212] updated the 'Got questions' topic to make it look consistent throughout the mbam-25 doscs --- mdop/mbam-v25/about-mbam-25-sp1.md | 5 ++--- mdop/mbam-v25/about-mbam-25.md | 5 ++--- mdop/mbam-v25/accessibility-for-mbam-25.md | 5 ++--- mdop/mbam-v25/administering-mbam-25-features.md | 5 ++--- mdop/mbam-v25/client-event-logs.md | 11 ++++------- ...server-features-by-using-windows-powershell.md | 6 +++--- .../configuring-the-mbam-25-server-features.md | 7 +++---- .../copying-the-mbam-25-group-policy-templates.md | 5 +++-- .../create-or-edit-the-sms-defmof-file-mbam-25.md | 4 +++- ...e-self-service-portal-for-your-organization.md | 7 +++---- .../deploying-mbam-25-group-policy-objects.md | 5 ++--- mdop/mbam-v25/deploying-mbam-25.md | 5 ++--- mdop/mbam-v25/deploying-the-mbam-25-client.md | 7 +++---- ...deploying-the-mbam-25-server-infrastructure.md | 9 +++------ ...y-a-device-receives-a-noncompliance-message.md | 9 +++------ .../edit-the-configurationmof-file-mbam-25.md | 5 +++-- .../editing-the-mbam-25-group-policy-settings.md | 6 +++--- .../evaluating-mbam-25-in-a-test-environment.md | 6 +++--- .../generating-mbam-25-stand-alone-reports.md | 6 ++++-- mdop/mbam-v25/getting-started-with-mbam-25.md | 5 ++--- ...ve-encryption-item-in-control-panel-mbam-25.md | 6 ++++-- .../high-level-architecture-for-mbam-25.md | 5 ++--- ...-configuration-manager-integration-topology.md | 8 +++----- ...ecture-of-mbam-25-with-stand-alone-topology.md | 9 +++------ .../how-to-configure-the-mbam-25-databases.md | 6 ++++-- .../how-to-configure-the-mbam-25-reports.md | 6 ++++-- ...em-center-configuration-manager-integration.md | 6 ++++-- ...w-to-configure-the-mbam-25-web-applications.md | 5 +++-- ...cess-the-microsoft-content-delivery-network.md | 6 +++--- ...loy-the-mbam-client-by-using-a-command-line.md | 5 +++-- ...ient-to-desktop-or-laptop-computers-mbam-25.md | 7 +++---- ...-encryption-state-of-lost-computers-mbam-25.md | 6 ++++-- ...mbam-as-part-of-a-windows-deploymentmbam-25.md | 3 +++ ...ers-to-more-self-service-portal-information.md | 6 ++++-- ...ocalize-the-self-service-portal-helpdeskurl.md | 6 ++++-- ...ocalize-the-self-service-portal-notice-text.md | 6 ++++-- ...ser-bitlocker-encryption-exemptions-mbam-25.md | 5 +++-- .../mbam-v25/how-to-move-the-mbam-25-databases.md | 6 ++++-- mdop/mbam-v25/how-to-move-the-mbam-25-reports.md | 6 ++++-- mdop/mbam-v25/how-to-move-the-mbam-25-websites.md | 6 ++++-- .../how-to-recover-a-corrupted-drive-mbam-25.md | 5 +++-- ...to-recover-a-drive-in-recovery-mode-mbam-25.md | 6 ++++-- .../how-to-recover-a-moved-drive-mbam-25.md | 6 ++++-- .../how-to-reset-a-tpm-lockout-mbam-25.md | 6 ++++-- ...ervice-portal-branding-and-session-time-out.md | 6 ++++-- ...e-self-service-portal-notice-text-on-or-off.md | 6 ++++-- ...e-the-administration-and-monitoring-website.md | 8 +++----- ...rtal-to-regain-access-to-a-computer-mbam-25.md | 6 ++++-- ...lustrated-features-of-an-mbam-25-deployment.md | 8 +++----- mdop/mbam-v25/index.md | 5 ++--- .../installing-the-mbam-25-server-software.md | 7 +++---- mdop/mbam-v25/maintaining-mbam-25.md | 5 ++--- mdop/mbam-v25/mbam-25-deployment-checklist.md | 8 +++----- mdop/mbam-v25/mbam-25-deployment-prerequisites.md | 5 ++--- mdop/mbam-v25/mbam-25-planning-checklist.md | 8 +++----- mdop/mbam-v25/mbam-25-security-considerations.md | 7 +++---- ...onfiguration-manager-integration-topologies.md | 7 +++---- ...-configuration-manager-integration-topology.md | 8 +++----- mdop/mbam-v25/mbam-25-supported-configurations.md | 7 +++---- ...reporting-bitlocker-compliance-with-mbam-25.md | 5 ++--- ...ng-web-service-request-performance-counters.md | 7 +++---- .../moving-mbam-25-features-to-another-server.md | 5 ++--- mdop/mbam-v25/operations-for-mbam-25.md | 5 ++--- ...erforming-bitlocker-management-with-mbam-25.md | 7 +++---- .../planning-for-mbam-25-client-deployment.md | 8 +++----- ...nning-for-mbam-25-group-policy-requirements.md | 8 +++----- .../planning-for-mbam-25-groups-and-accounts.md | 8 +++----- .../planning-for-mbam-25-high-availability.md | 7 +++---- .../planning-for-mbam-25-server-deployment.md | 7 +++---- mdop/mbam-v25/planning-for-mbam-25.md | 15 +++++++-------- .../planning-how-to-secure-the-mbam-websites.md | 8 +++----- mdop/mbam-v25/planning-to-deploy-mbam-25.md | 5 ++--- .../preparing-your-environment-for-mbam-25.md | 5 ++--- .../mbam-v25/prerequisites-for-mbam-25-clients.md | 7 +++---- ...e-configuration-manager-integration-feature.md | 7 +++---- mdop/mbam-v25/release-notes-for-mbam-25-sp1.md | 7 +++---- mdop/mbam-v25/release-notes-for-mbam-25.md | 8 +++----- .../removing-mbam-server-features-or-software.md | 7 +++---- mdop/mbam-v25/server-event-logs.md | 8 +++----- mdop/mbam-v25/technical-reference-for-mbam-25.md | 5 ++--- mdop/mbam-v25/troubleshooting-mbam-25.md | 5 ++--- .../understanding-mbam-25-stand-alone-reports.md | 8 +++----- ...ker-drive-encryption-items-in-control-panel.md | 8 +++----- ...am-25-or-mbam-25-sp1-from-previous-versions.md | 7 +++---- ...ng-windows-powershell-to-administer-mbam-25.md | 7 +++---- ...ng-the-mbam-25-server-feature-configuration.md | 7 +++---- ...-configuration-manager-integration-topology.md | 9 +++------ ...bam-25-reports-for-the-stand-alone-topology.md | 8 +++----- 88 files changed, 269 insertions(+), 305 deletions(-) diff --git a/mdop/mbam-v25/about-mbam-25-sp1.md b/mdop/mbam-v25/about-mbam-25-sp1.md index 8cd8dc5a1b..dacedac502 100644 --- a/mdop/mbam-v25/about-mbam-25-sp1.md +++ b/mdop/mbam-v25/about-mbam-25-sp1.md @@ -230,9 +230,8 @@ MBAM is a part of the Microsoft Desktop Optimization Pack (MDOP). MDOP is part o For more information and late-breaking news that is not included in this documentation, see [Release Notes for MBAM 2.5 SP1](release-notes-for-mbam-25-sp1.md). ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics diff --git a/mdop/mbam-v25/about-mbam-25.md b/mdop/mbam-v25/about-mbam-25.md index fa12092dab..cbde231c72 100644 --- a/mdop/mbam-v25/about-mbam-25.md +++ b/mdop/mbam-v25/about-mbam-25.md @@ -355,9 +355,8 @@ MBAM is a part of the Microsoft Desktop Optimization Pack (MDOP). MDOP is part o For more information and late-breaking news that is not included in this documentation, see [Release Notes for MBAM 2.5](release-notes-for-mbam-25.md). ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics diff --git a/mdop/mbam-v25/accessibility-for-mbam-25.md b/mdop/mbam-v25/accessibility-for-mbam-25.md index c4b1726472..006f3acba5 100644 --- a/mdop/mbam-v25/accessibility-for-mbam-25.md +++ b/mdop/mbam-v25/accessibility-for-mbam-25.md @@ -89,9 +89,8 @@ Microsoft Support Services are subject to the prices, terms, and conditions in p For more information about how accessible technology for computers helps to improve the lives of people with disabilities, see the [Microsoft Accessibility website](https://go.microsoft.com/fwlink/?linkid=8431). ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics diff --git a/mdop/mbam-v25/administering-mbam-25-features.md b/mdop/mbam-v25/administering-mbam-25-features.md index dbefcf71c0..4b0fad8bfc 100644 --- a/mdop/mbam-v25/administering-mbam-25-features.md +++ b/mdop/mbam-v25/administering-mbam-25-features.md @@ -41,9 +41,8 @@ This customized control panel does not replace the default Windows BitLocker con [Operations for MBAM 2.5](operations-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/client-event-logs.md b/mdop/mbam-v25/client-event-logs.md index aa4aae881c..f8d2dc07c4 100644 --- a/mdop/mbam-v25/client-event-logs.md +++ b/mdop/mbam-v25/client-event-logs.md @@ -253,21 +253,18 @@ The following table contains event IDs that can occur on the MBAM Client.   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics - - [Technical Reference for MBAM 2.5](technical-reference-for-mbam-25.md) [Server Event Logs](server-event-logs.md)   -  + +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/configuring-mbam-25-server-features-by-using-windows-powershell.md b/mdop/mbam-v25/configuring-mbam-25-server-features-by-using-windows-powershell.md index 13c370473a..330377d65b 100644 --- a/mdop/mbam-v25/configuring-mbam-25-server-features-by-using-windows-powershell.md +++ b/mdop/mbam-v25/configuring-mbam-25-server-features-by-using-windows-powershell.md @@ -349,10 +349,8 @@ To view the local security setting, open the **Local Security Policy editor**, e   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -364,7 +362,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [Using Windows PowerShell to Administer MBAM 2.5](using-windows-powershell-to-administer-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/configuring-the-mbam-25-server-features.md b/mdop/mbam-v25/configuring-the-mbam-25-server-features.md index 2d2948f50c..49b94f770e 100644 --- a/mdop/mbam-v25/configuring-the-mbam-25-server-features.md +++ b/mdop/mbam-v25/configuring-the-mbam-25-server-features.md @@ -105,11 +105,8 @@ Each row in the following table describes the features that you will configure o For a list of events about MBAM Server feature configuration, see [Server Event Logs](server-event-logs.md). -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -117,7 +114,9 @@ Configuring the MBAM 2.5 Server Features     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/copying-the-mbam-25-group-policy-templates.md b/mdop/mbam-v25/copying-the-mbam-25-group-policy-templates.md index 743572b6fb..79e1582f84 100644 --- a/mdop/mbam-v25/copying-the-mbam-25-group-policy-templates.md +++ b/mdop/mbam-v25/copying-the-mbam-25-group-policy-templates.md @@ -98,7 +98,6 @@ MDOP Group Policy templates are available for download in a self-extracting, com For descriptions of the Group Policy settings, see [Planning for MBAM 2.5 Group Policy Requirements](planning-for-mbam-25-group-policy-requirements.md). -**Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -106,7 +105,9 @@ MDOP Group Policy templates are available for download in a self-extracting, com [Deploying MBAM 2.5 Group Policy Objects](deploying-mbam-25-group-policy-objects.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/create-or-edit-the-sms-defmof-file-mbam-25.md b/mdop/mbam-v25/create-or-edit-the-sms-defmof-file-mbam-25.md index d71455a3ba..75f0c5dd3c 100644 --- a/mdop/mbam-v25/create-or-edit-the-sms-defmof-file-mbam-25.md +++ b/mdop/mbam-v25/create-or-edit-the-sms-defmof-file-mbam-25.md @@ -383,7 +383,9 @@ In the following sections, complete the instructions that correspond to the vers     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/customizing-the-self-service-portal-for-your-organization.md b/mdop/mbam-v25/customizing-the-self-service-portal-for-your-organization.md index 638453ed01..87f74c21ad 100644 --- a/mdop/mbam-v25/customizing-the-self-service-portal-for-your-organization.md +++ b/mdop/mbam-v25/customizing-the-self-service-portal-for-your-organization.md @@ -58,11 +58,8 @@ You can customize the Self-Service Portal in the following ways:   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -70,7 +67,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/deploying-mbam-25-group-policy-objects.md b/mdop/mbam-v25/deploying-mbam-25-group-policy-objects.md index 606ca70207..160b9ab0b2 100644 --- a/mdop/mbam-v25/deploying-mbam-25-group-policy-objects.md +++ b/mdop/mbam-v25/deploying-mbam-25-group-policy-objects.md @@ -48,9 +48,8 @@ Since MBAM offers a customized MBAM control panel that can replace the default W [Deploying MBAM 2.5](deploying-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/deploying-mbam-25.md b/mdop/mbam-v25/deploying-mbam-25.md index bea9f05d66..f1c1cff37e 100644 --- a/mdop/mbam-v25/deploying-mbam-25.md +++ b/mdop/mbam-v25/deploying-mbam-25.md @@ -82,9 +82,8 @@ Use this information to identify the procedures you can follow to deploy and con [Deploying MBAM 2.5 in a stand-alone configuration](https://support.microsoft.com/kb/3046555) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/deploying-the-mbam-25-client.md b/mdop/mbam-v25/deploying-the-mbam-25-client.md index 8eef257b98..5c05697ce7 100644 --- a/mdop/mbam-v25/deploying-the-mbam-25-client.md +++ b/mdop/mbam-v25/deploying-the-mbam-25-client.md @@ -49,11 +49,8 @@ This section explains how to install the MBAM Client by using a command line. [Deploying MBAM 2.5](deploying-mbam-25.md) -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -62,7 +59,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [Planning for MBAM 2.5](planning-for-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/deploying-the-mbam-25-server-infrastructure.md b/mdop/mbam-v25/deploying-the-mbam-25-server-infrastructure.md index 781cc1966b..47c09e74df 100644 --- a/mdop/mbam-v25/deploying-the-mbam-25-server-infrastructure.md +++ b/mdop/mbam-v25/deploying-the-mbam-25-server-infrastructure.md @@ -46,18 +46,15 @@ To deploy the Microsoft BitLocker Administration and Monitoring (MBAM) 2.5 Serve   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics [Deploying MBAM 2.5](deploying-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/determining-why-a-device-receives-a-noncompliance-message.md b/mdop/mbam-v25/determining-why-a-device-receives-a-noncompliance-message.md index 6167e37171..e1dbf01ed9 100644 --- a/mdop/mbam-v25/determining-why-a-device-receives-a-noncompliance-message.md +++ b/mdop/mbam-v25/determining-why-a-device-receives-a-noncompliance-message.md @@ -103,11 +103,6 @@ You can use your preferred method to view WMI. If you use PowerShell, run `gwmi   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -116,7 +111,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [Configuring MBAM 2.5 Server Features by Using Windows PowerShell](configuring-mbam-25-server-features-by-using-windows-powershell.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/edit-the-configurationmof-file-mbam-25.md b/mdop/mbam-v25/edit-the-configurationmof-file-mbam-25.md index 33cea5faa3..f4616b4724 100644 --- a/mdop/mbam-v25/edit-the-configurationmof-file-mbam-25.md +++ b/mdop/mbam-v25/edit-the-configurationmof-file-mbam-25.md @@ -364,7 +364,6 @@ To enable the client computers to report BitLocker compliance details through th //======================================================= ``` - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -378,7 +377,9 @@ To enable the client computers to report BitLocker compliance details through th     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/editing-the-mbam-25-group-policy-settings.md b/mdop/mbam-v25/editing-the-mbam-25-group-policy-settings.md index 6be3a9fd6e..543f7e2ff6 100644 --- a/mdop/mbam-v25/editing-the-mbam-25-group-policy-settings.md +++ b/mdop/mbam-v25/editing-the-mbam-25-group-policy-settings.md @@ -91,8 +91,6 @@ Do not change the Group Policy settings in the **BitLocker Drive Encryption** no   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -101,7 +99,9 @@ Do not change the Group Policy settings in the **BitLocker Drive Encryption** no [Copying the MBAM 2.5 Group Policy Templates](copying-the-mbam-25-group-policy-templates.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/evaluating-mbam-25-in-a-test-environment.md b/mdop/mbam-v25/evaluating-mbam-25-in-a-test-environment.md index 43d0bb217f..cd19e01e59 100644 --- a/mdop/mbam-v25/evaluating-mbam-25-in-a-test-environment.md +++ b/mdop/mbam-v25/evaluating-mbam-25-in-a-test-environment.md @@ -393,7 +393,6 @@ To evaluate MBAM by using the Configuration Manager Integration topology, follow 2. Within the **MBAM** node, select the folder that represents the language in which you want to view reports, and then select the report from the results pane. -**Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -401,8 +400,9 @@ To evaluate MBAM by using the Configuration Manager Integration topology, follow [Getting Started with MBAM 2.5](getting-started-with-mbam-25.md)   - -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/generating-mbam-25-stand-alone-reports.md b/mdop/mbam-v25/generating-mbam-25-stand-alone-reports.md index fa5b3d6352..311409761a 100644 --- a/mdop/mbam-v25/generating-mbam-25-stand-alone-reports.md +++ b/mdop/mbam-v25/generating-mbam-25-stand-alone-reports.md @@ -93,7 +93,7 @@ To run the reports, you must be a member of the **MBAM Report Users** group, whi 2. Click **View Report** to view the report. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -104,7 +104,9 @@ To run the reports, you must be a member of the **MBAM Report Users** group, whi   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/getting-started-with-mbam-25.md b/mdop/mbam-v25/getting-started-with-mbam-25.md index 095e8a955b..3513df82f6 100644 --- a/mdop/mbam-v25/getting-started-with-mbam-25.md +++ b/mdop/mbam-v25/getting-started-with-mbam-25.md @@ -91,9 +91,8 @@ MBAM 2.5 is a part of the Microsoft Desktop Optimization Pack (MDOP). MDOP is pa [Technical Reference for MBAM 2.5](technical-reference-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/hiding-the-default-bitlocker-drive-encryption-item-in-control-panel-mbam-25.md b/mdop/mbam-v25/hiding-the-default-bitlocker-drive-encryption-item-in-control-panel-mbam-25.md index 0c6a56e80a..e91ed7e0c7 100644 --- a/mdop/mbam-v25/hiding-the-default-bitlocker-drive-encryption-item-in-control-panel-mbam-25.md +++ b/mdop/mbam-v25/hiding-the-default-bitlocker-drive-encryption-item-in-control-panel-mbam-25.md @@ -40,7 +40,7 @@ Do not change the Group Policy settings in the **BitLocker Drive Encryption** no 3. Click **Show**, click **Add**, and then type **Microsoft.BitLockerDriveEncryption**. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -51,7 +51,9 @@ Do not change the Group Policy settings in the **BitLocker Drive Encryption** no   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/high-level-architecture-for-mbam-25.md b/mdop/mbam-v25/high-level-architecture-for-mbam-25.md index bf090ec2c0..4b67d0891b 100644 --- a/mdop/mbam-v25/high-level-architecture-for-mbam-25.md +++ b/mdop/mbam-v25/high-level-architecture-for-mbam-25.md @@ -33,9 +33,8 @@ Microsoft BitLocker Administration and Monitoring can be deployed in a Stand-alo [Getting Started with MBAM 2.5](getting-started-with-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-configuration-manager-integration-topology.md b/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-configuration-manager-integration-topology.md index 383814410b..41afc5d8a5 100644 --- a/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-configuration-manager-integration-topology.md +++ b/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-configuration-manager-integration-topology.md @@ -275,10 +275,6 @@ The integration of MBAM with Configuration Manager is based on a configuration p   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -292,7 +288,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-stand-alone-topology.md b/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-stand-alone-topology.md index a9f2aeb37c..c494392cfe 100644 --- a/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-stand-alone-topology.md +++ b/mdop/mbam-v25/high-level-architecture-of-mbam-25-with-stand-alone-topology.md @@ -135,12 +135,7 @@ The MBAM Client: - Collects recovery information and computer information about the client computers. -  -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -153,7 +148,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-configure-the-mbam-25-databases.md b/mdop/mbam-v25/how-to-configure-the-mbam-25-databases.md index 14ef61134c..af16424434 100644 --- a/mdop/mbam-v25/how-to-configure-the-mbam-25-databases.md +++ b/mdop/mbam-v25/how-to-configure-the-mbam-25-databases.md @@ -212,7 +212,7 @@ The instructions are based on the recommended architecture in [High-Level Archit 5. Click **Add** to add the MBAM databases on the server, and then click **Close**. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -229,7 +229,9 @@ The instructions are based on the recommended architecture in [High-Level Archit   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-configure-the-mbam-25-reports.md b/mdop/mbam-v25/how-to-configure-the-mbam-25-reports.md index c6ef960a9b..10ac435c9b 100644 --- a/mdop/mbam-v25/how-to-configure-the-mbam-25-reports.md +++ b/mdop/mbam-v25/how-to-configure-the-mbam-25-reports.md @@ -153,7 +153,7 @@ The instructions are based on the recommended architecture in [High-Level Archit 8. Click **Add** to add the Reports on the server, and then click **Close**. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -167,7 +167,9 @@ The instructions are based on the recommended architecture in [High-Level Archit [Validating the MBAM 2.5 Server Feature Configuration](validating-the-mbam-25-server-feature-configuration.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/how-to-configure-the-mbam-25-system-center-configuration-manager-integration.md b/mdop/mbam-v25/how-to-configure-the-mbam-25-system-center-configuration-manager-integration.md index c9710d5a86..596b57c08d 100644 --- a/mdop/mbam-v25/how-to-configure-the-mbam-25-system-center-configuration-manager-integration.md +++ b/mdop/mbam-v25/how-to-configure-the-mbam-25-system-center-configuration-manager-integration.md @@ -127,7 +127,7 @@ The instructions are based on the recommended architecture in [High-Level Archit 6. Click **Add** to add the Configuration Manager Integration feature to the server, and then click **Close**. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -137,7 +137,9 @@ The instructions are based on the recommended architecture in [High-Level Archit [Validating the MBAM 2.5 Server Feature Configuration](validating-the-mbam-25-server-feature-configuration.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/how-to-configure-the-mbam-25-web-applications.md b/mdop/mbam-v25/how-to-configure-the-mbam-25-web-applications.md index ff0808091b..144484a16f 100644 --- a/mdop/mbam-v25/how-to-configure-the-mbam-25-web-applications.md +++ b/mdop/mbam-v25/how-to-configure-the-mbam-25-web-applications.md @@ -405,7 +405,6 @@ The web applications comprise the following websites and their corresponding web - If your client computers do not have access to the CDN, complete the steps in [How to Configure the Self-Service Portal When Client Computers Cannot Access the Microsoft Content Delivery Network](how-to-configure-the-self-service-portal-when-client-computers-cannot-access-the-microsoft-content-delivery-network.md). - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -422,7 +421,9 @@ The web applications comprise the following websites and their corresponding web   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-configure-the-self-service-portal-when-client-computers-cannot-access-the-microsoft-content-delivery-network.md b/mdop/mbam-v25/how-to-configure-the-self-service-portal-when-client-computers-cannot-access-the-microsoft-content-delivery-network.md index bd79f78e48..95f7fcdc46 100644 --- a/mdop/mbam-v25/how-to-configure-the-self-service-portal-when-client-computers-cannot-access-the-microsoft-content-delivery-network.md +++ b/mdop/mbam-v25/how-to-configure-the-self-service-portal-when-client-computers-cannot-access-the-microsoft-content-delivery-network.md @@ -56,9 +56,7 @@ In MBAM 2.5 SP1, the JavaScript files are included in the product, and you do no - jQueryValidateUnobtrusivePath: /<*virtual directory*>/Scripts/jQuery.validate.unobtrusive.min.js - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). - **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -67,7 +65,9 @@ In MBAM 2.5 SP1, the JavaScript files are included in the product, and you do no   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-deploy-the-mbam-client-by-using-a-command-line.md b/mdop/mbam-v25/how-to-deploy-the-mbam-client-by-using-a-command-line.md index 8bf86c7ee8..7cea28e8c8 100644 --- a/mdop/mbam-v25/how-to-deploy-the-mbam-client-by-using-a-command-line.md +++ b/mdop/mbam-v25/how-to-deploy-the-mbam-client-by-using-a-command-line.md @@ -73,7 +73,6 @@ You can use this command-line option with either of the following installation m   -**Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -83,7 +82,9 @@ You can use this command-line option with either of the following installation m     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-deploy-the-mbam-client-to-desktop-or-laptop-computers-mbam-25.md b/mdop/mbam-v25/how-to-deploy-the-mbam-client-to-desktop-or-laptop-computers-mbam-25.md index 988dabca29..9e9d2160e5 100644 --- a/mdop/mbam-v25/how-to-deploy-the-mbam-client-to-desktop-or-laptop-computers-mbam-25.md +++ b/mdop/mbam-v25/how-to-deploy-the-mbam-client-to-desktop-or-laptop-computers-mbam-25.md @@ -35,18 +35,17 @@ Before you start the MBAM Client deployment, review the [MBAM 2.5 Supported Conf   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics - - [Deploying the MBAM 2.5 Client](deploying-the-mbam-25-client.md) [Planning for MBAM 2.5 Client Deployment](planning-for-mbam-25-client-deployment.md)   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-determine-bitlocker-encryption-state-of-lost-computers-mbam-25.md b/mdop/mbam-v25/how-to-determine-bitlocker-encryption-state-of-lost-computers-mbam-25.md index f618e1c78e..b7434dc064 100644 --- a/mdop/mbam-v25/how-to-determine-bitlocker-encryption-state-of-lost-computers-mbam-25.md +++ b/mdop/mbam-v25/how-to-determine-bitlocker-encryption-state-of-lost-computers-mbam-25.md @@ -39,7 +39,7 @@ Device compliance is determined by the BitLocker policies that your enterprise h 5. Take the appropriate action, as determined by your policy for lost devices. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -47,7 +47,9 @@ Device compliance is determined by the BitLocker policies that your enterprise h [Performing BitLocker Management with MBAM 2.5](performing-bitlocker-management-with-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/how-to-enable-bitlocker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md b/mdop/mbam-v25/how-to-enable-bitlocker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md index 6161649e6f..79cc189aaa 100644 --- a/mdop/mbam-v25/how-to-enable-bitlocker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md +++ b/mdop/mbam-v25/how-to-enable-bitlocker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md @@ -328,3 +328,6 @@ Here are a list of common error messages: [Planning for MBAM 2.5 Client Deployment](planning-for-mbam-25-client-deployment.md) +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). \ No newline at end of file diff --git a/mdop/mbam-v25/how-to-localize-the-helpdesktext-statement-that-points-users-to-more-self-service-portal-information.md b/mdop/mbam-v25/how-to-localize-the-helpdesktext-statement-that-points-users-to-more-self-service-portal-information.md index 6f899ad463..74cb3987aa 100644 --- a/mdop/mbam-v25/how-to-localize-the-helpdesktext-statement-that-points-users-to-more-self-service-portal-information.md +++ b/mdop/mbam-v25/how-to-localize-the-helpdesktext-statement-that-points-users-to-more-self-service-portal-information.md @@ -37,7 +37,7 @@ In the following instructions, *SelfService* is the default virtual directory na 4. In the **Value** field, type the localized text that you want to display to end users. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -48,7 +48,9 @@ In the following instructions, *SelfService* is the default virtual directory na   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-localize-the-self-service-portal-helpdeskurl.md b/mdop/mbam-v25/how-to-localize-the-self-service-portal-helpdeskurl.md index b7d2e10ad7..03920986d6 100644 --- a/mdop/mbam-v25/how-to-localize-the-self-service-portal-helpdeskurl.md +++ b/mdop/mbam-v25/how-to-localize-the-self-service-portal-helpdeskurl.md @@ -39,7 +39,7 @@ In the following instructions, *SelfService* is the default virtual directory na 4. In the **Value** field, type the localized version of the `HelpdeskURL` value that you want to display to end users. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -49,7 +49,9 @@ In the following instructions, *SelfService* is the default virtual directory na     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-localize-the-self-service-portal-notice-text.md b/mdop/mbam-v25/how-to-localize-the-self-service-portal-notice-text.md index 1a82463029..a4cfaa869c 100644 --- a/mdop/mbam-v25/how-to-localize-the-self-service-portal-notice-text.md +++ b/mdop/mbam-v25/how-to-localize-the-self-service-portal-notice-text.md @@ -61,7 +61,7 @@ If an end user’s browser is set to a language that does not have a correspondi The name of the Language folder can also be the language neutral name **es** instead of **es-es**. If the end user’s browser is set to **es-es** and that folder does not exist, the parent locale (as defined in .NET) is recursively retrieved and checked, resolving to <MBAM Self-Service Install Directory>\\SelfServiceWebsite\\es\\Notice.txt before finally becoming the default Notice.txt file. This recursive fallback mimics the .NET resource loading rules. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -70,7 +70,9 @@ If an end user’s browser is set to a language that does not have a correspondi   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-manage-user-bitlocker-encryption-exemptions-mbam-25.md b/mdop/mbam-v25/how-to-manage-user-bitlocker-encryption-exemptions-mbam-25.md index 13f9dbdcdd..3337c2bd83 100644 --- a/mdop/mbam-v25/how-to-manage-user-bitlocker-encryption-exemptions-mbam-25.md +++ b/mdop/mbam-v25/how-to-manage-user-bitlocker-encryption-exemptions-mbam-25.md @@ -145,7 +145,6 @@ The following steps describe what occurs when end users request an exemption fro   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -157,7 +156,9 @@ The following steps describe what occurs when end users request an exemption fro     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-move-the-mbam-25-databases.md b/mdop/mbam-v25/how-to-move-the-mbam-25-databases.md index f9250586ad..ddeb99133d 100644 --- a/mdop/mbam-v25/how-to-move-the-mbam-25-databases.md +++ b/mdop/mbam-v25/how-to-move-the-mbam-25-databases.md @@ -495,7 +495,7 @@ The high-level steps for moving the Compliance and Audit Database are:   -**Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -509,7 +509,9 @@ The high-level steps for moving the Compliance and Audit Database are:     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-move-the-mbam-25-reports.md b/mdop/mbam-v25/how-to-move-the-mbam-25-reports.md index 3a188b39c7..bc5fa5a455 100644 --- a/mdop/mbam-v25/how-to-move-the-mbam-25-reports.md +++ b/mdop/mbam-v25/how-to-move-the-mbam-25-reports.md @@ -117,7 +117,7 @@ To run the example Windows PowerShell scripts in this topic, you must update the   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -129,7 +129,9 @@ To run the example Windows PowerShell scripts in this topic, you must update the [Moving MBAM 2.5 Features to Another Server](moving-mbam-25-features-to-another-server.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/how-to-move-the-mbam-25-websites.md b/mdop/mbam-v25/how-to-move-the-mbam-25-websites.md index 8013c027ac..a95d698126 100644 --- a/mdop/mbam-v25/how-to-move-the-mbam-25-websites.md +++ b/mdop/mbam-v25/how-to-move-the-mbam-25-websites.md @@ -49,7 +49,7 @@ During the configuration of both websites, you must provide the same connection 4. Customize the Self-Service Portal for your organization. Use the instructions in [Customizing the Self-Service Portal for Your Organization](customizing-the-self-service-portal-for-your-organization.md) to review your current customizations and to configure custom settings on the Self-Server Portal on Server B. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -62,7 +62,9 @@ During the configuration of both websites, you must provide the same connection   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-recover-a-corrupted-drive-mbam-25.md b/mdop/mbam-v25/how-to-recover-a-corrupted-drive-mbam-25.md index d5cd38afb0..dc18c38f3d 100644 --- a/mdop/mbam-v25/how-to-recover-a-corrupted-drive-mbam-25.md +++ b/mdop/mbam-v25/how-to-recover-a-corrupted-drive-mbam-25.md @@ -75,7 +75,6 @@ You can use this procedure with the Administration and Monitoring Website (also   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -83,7 +82,9 @@ You can use this procedure with the Administration and Monitoring Website (also [Performing BitLocker Management with MBAM 2.5](performing-bitlocker-management-with-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/how-to-recover-a-drive-in-recovery-mode-mbam-25.md b/mdop/mbam-v25/how-to-recover-a-drive-in-recovery-mode-mbam-25.md index f623853f20..c6565a7304 100644 --- a/mdop/mbam-v25/how-to-recover-a-drive-in-recovery-mode-mbam-25.md +++ b/mdop/mbam-v25/how-to-recover-a-drive-in-recovery-mode-mbam-25.md @@ -64,7 +64,7 @@ Recovery passwords expire after a single use. On operating system drives and fix When the user types the recovery password into the system or uses the recovery package, the drive is unlocked. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -73,7 +73,9 @@ Recovery passwords expire after a single use. On operating system drives and fix   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-recover-a-moved-drive-mbam-25.md b/mdop/mbam-v25/how-to-recover-a-moved-drive-mbam-25.md index 455fc25647..fe98ceee20 100644 --- a/mdop/mbam-v25/how-to-recover-a-moved-drive-mbam-25.md +++ b/mdop/mbam-v25/how-to-recover-a-moved-drive-mbam-25.md @@ -34,7 +34,7 @@ To recover a moved drive, you must use the **Drive Recovery** area of the Admini 5. When the removal is completed, start the computer normally. The MBAM agent will now enforce the policy to encrypt the drive with the new computer’s TPM plus the PIN. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -43,7 +43,9 @@ To recover a moved drive, you must use the **Drive Recovery** area of the Admini   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-reset-a-tpm-lockout-mbam-25.md b/mdop/mbam-v25/how-to-reset-a-tpm-lockout-mbam-25.md index 4640df20d9..9303a8e597 100644 --- a/mdop/mbam-v25/how-to-reset-a-tpm-lockout-mbam-25.md +++ b/mdop/mbam-v25/how-to-reset-a-tpm-lockout-mbam-25.md @@ -58,7 +58,7 @@ For information about MBAM and TPM ownership, see [MBAM 2.5 Security Considerati   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -67,7 +67,9 @@ For information about MBAM and TPM ownership, see [MBAM 2.5 Security Considerati   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-set-the-self-service-portal-branding-and-session-time-out.md b/mdop/mbam-v25/how-to-set-the-self-service-portal-branding-and-session-time-out.md index 90423cdd28..4a5e23195c 100644 --- a/mdop/mbam-v25/how-to-set-the-self-service-portal-branding-and-session-time-out.md +++ b/mdop/mbam-v25/how-to-set-the-self-service-portal-branding-and-session-time-out.md @@ -135,7 +135,7 @@ In the following instructions, *SelfService* is the default virtual directory na   - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -144,7 +144,9 @@ In the following instructions, *SelfService* is the default virtual directory na   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-turn-the-self-service-portal-notice-text-on-or-off.md b/mdop/mbam-v25/how-to-turn-the-self-service-portal-notice-text-on-or-off.md index d80d1faa45..c2e1679a7c 100644 --- a/mdop/mbam-v25/how-to-turn-the-self-service-portal-notice-text-on-or-off.md +++ b/mdop/mbam-v25/how-to-turn-the-self-service-portal-notice-text-on-or-off.md @@ -27,7 +27,7 @@ In the following instructions, *SelfService* is the default virtual directory na 2. In the **Name** column, select **DisplayNotice**, and set the value to **false**. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -38,7 +38,9 @@ In the following instructions, *SelfService* is the default virtual directory na   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/how-to-use-the-administration-and-monitoring-website.md b/mdop/mbam-v25/how-to-use-the-administration-and-monitoring-website.md index 149f9a7984..e5107a9650 100644 --- a/mdop/mbam-v25/how-to-use-the-administration-and-monitoring-website.md +++ b/mdop/mbam-v25/how-to-use-the-administration-and-monitoring-website.md @@ -116,10 +116,6 @@ The following table summarizes the tasks you can perform on the Administration a   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -128,7 +124,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/how-to-use-the-self-service-portal-to-regain-access-to-a-computer-mbam-25.md b/mdop/mbam-v25/how-to-use-the-self-service-portal-to-regain-access-to-a-computer-mbam-25.md index c0c48e4539..188b547452 100644 --- a/mdop/mbam-v25/how-to-use-the-self-service-portal-to-regain-access-to-a-computer-mbam-25.md +++ b/mdop/mbam-v25/how-to-use-the-self-service-portal-to-regain-access-to-a-computer-mbam-25.md @@ -44,7 +44,7 @@ If the IT administrator configured an IIS Session State time-out, a message is d 4. Enter the 48-digit code into the BitLocker recovery screen on your computer to regain access to the computer. - **Got a suggestion for MBAM**? Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). **Got a MBAM issue**? Use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). + ## Related topics @@ -52,7 +52,9 @@ If the IT administrator configured an IIS Session State time-out, a message is d [Performing BitLocker Management with MBAM 2.5](performing-bitlocker-management-with-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/illustrated-features-of-an-mbam-25-deployment.md b/mdop/mbam-v25/illustrated-features-of-an-mbam-25-deployment.md index cbc2ea71a9..cc36387362 100644 --- a/mdop/mbam-v25/illustrated-features-of-an-mbam-25-deployment.md +++ b/mdop/mbam-v25/illustrated-features-of-an-mbam-25-deployment.md @@ -195,10 +195,6 @@ SSRS is installed on a server running Windows Server. A reporting services point   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -210,7 +206,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/index.md b/mdop/mbam-v25/index.md index 9dd12bcbd5..2a9e37642f 100644 --- a/mdop/mbam-v25/index.md +++ b/mdop/mbam-v25/index.md @@ -59,9 +59,8 @@ To get the MBAM software, see [How Do I Get MDOP](https://go.microsoft.com/fwlin Get help in choosing a deployment method for MBAM, including step-by-step instructions for each method. ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/installing-the-mbam-25-server-software.md b/mdop/mbam-v25/installing-the-mbam-25-server-software.md index 2ad71a7cc6..341600418b 100644 --- a/mdop/mbam-v25/installing-the-mbam-25-server-software.md +++ b/mdop/mbam-v25/installing-the-mbam-25-server-software.md @@ -126,11 +126,8 @@ The following table describes the command-line parameters for installing the MBA   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -140,7 +137,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/maintaining-mbam-25.md b/mdop/mbam-v25/maintaining-mbam-25.md index dfe1999d5a..6b07d362cf 100644 --- a/mdop/mbam-v25/maintaining-mbam-25.md +++ b/mdop/mbam-v25/maintaining-mbam-25.md @@ -36,9 +36,8 @@ Use the steps in this topic to monitor the performance counters that record the [Operations for MBAM 2.5](operations-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/mbam-25-deployment-checklist.md b/mdop/mbam-v25/mbam-25-deployment-checklist.md index 23c0ca3666..8169a4c870 100644 --- a/mdop/mbam-v25/mbam-25-deployment-checklist.md +++ b/mdop/mbam-v25/mbam-25-deployment-checklist.md @@ -97,10 +97,6 @@ This checklist outlines the recommended steps and a high-level list of items to   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -110,7 +106,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/mbam-25-deployment-prerequisites.md b/mdop/mbam-v25/mbam-25-deployment-prerequisites.md index 81ae918046..fd80f252ae 100644 --- a/mdop/mbam-v25/mbam-25-deployment-prerequisites.md +++ b/mdop/mbam-v25/mbam-25-deployment-prerequisites.md @@ -53,9 +53,8 @@ This section contains the software that you must install before starting the Mic - [MBAM 2.5 Supported Configurations](mbam-25-supported-configurations.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/mbam-25-planning-checklist.md b/mdop/mbam-v25/mbam-25-planning-checklist.md index c4ab206f5a..a62ddee30b 100644 --- a/mdop/mbam-v25/mbam-25-planning-checklist.md +++ b/mdop/mbam-v25/mbam-25-planning-checklist.md @@ -124,10 +124,6 @@ You can use the following checklists to help you prepare your computing environm   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -137,7 +133,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/mbam-25-security-considerations.md b/mdop/mbam-v25/mbam-25-security-considerations.md index 1ab4144ac1..3f10ae0da3 100644 --- a/mdop/mbam-v25/mbam-25-security-considerations.md +++ b/mdop/mbam-v25/mbam-25-security-considerations.md @@ -295,18 +295,17 @@ For an example of how to enable TDE for MBAM database instances, see [Understand **Use strong passwords or pass phrases**. Always use strong passwords with 15 or more characters for all MBAM administrator accounts. Never use blank passwords. For more information about password concepts, see [Password Policy](http://technet.microsoft.com/library/hh994572.aspx). -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics [Planning to Deploy MBAM 2.5](planning-to-deploy-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/mbam-25-server-prerequisites-for-stand-alone-and-configuration-manager-integration-topologies.md b/mdop/mbam-v25/mbam-25-server-prerequisites-for-stand-alone-and-configuration-manager-integration-topologies.md index b5cd982105..5d73f5edf1 100644 --- a/mdop/mbam-v25/mbam-25-server-prerequisites-for-stand-alone-and-configuration-manager-integration-topologies.md +++ b/mdop/mbam-v25/mbam-25-server-prerequisites-for-stand-alone-and-configuration-manager-integration-topologies.md @@ -407,11 +407,8 @@ Setspn -s http/mbamvirtual.contoso.com contoso\mbamapppooluser   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -424,7 +421,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/mbam-25-server-prerequisites-that-apply-only-to-the-configuration-manager-integration-topology.md b/mdop/mbam-v25/mbam-25-server-prerequisites-that-apply-only-to-the-configuration-manager-integration-topology.md index b29f39406b..93707f9f9d 100644 --- a/mdop/mbam-v25/mbam-25-server-prerequisites-that-apply-only-to-the-configuration-manager-integration-topology.md +++ b/mdop/mbam-v25/mbam-25-server-prerequisites-that-apply-only-to-the-configuration-manager-integration-topology.md @@ -37,10 +37,6 @@ To enable the client computers to report BitLocker compliance details in the MBA [Create or Edit the Sms\_def.mof File](create-or-edit-the-sms-defmof-file-mbam-25.md) -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -54,7 +50,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/mbam-25-supported-configurations.md b/mdop/mbam-v25/mbam-25-supported-configurations.md index 195d6fcf64..1c9cdc239c 100644 --- a/mdop/mbam-v25/mbam-25-supported-configurations.md +++ b/mdop/mbam-v25/mbam-25-supported-configurations.md @@ -561,11 +561,8 @@ The MBAM server can be deployed in Azure Infrastructure as a Service (IaaS) on a The MBAM client is not supported on virtual machines and is also not supported on Azure IaaS. -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -576,7 +573,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/monitoring-and-reporting-bitlocker-compliance-with-mbam-25.md b/mdop/mbam-v25/monitoring-and-reporting-bitlocker-compliance-with-mbam-25.md index 86650a1bfd..e7f1395a8b 100644 --- a/mdop/mbam-v25/monitoring-and-reporting-bitlocker-compliance-with-mbam-25.md +++ b/mdop/mbam-v25/monitoring-and-reporting-bitlocker-compliance-with-mbam-25.md @@ -44,9 +44,8 @@ The topic in this section describes the reports for the Configuration Manager In [Operations for MBAM 2.5](operations-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/monitoring-web-service-request-performance-counters.md b/mdop/mbam-v25/monitoring-web-service-request-performance-counters.md index 113fa272b8..6376939620 100644 --- a/mdop/mbam-v25/monitoring-web-service-request-performance-counters.md +++ b/mdop/mbam-v25/monitoring-web-service-request-performance-counters.md @@ -81,11 +81,8 @@ The recommended tool for viewing MBAM performance counters is Windows Performanc For detailed instructions on how to view performance counters, see [How to View MBAM Performance Counters](https://go.microsoft.com/fwlink/?LinkId=393457). -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -96,6 +93,8 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/moving-mbam-25-features-to-another-server.md b/mdop/mbam-v25/moving-mbam-25-features-to-another-server.md index 557110bbd6..00fdddca93 100644 --- a/mdop/mbam-v25/moving-mbam-25-features-to-another-server.md +++ b/mdop/mbam-v25/moving-mbam-25-features-to-another-server.md @@ -41,9 +41,8 @@ Microsoft BitLocker Administration and Monitoring (MBAM) 2.5 enables you to move - [Configuring the MBAM 2.5 Server Features](configuring-the-mbam-25-server-features.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/operations-for-mbam-25.md b/mdop/mbam-v25/operations-for-mbam-25.md index 0be326e434..5a895028c3 100644 --- a/mdop/mbam-v25/operations-for-mbam-25.md +++ b/mdop/mbam-v25/operations-for-mbam-25.md @@ -55,9 +55,8 @@ This topic describes the types of administrative tasks that you can perform with [Technical Reference for MBAM 2.5](technical-reference-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/performing-bitlocker-management-with-mbam-25.md b/mdop/mbam-v25/performing-bitlocker-management-with-mbam-25.md index a6765849f0..37802d9fc1 100644 --- a/mdop/mbam-v25/performing-bitlocker-management-with-mbam-25.md +++ b/mdop/mbam-v25/performing-bitlocker-management-with-mbam-25.md @@ -52,11 +52,8 @@ If end users get locked out of Windows by BitLocker, they can use the instructio [How to Use the Self-Service Portal to Regain Access to a Computer](how-to-use-the-self-service-portal-to-regain-access-to-a-computer-mbam-25.md) -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -64,7 +61,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/planning-for-mbam-25-client-deployment.md b/mdop/mbam-v25/planning-for-mbam-25-client-deployment.md index 105ec5910e..54bddfa55e 100644 --- a/mdop/mbam-v25/planning-for-mbam-25-client-deployment.md +++ b/mdop/mbam-v25/planning-for-mbam-25-client-deployment.md @@ -59,10 +59,6 @@ The TPM protector option requires the administrator to accept the BIOS prompt to MBAM supports BitLocker on Encrypted Hard Drives that meet TCG specification requirements for Opal as well as IEEE 1667 standards. When BitLocker is enabled on these devices, it will generate keys and perform management functions on the encrypted drive. See [Encrypted Hard Drive](https://technet.microsoft.com/library/hh831627.aspx) for more information. -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -74,7 +70,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/planning-for-mbam-25-group-policy-requirements.md b/mdop/mbam-v25/planning-for-mbam-25-group-policy-requirements.md index 96c6732f3b..c016d3779d 100644 --- a/mdop/mbam-v25/planning-for-mbam-25-group-policy-requirements.md +++ b/mdop/mbam-v25/planning-for-mbam-25-group-policy-requirements.md @@ -512,10 +512,6 @@ This section describes Removable Drive Group Policy definitions for Microsoft Bi   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopmbam). ## Related topics @@ -525,7 +521,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [MBAM 2.5 Deployment Prerequisites](mbam-25-deployment-prerequisites.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/planning-for-mbam-25-groups-and-accounts.md b/mdop/mbam-v25/planning-for-mbam-25-groups-and-accounts.md index 3271b950b3..541ece0a38 100644 --- a/mdop/mbam-v25/planning-for-mbam-25-groups-and-accounts.md +++ b/mdop/mbam-v25/planning-for-mbam-25-groups-and-accounts.md @@ -172,10 +172,6 @@ Create the following accounts for the Administration and Monitoring Website.   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -186,7 +182,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/planning-for-mbam-25-high-availability.md b/mdop/mbam-v25/planning-for-mbam-25-high-availability.md index 29829ab49e..fcf168b878 100644 --- a/mdop/mbam-v25/planning-for-mbam-25-high-availability.md +++ b/mdop/mbam-v25/planning-for-mbam-25-high-availability.md @@ -123,11 +123,8 @@ MBAM provides a Volume Shadow Copy Service (VSS) writer, called the Microsoft Bi The VSS writer is registered on every server where you enable an MBAM web application. The MBAM VSS writer depends on the SQL Server VSS Writer, which is registered as part of the Microsoft SQL Server installation. Any backup technology that uses VSS writers to perform backup can discover the MBAM VSS writer. -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -136,7 +133,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros     - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/planning-for-mbam-25-server-deployment.md b/mdop/mbam-v25/planning-for-mbam-25-server-deployment.md index cb91068cf3..6fc0c1b5d5 100644 --- a/mdop/mbam-v25/planning-for-mbam-25-server-deployment.md +++ b/mdop/mbam-v25/planning-for-mbam-25-server-deployment.md @@ -96,11 +96,8 @@ The Server infrastructure for the MBAM Configuration Manager topology contains t For a description of these features, see [High-Level Architecture of MBAM 2.5 with Configuration Manager Integration Topology](high-level-architecture-of-mbam-25-with-configuration-manager-integration-topology.md). -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -110,7 +107,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/planning-for-mbam-25.md b/mdop/mbam-v25/planning-for-mbam-25.md index d6dbd8c240..bbf4e631bb 100644 --- a/mdop/mbam-v25/planning-for-mbam-25.md +++ b/mdop/mbam-v25/planning-for-mbam-25.md @@ -46,15 +46,14 @@ This topic lists the tasks, prerequisites, and requirements that you need to com [Technical Reference for MBAM 2.5](technical-reference-for-mbam-25.md) + + +  + +  ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - -  - -  - +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/planning-how-to-secure-the-mbam-websites.md b/mdop/mbam-v25/planning-how-to-secure-the-mbam-websites.md index f6b5891298..b59cdf6226 100644 --- a/mdop/mbam-v25/planning-how-to-secure-the-mbam-websites.md +++ b/mdop/mbam-v25/planning-how-to-secure-the-mbam-websites.md @@ -313,10 +313,6 @@ If you already registered SPNs on the machine account rather than in an applicat   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopmbam). ## Related topics @@ -329,7 +325,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/planning-to-deploy-mbam-25.md b/mdop/mbam-v25/planning-to-deploy-mbam-25.md index d40d55d6cb..4d0379428b 100644 --- a/mdop/mbam-v25/planning-to-deploy-mbam-25.md +++ b/mdop/mbam-v25/planning-to-deploy-mbam-25.md @@ -47,9 +47,8 @@ With MBAM, you can encrypt a computer in your organization either before the end [Planning for MBAM 2.5](planning-for-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/preparing-your-environment-for-mbam-25.md b/mdop/mbam-v25/preparing-your-environment-for-mbam-25.md index 3bff735f43..cccc386d97 100644 --- a/mdop/mbam-v25/preparing-your-environment-for-mbam-25.md +++ b/mdop/mbam-v25/preparing-your-environment-for-mbam-25.md @@ -47,9 +47,8 @@ As part of the prerequisites, you must define certain roles and accounts, which [MBAM 2.5 Supported Configurations](mbam-25-supported-configurations.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/prerequisites-for-mbam-25-clients.md b/mdop/mbam-v25/prerequisites-for-mbam-25-clients.md index f4920073c1..f151a12f21 100644 --- a/mdop/mbam-v25/prerequisites-for-mbam-25-clients.md +++ b/mdop/mbam-v25/prerequisites-for-mbam-25-clients.md @@ -83,11 +83,8 @@ Before you install the MBAM Client software on end users' computers, ensure that If BitLocker was used without MBAM, MBAM can be installed and utilize the existing TPM information.   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -96,7 +93,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [Planning to Deploy MBAM 2.5](planning-to-deploy-mbam-25.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/prerequisites-for-the-configuration-manager-integration-feature.md b/mdop/mbam-v25/prerequisites-for-the-configuration-manager-integration-feature.md index 248bb620bf..f00c62f502 100644 --- a/mdop/mbam-v25/prerequisites-for-the-configuration-manager-integration-feature.md +++ b/mdop/mbam-v25/prerequisites-for-the-configuration-manager-integration-feature.md @@ -176,11 +176,8 @@ To install MBAM with Configuration Manager, you must have an administrative user To enable the client computers to report BitLocker compliance details through the MBAM Configuration Manager reports, you have to edit the Configuration.mof file and Sms\_def.mof file for System Center 2012 Configuration Manager and Microsoft System Center Configuration Manager 2007. For instructions, see [MBAM 2.5 Server Prerequisites that Apply Only to the Configuration Manager Integration Topology](mbam-25-server-prerequisites-that-apply-only-to-the-configuration-manager-integration-topology.md). -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -190,7 +187,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/release-notes-for-mbam-25-sp1.md b/mdop/mbam-v25/release-notes-for-mbam-25-sp1.md index ed0dcd0fb5..6fb8a41a78 100644 --- a/mdop/mbam-v25/release-notes-for-mbam-25-sp1.md +++ b/mdop/mbam-v25/release-notes-for-mbam-25-sp1.md @@ -143,11 +143,8 @@ Original setting is: This is the reason why the issue was not seen with other browsers like Chrome, Firefox etc. -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopmbam). - ## Related topics @@ -155,7 +152,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/release-notes-for-mbam-25.md b/mdop/mbam-v25/release-notes-for-mbam-25.md index bf6d611a02..91c710e6ee 100644 --- a/mdop/mbam-v25/release-notes-for-mbam-25.md +++ b/mdop/mbam-v25/release-notes-for-mbam-25.md @@ -165,10 +165,6 @@ This table lists the hotfixes and KB articles for MBAM 2.5.   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -177,7 +173,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/removing-mbam-server-features-or-software.md b/mdop/mbam-v25/removing-mbam-server-features-or-software.md index 142c6e121f..bf66d191ab 100644 --- a/mdop/mbam-v25/removing-mbam-server-features-or-software.md +++ b/mdop/mbam-v25/removing-mbam-server-features-or-software.md @@ -71,11 +71,8 @@ Use the following steps to remove the MBAM Server software and any MBAM Server f 2. Select **Uninstall**, and follow the remaining prompts to complete the process of uninstalling the MBAM Server software. -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -85,7 +82,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). diff --git a/mdop/mbam-v25/server-event-logs.md b/mdop/mbam-v25/server-event-logs.md index 4b8067be48..637ae371f3 100644 --- a/mdop/mbam-v25/server-event-logs.md +++ b/mdop/mbam-v25/server-event-logs.md @@ -660,10 +660,6 @@ The following table contains messages and troubleshooting information for event   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -673,7 +669,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros [Client Event Logs](client-event-logs.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/technical-reference-for-mbam-25.md b/mdop/mbam-v25/technical-reference-for-mbam-25.md index f0411f3292..d09d2963c8 100644 --- a/mdop/mbam-v25/technical-reference-for-mbam-25.md +++ b/mdop/mbam-v25/technical-reference-for-mbam-25.md @@ -43,9 +43,8 @@ This section includes technical information about features in Microsoft BitLocke [Troubleshooting MBAM 2.5](troubleshooting-mbam-25.md) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/troubleshooting-mbam-25.md b/mdop/mbam-v25/troubleshooting-mbam-25.md index bc2671930f..cb05acd2bf 100644 --- a/mdop/mbam-v25/troubleshooting-mbam-25.md +++ b/mdop/mbam-v25/troubleshooting-mbam-25.md @@ -84,9 +84,8 @@ If you have a troubleshooting tip or a best practice to share that is not alread [Troubleshooting MBAM 2.5 installation problems](https://support.microsoft.com/kb/3049652) ## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/understanding-mbam-25-stand-alone-reports.md b/mdop/mbam-v25/understanding-mbam-25-stand-alone-reports.md index 6d37f02d47..508b82dd72 100644 --- a/mdop/mbam-v25/understanding-mbam-25-stand-alone-reports.md +++ b/mdop/mbam-v25/understanding-mbam-25-stand-alone-reports.md @@ -366,10 +366,6 @@ Report results can be saved to a file by clicking the **Export** button on the *   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -380,7 +376,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/understanding-the-bitlocker-encryption-options-and-bitlocker-drive-encryption-items-in-control-panel.md b/mdop/mbam-v25/understanding-the-bitlocker-encryption-options-and-bitlocker-drive-encryption-items-in-control-panel.md index 9acb5a40e8..6a9f2918f6 100644 --- a/mdop/mbam-v25/understanding-the-bitlocker-encryption-options-and-bitlocker-drive-encryption-items-in-control-panel.md +++ b/mdop/mbam-v25/understanding-the-bitlocker-encryption-options-and-bitlocker-drive-encryption-items-in-control-panel.md @@ -113,10 +113,6 @@ The following table describes how the **Manage BitLocker** shortcut menu differs   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -125,7 +121,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/upgrading-to-mbam-25-or-mbam-25-sp1-from-previous-versions.md b/mdop/mbam-v25/upgrading-to-mbam-25-or-mbam-25-sp1-from-previous-versions.md index 52ef3ff163..3d7c288953 100644 --- a/mdop/mbam-v25/upgrading-to-mbam-25-or-mbam-25-sp1-from-previous-versions.md +++ b/mdop/mbam-v25/upgrading-to-mbam-25-or-mbam-25-sp1-from-previous-versions.md @@ -147,11 +147,8 @@ MBAM supports upgrades to the MBAM 2.5 Client from any earlier version of the M - Install the MBAM Client through an electronic software distribution system or through tools such as Active Directory Domain Services or System Center Configuration Manager. -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -163,7 +160,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/using-windows-powershell-to-administer-mbam-25.md b/mdop/mbam-v25/using-windows-powershell-to-administer-mbam-25.md index b7ac31ef9d..56da96c821 100644 --- a/mdop/mbam-v25/using-windows-powershell-to-administer-mbam-25.md +++ b/mdop/mbam-v25/using-windows-powershell-to-administer-mbam-25.md @@ -86,11 +86,8 @@ Windows PowerShell Help for MBAM cmdlets is available in the following formats:   -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -100,7 +97,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/validating-the-mbam-25-server-feature-configuration.md b/mdop/mbam-v25/validating-the-mbam-25-server-feature-configuration.md index d0e3b1685a..c7b9098597 100644 --- a/mdop/mbam-v25/validating-the-mbam-25-server-feature-configuration.md +++ b/mdop/mbam-v25/validating-the-mbam-25-server-feature-configuration.md @@ -168,18 +168,17 @@ Use these steps to validate your MBAM Server deployment when you are using MBAM - BitLocker Operating System Drive Protection -## Got a suggestion for MBAM? -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics [Configuring the MBAM 2.5 Server Features](configuring-the-mbam-25-server-features.md)   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).   diff --git a/mdop/mbam-v25/viewing-mbam-25-reports-for-the-configuration-manager-integration-topology.md b/mdop/mbam-v25/viewing-mbam-25-reports-for-the-configuration-manager-integration-topology.md index db55e575ba..b8c9ce465b 100644 --- a/mdop/mbam-v25/viewing-mbam-25-reports-for-the-configuration-manager-integration-topology.md +++ b/mdop/mbam-v25/viewing-mbam-25-reports-for-the-configuration-manager-integration-topology.md @@ -473,11 +473,6 @@ The Removable Data Volume encryption status is not shown in this report.   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). - ## Related topics @@ -485,7 +480,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   -  +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam).  diff --git a/mdop/mbam-v25/viewing-mbam-25-reports-for-the-stand-alone-topology.md b/mdop/mbam-v25/viewing-mbam-25-reports-for-the-stand-alone-topology.md index e1a671b6e8..98fca5e3d3 100644 --- a/mdop/mbam-v25/viewing-mbam-25-reports-for-the-stand-alone-topology.md +++ b/mdop/mbam-v25/viewing-mbam-25-reports-for-the-stand-alone-topology.md @@ -48,10 +48,6 @@ If you are using the Configuration Manager Integration topology, most reports ar   -## Got a suggestion for MBAM? - - -Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). ## Related topics @@ -62,7 +58,9 @@ Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-micros   - +## Got a suggestion for MBAM? +- Add or vote on suggestions [here](http://mbam.uservoice.com/forums/268571-microsoft-bitlocker-administration-and-monitoring). +- For MBAM issues, use the [MBAM TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopmbam). From 07a3fd16d88a3383f1d452de7357c05f75abbb29 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 19 Apr 2018 10:24:11 -0700 Subject: [PATCH 082/212] added into to DG topic --- ...nd-windows-defender-application-control.md | 89 +++++-------------- 1 file changed, 22 insertions(+), 67 deletions(-) diff --git a/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md b/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md index 33195c8a03..6d1f3ebae2 100644 --- a/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md +++ b/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md @@ -5,8 +5,8 @@ keywords: virtualization, security, malware ms.prod: w10 ms.mktglfcycl: deploy ms.localizationpriority: high -author: brianlic-msft -ms.date: 02/20/2018 +author: mdsakibMSFT +ms.date: 04/19/2018 --- # Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control @@ -15,86 +15,41 @@ ms.date: 02/20/2018 - Windows 10 - Windows Server 2016 -With thousands of new malicious files created every day, using traditional methods like antivirus solutions—signature-based detection to fight against malware—provides an inadequate defense against new attacks. Windows Defender Device Guard changes from a mode where apps are trusted unless blocked by an antivirus or other security solution, to a mode where the operating system trusts only apps authorized by your enterprise. You designate these trusted apps by creating [Windows Defender Application Control (WDAC)](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) policies (formerly known as code integrity policies). +With Windows 10, we introduced Windows Defender Device Guard, a set of hardware and OS technologies that, when configured together, allow enterprises to lock down Windows systems so they operate with many of the properties of mobile devices. +In this configuration, Device Guard restricts devices to only run authorized apps by using a feature called configurable code integrity (CI), while simultaneously hardening the OS against kernel memory attacks through the use of virtualization-based protection of code integrity (more specifically, HVCI). -Although WDAC has no hardware requirements, Windows Defender Device Guard can increase the security of code integrity policies on hardware that includes CPU virtualization extensions (called "Intel VT-x" or "AMD-V") and second-level address translation (SLAT). On this supported hardware, Windows Defender Device Guard can use Virtualization Based Security (VBS) to run the Code Integrity service alongside the kernel in a Windows hypervisor-protected container (also known as HVCI). HVCI is one of several protections that can be enabled in the [Memory integrity](/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity) feature of Windows Defender Exploit Guard. +Configurable CI has these advantages over other solutions: -On hardware that includes input/output memory management units (IOMMUs), Windows Defender Device Guard can also help protect against DMA attacks. +1. Configurable CI policy is enforced by the Windows kernel itself. As such, the policy takes effect early in the boot sequence before nearly all other OS code and before traditional antivirus solutions run. +2. Configurable CI allows customers to set application control policy not only over code running in user mode, but also kernel mode hardware and software drivers and even code that runs as part of Windows. +3. Customers can protect the configurable CI policy even from local administrator tampering by digitally signing the policy. Then changing the policy requires administrative privilege and access to the organization’s digital signing process, making it extremely difficult for an attacker or malware that managed to gain administrative privilege to alter the application control policy. +4. The entire configurable CI enforcement mechanism can be protected by HVCI, where even if a vulnerability exists in kernel mode code, the likelihood that an attacker could successfully exploit it is significantly diminished. Why is this relevant? That’s because an attacker that compromises the kernel would otherwise have enough privilege to disable most system defenses and override the application control policies enforced by configurable CI or any other application control solution. -The following table provides more information about how Windows Defender Device Guard and these hardware features can help protect against various threats. -When Windows Defender Application Control and hardware-based security features are combined, Windows Defender Device Guard provides a locked-down configuration for computers. +## (Re-)Introducing Windows Defender Application Control -## How Windows Defender Device Guard features help protect against threats +When we originally designed Device Guard it was built with a specific security promise in mind. Although there were no direct dependencies between its two main OS features, configurable CI and HVCI, we intentionally focused our marketing story around the Device Guard lockdown state you achieve when deploying them together. -The following table lists security threats and describes the corresponding Windows Defender Device Guard features: +However, this unintentionally left an impression for many customers that the two features were inexorably linked and could not be deployed separately. +And given that HVCI relies on the Windows virtualization-based security, it comes with additional hardware, firmware, and kernel driver compatibility requirements that some older systems can’t meet. -| Security threat in the enterprise | How a Windows Defender Device Guard feature helps protect against the threat | -| --------------------------------- | ----------------------------------------------------------- | -| **Exposure to new malware**, for which the "signature" is not yet known | **Windows Defender Application Control (WDAC)**:  You can maintain a whitelist of software that is allowed to run (a configurable code integrity policy), rather than constantly update a list of "signatures" of software that should be blocked. This approach uses the trust-nothing model well known in mobile device operating systems.
Only code that is verified by WDAC, usually through the digital signature that you have identified as being from a trusted signer, is allowed to run. This allows full control over allowed code in both kernel and user mode.

**Specialized hardware required?** No security-related hardware features are required, but WDAC is strengthened by such features, as described in the next rows.

[!NOTE] Prior to Windows 10, version 1709, Windows Defender Application Control was known as configurable code integrity policies. | -| **Exposure to unsigned code** (most malware is unsigned) | **WDAC plus catalog files as needed**:  Because most malware is unsigned, WDAC can immediately help protect against a large number of threats. For organizations that use unsigned line-of-business (LOB) applications, you can use a tool called Package Inspector to create a *catalog* of all deployed and executed binary files for your trusted applications. After you sign and distribute the catalog, your trusted applications can be handled by WDAC in the same way as any other signed application. With this foundation, you can more easily block all unsigned applications, allowing only signed applications to run.

**Specialized hardware required?** No, but WDAC and catalogs are strengthened by the hardware features, as described in the next rows. | -| **Malware that gains access to the kernel** and then, from within the kernel, captures sensitive information or damages the system | **Virtualization-based protection of code integrity**:  This is protection that uses Windows 10’s new virtualization-based security (VBS) feature to help protect the kernel and other parts of the operating system. When virtualization-based protection of code integrity (also known as hypervisor-protected code integrity, or HVCI) is enabled, it strengthens either the default kernel-mode code integrity policy (which protects against bad drivers or system files), or the configurable code integrity policy that you deploy.
With HVCI, even if malware gains access to the kernel, the effects can be severely limited because the hypervisor can prevent the malware from executing code. The hypervisor, the most privileged level of system software, enforces R/W/X permissions across system memory. Code integrity checks are performed in a secure environment which is resistant to attack from kernel mode software, and page permissions for kernel mode are set and maintained by the hypervisor. Even if there are vulnerabilities that allow memory modification, like a buffer overflow, the modified memory cannot be executed.

**Specialized hardware required?** Yes, VBS requires at least CPU virtualization extensions and SLAT, as described in [Hardware, firmware, and software requirements for Windows Defender Device Guard](/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | -| **DMA-based attacks**, for example, attacks launched from a malicious device that reads secrets from memory, making the enterprise more vulnerable to attack | **Virtualization-based security (VBS) using IOMMUs**:  With this type of VBS protection, when the DMA-based attack makes a memory request, IOMMUs will evaluate the request and deny access.

**Specialized hardware required?** Yes, IOMMUs are a hardware feature that supports the hypervisor, and if you choose hardware that includes them, they can help protect against malicious attempts to access memory. | -| **Exposure to boot kits or to a physically present attacker at boot time** | **Universal Extensible Firmware Interface (UEFI) Secure Boot**:   Secure Boot and related methods protect the boot process and firmware from tampering. This tampering can come from a physically present attacker or from forms of malware that run early in the boot process or in the kernel after startup. UEFI is locked down (Boot order, Boot entries, Secure Boot, Virtualization extensions, IOMMU, Microsoft UEFI CA), so the settings in UEFI cannot be changed to compromise Windows Defender Device Guard security.

**Specialized hardware required?** UEFI Secure Boot has firmware requirements. For more information, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). | +As a result, many customers assumed that they couldn’t use configurable CI either. +But configurable CI carries no specific hardware or software requirements other than running Windows 10, which means many customers were wrongly denied the benefits of this powerful application control capability. -In this guide, you learn about the individual features found within Windows Defender Device Guard as well as how to plan for, configure, and deploy them. Windows Defender Device Guard with WDAC is intended for deployment alongside additional threat-mitigating Windows features such as [Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard) and [AppLocker](/windows/security/threat-protection/applocker/applocker-overview). +Since the initial release of Windows 10, the world has witnessed numerous hacking and malware attacks where application control alone could have prevented the attack altogether. So we are promoting configurable CI within our security stack and giving it a name of its own: [Windows Defender Application Control](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control). +We hope this branding change will help us better communicate options for adopting application control within an organization. -## New and changed functionality - -Prior to Windows 10, version 1709, Windows Defender Application Control (WDAC) was known as configurable code integrity policies. - -Beginning with Windows 10, version 1703, you can use WDAC not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps (such as a line-of-business application or a browser). For more information, see [Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control#use-a-windows-defender-application-control-policy-to-control-specific-plug-ins-add-ins-and-modules). - -## Tools for managing Windows Defender Device Guard features - -You can easily manage Windows Defender Device Guard features by using familiar enterprise and client-management tools that IT pros use every day: - - - -- **Group Policy**. Windows 10 provides an administrative template to configure and deploy the configurable WDAC policies for your organization. Another template allows you to specify which hardware-based security features you would like to enable and deploy. You can manage these settings along with your existing Group Policy Objects (GPOs), which makes it simpler to implement Windows Defender Device Guard features. In addition to these WDAC and hardware-based security features, you can use Group Policy to help you manage your catalog files. - - - For a description of catalog files, see the table row describing **Exposure to unsigned code** in [How Windows Defender Device Guard features help protect against threats](#how-windows-defender-device-guard-features-help-protect-against-threats), earlier in this topic. - - For information about using Group Policy as a deployment tool, see:
[Deploy catalog files with Group Policy](/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control#deploy-catalog-files-with-group-policy)
[Deploy and manage WDAC with Group Policy](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control#deploy-and-manage-windows-defender-application-control-with-group-policy) - -- **Microsoft System Center Configuration Manager**. You can use System Center Configuration Manager to simplify deployment and management of catalog files, WDAC policies, and hardware-based security features, as well as provide version control. For more information, see [Deploy catalog files with System Center Configuration Manager](/windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control#deploy-catalog-files-with-system-center-configuration-manager). - -- **Microsoft Intune**. You can use Microsoft Intune to simplify deployment and management of WDAC policies, as well as provide version control. In a future release of Microsoft Intune, Microsoft is considering including features that will support the deployment and management of catalog files. - -- **Windows PowerShell**. You can use Windows PowerShell to create and service WDAC policies. For more information, see [Deploy Windows Defender Application Control: steps](/windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control). - -These options provide the same experience you're used to in order to manage your existing enterprise management solutions. - -For more information about the deployment of Windows Defender Device Guard features, see: -- [Deploy Windows Defender Application Control](/windows/security/threat-protection/device-guard/deploy-windows-defender-application-control) -- [Deploy virtualization-based protection of code integrity](/windows/security/threat-protection/device-guard/deploy-device-guard-enable-virtualization-based-security) - -## Other features that relate to Windows Defender Device Guard - -### Windows Defender Device Guard with AppLocker - -Although [AppLocker](/windows/security/threat-protection/applocker/applocker-overview) is not considered a new Windows Defender Device Guard feature, it complements Windows Defender Device Guard functionality when WDAC cannot be fully implemented or its functionality does not cover every desired scenario. There are many scenarios in which WDAC would be used alongside AppLocker rules. As a best practice, you should enforce WDAC at the most restrictive level possible for your organization, and then you can use AppLocker to fine-tune the restrictions to an even lower level. - -> **Note**  One example of how Windows Defender Device Guard functionality can be enhanced by AppLocker is when you want to apply different policies for different users on the same device. For example, you may allow your IT support personnel to run additional apps that you do not allow for your end-users. You can accomplish this user-specific enforcement by using an AppLocker rule. - -AppLocker and Windows Defender Device Guard should run side-by-side in your organization, which offers the best of both security features at the same time and provides the most comprehensive security to as many devices as possible. In addition to these features, we recommend that you continue to maintain an enterprise antivirus solution for a well-rounded enterprise security portfolio. - -### Windows Defender Device Guard with Windows Defender Credential Guard - -Another Windows 10 feature that employs VBS is [Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard). Windows Defender Credential Guard provides additional protection to Active Directory domain users by storing domain credentials within the same type of VBS virtualization container that hosts code integrity when HVCI is enabled. By isolating these domain credentials from the active user mode and kernel mode, they have a much lower risk of being stolen. For more information about Windows Defender Credential Guard (which is not a feature within Windows Defender Device Guard), see [Protect derived domain credentials with Windows Defender Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard). - -Windows Defender Credential Guard is targeted at resisting pass-the-hash and pass-the-ticket techniques. By employing multifactor authentication with Windows Defender Credential Guard, organizations can gain additional protection against such threats. +Does this mean Windows Defender Device Guard is going away? Not at all. Device Guard will continue to exist as a way to describe the fully locked down state achieved through the use of Windows Defender Application Control (WDAC), [HVCI](https://docs.microsoft.com/windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity), and hardware and firmware security features. It also allows us to work with our OEM partners to identify specifications for devices that are “Device Guard capable” so that our joint customers can easily purchase devices that meet all of the hardware and firmware requirements of the original Device Guard scenario. ## Related topics +- [Windows Defender Application Control](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control) + +- [HVCI](https://docs.microsoft.com/windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity) + [Dropping the Hammer Down on Malware Threats with Windows 10’s Windows Defender Device Guard](https://channel9.msdn.com/Events/Ignite/2015/BRK2336) [Driver compatibility with Windows Defender Device Guard in Windows 10](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10) -[AppLocker overview](/windows/device-security/applocker/applocker-overview) - -[Protect derived domain credentials with Windows Defender Credential Guard](/windows/access-protection/credential-guard/credential-guard) - - - [Code integrity](https://technet.microsoft.com/library/dd348642.aspx) From 3d1dac17b02254063429a1bbdb2ee2832267af5c Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 19 Apr 2018 11:33:21 -0700 Subject: [PATCH 083/212] removed links --- .openpublishing.redirection.json | 5 +++ ...ion-control-policies-using-group-policy.md | 12 ++---- ...er-application-control-deployment-guide.md | 40 +++++++------------ 3 files changed, 23 insertions(+), 34 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 19546735ca..5b9ace0656 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1,6 +1,11 @@ { "redirections": [ { +"source_path": "windows/security/threat-protection/device-guard/device-guard-deployment-guide.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", +"redirect_document_id": true +}, +{ "source_path": "windows/threat-protection/windows-defender-smartscreen/windows-defender-smartscreen-available-settings.md", "redirect_url": "/windows/security/threat-protection/windows-defender-smartscreen/windows-defender-smartscreen-available-settings", "redirect_document_id": true diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md index 165a7da434..a8c0e32665 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy.md @@ -27,17 +27,15 @@ WDAC policies can easily be deployed and managed with Group Policy. A Windows De To deploy and manage a WDAC policy with Group Policy: -1. On a domain controller on a client computer on which RSAT is installed, open the GPMC by running **GPMC.MSC** or searching for “Group Policy Management” in Windows Search. +1. On a client computer on which RSAT is installed, open the GPMC by running **GPMC.MSC** -2. Create a new GPO: right-click an OU and then click **Create a GPO in this domain, and Link it here**, as shown in Figure 3. +2. Create a new GPO: right-click an OU and then click **Create a GPO in this domain, and Link it here**. > [!NOTE] > You can use any OU name. Also, security group filtering is an option when you consider different ways of combining WDAC policies (or keeping them separate), as discussed in [Plan for Windows Defender Application Control policy management](plan-windows-defender-application-control-management.md). ![Group Policy Management, create a GPO](images/dg-fig24-creategpo.png) - Figure 3. Create a GPO - 3. Name the new GPO. You can choose any name. 4. Open the Group Policy Management Editor: right-click the new GPO, and then click **Edit**. @@ -46,19 +44,15 @@ To deploy and manage a WDAC policy with Group Policy: ![Edit the Group Policy for Windows Defender Application Control](images/wdac-edit-gp.png) - Figure 4. Edit the Group Policy for Windows Defender Application Control - 6. In the **Deploy Windows Defender Application Control** dialog box, select the **Enabled** option, and then specify the code integrity policy deployment path. - In this policy setting, you specify either the local path in which the policy will exist on the client computer or a Universal Naming Convention (UNC) path that the client computers will look to retrieve the latest version of the policy. For example, with DeviceGuardPolicy.bin on the test computer, the example file path would be C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin, as shown in Figure 5. + In this policy setting, you specify either the local path in which the policy will exist on the client computer or a Universal Naming Convention (UNC) path that the client computers will look to retrieve the latest version of the policy. For example, with DeviceGuardPolicy.bin on the test computer, the example file path would be C:\\Windows\\System32\\CodeIntegrity\\DeviceGuardPolicy.bin. > [!NOTE] > This policy file does not need to be copied to every computer. You can instead copy the WDAC policies to a file share to which all computer accounts have access. Any policy selected here is converted to SIPolicy.p7b when it is deployed to the individual client computers. ![Group Policy called Deploy Windows Defender Application Control](images/dg-fig26-enablecode.png) - Figure 5. Enable the Windows Defender Application Control policy - > [!NOTE] > You may have noticed that the GPO setting references a .p7b file and this example uses a .bin file for the policy. Regardless of the type of policy you deploy (.bin, .p7b, or .p7), they are all converted to SIPolicy.p7b when dropped on the client computer running Windows 10. Make your WDAC policies friendly and allow the system to convert the policy names for you to ensure that the policies are easily distinguishable when viewed in a share or any other central repository. diff --git a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md index 980f8521c6..a4d05d50a0 100644 --- a/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide.md @@ -15,15 +15,16 @@ ms.date: 02/27/2018 - Windows 10 - Windows Server 2016 -This topic provides a roadmap for planning and getting started on the Windows Defender Application Control (WDAC) deployment process, with links to topics that provide additional detail. Planning for WDAC deployment involves looking at both the end-user and the IT pro impact of your choices. Use the following steps to guide you. +This topic provides a roadmap for planning and getting started on the Windows Defender Application Control (WDAC) deployment process, with links to topics that provide additional detail. Planning for WDAC deployment involves looking at both the end-user and the IT pro impact of your choices. ## Planning -1. **Review requirements, especially hardware requirements for VBS**. Review the virtualization-based security (VBS) features and corresponding hardware, firmware, and software requirements. +1. Review requirements, especially hardware requirements for VBS. -2. **Group devices by degree of control needed**. [Group devices](types-of-devices.md). Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. +2. Group devices by degree of control needed. Do most devices fit neatly into a few categories, or are they scattered across all categories? Are users allowed to install any application or must they choose from a list? Are users allowed to use their own peripheral devices?
Deployment is simpler if everything is locked down in the same way, but meeting individual departments’ needs, and working with a wide variety of devices, may require a more complicated and flexible deployment. + +3. Review how much variety in software and hardware is needed by roles or departments. The following questions can help you clarify how many WDAC policies to create: -3. **Review how much variety in software and hardware is needed by roles or departments**. When several departments all use the same hardware and software, you might need to deploy only one Windows Defender Application Control (WDAC) policy for them. More variety across departments might mean you need to create and manage more WDAC policies. The following questions can help you clarify how many WDAC policies to create: - How standardized is the hardware?
This can be relevant because of drivers. You could create a WDAC policy on hardware that uses a particular set of drivers, and if other drivers in your environment use the same signature, they would also be allowed to run. However, you might need to create several WDAC policies on different "reference" hardware, then merge the policies together, to ensure that the resulting policy recognizes all the drivers in your environment. - What software does each department or role need? Should they be able to install and run other departments’ software?
If multiple departments are allowed to run the same list of software, you might be able to merge several WDAC policies to simplify management. @@ -33,42 +34,31 @@ This topic provides a roadmap for planning and getting started on the Windows De - Is there already a list of accepted applications?
A list of accepted applications can be used to help create a baseline WDAC policy.
As of Windows 10, version 1703, it might also be useful to have a list of plug-ins, add-ins, or modules that you want to allow only in a specific app (such as a line-of-business app). Similarly, it might be useful to have a list of plug-ins, add-ins, or modules that you want to block in a specific app (such as a browser). - As part of a threat review process, have you reviewed systems for software that can load arbitrary DLLs or run code or scripts? - In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. You can also fine-tune your control by using Windows Defender Application Control in combination with AppLocker, as described in [Windows Defender Device Guard with AppLocker](windows-defender-application-control-and-applocker.md). - + In day-to-day operations, your organization’s security policy may allow certain applications, code, or scripts to run on your systems depending on their role and the context. However, if your security policy requires that you run only trusted applications, code, and scripts on your systems, you may decide to lock these systems down securely with Windows Defender Application Control policies. + Legitimate applications from trusted vendors provide valid functionality. However, an attacker could also potentially use that same functionality to run malicious executable code that could bypass WDAC. For operational scenarios that require elevated security, certain applications with known Code Integrity bypasses may represent a security risk if you whitelist them in your WDAC policies. Other applications where older versions of the application had vulnerabilities also represent a risk. Therefore, you may want to deny or block such applications from your WDAC policies. For applications with vulnerabilities, once the vulnerabilities are fixed you can create a rule that only allows the fixed or newer versions of that application. The decision to allow or block applications depends on the context and on how the reference system is being used. Security professionals collaborate with Microsoft continuously to help protect customers. With the help of their valuable reports, Microsoft has identified a list of known applications that an attacker could potentially use to bypass Windows Defender Application Control. Depending on the context, you may want to block these applications. To view this list of applications and for use case examples, such as disabling msbuild.exe, see [Microsoft recommended block rules](microsoft-recommended-block-rules.md). - - - - - -4. **Identify LOB applications that are currently unsigned**. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. For more background information about catalog files, see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). +4. Identify LOB applications that are currently unsigned. Although requiring signed code (through WDAC) protects against many threats, your organization might use unsigned LOB applications, for which the process of signing might be difficult. You might also have applications that are signed, but you want to add a secondary signature to them. If so, identify these applications, because you will need to create a catalog file for them. ## Getting started on the deployment process -1. **Optionally, create a signing certificate for Windows Defender Application Control**. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to create a code signing certificate. For more information, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-windows-defender-application-control.md). +1. Optionally, create a signing certificate for Windows Defender Application Control. As you deploy WDAC, you might need to sign catalog files or WDAC policies internally. To do this, you will either need a publicly issued code signing certificate (that you purchase) or an internal CA. If you choose to use an internal CA, you will need to [create a code signing certificate](create-code-signing-cert-for-windows-defender-application-control.md). -2. **Create WDAC policies from “golden” computers**. When you have identified departments or roles that use distinctive or partly-distinctive sets of hardware and software, you can set up “golden” computers containing that software and hardware. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each “golden” computer, you can create a WDAC policy, and decide how to manage that policy. You can merge WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. For more information, see: - - [Deploy Windows Defender Application Control: policy rules and file rules](select-types-of-rules-to-create.md) - - [Merge WDAC policies](merge-windows-defender-application-control-policies.md)
+2. Create WDAC policies from reference computers. In this respect, creating and managing WDAC policies to align with the needs of roles or departments can be similar to managing corporate images. From each reference computer, you can create a WDAC policy, and decide how to manage that policy. You can [merge](merge-windows-defender-application-control-policies.md) WDAC policies to create a broader policy or a master policy, or you can manage and deploy each policy individually. -3. **Audit the WDAC policy and capture information about applications that are outside the policy**. We recommend that you use “audit mode” to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. For more information, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). +3. Audit the WDAC policy and capture information about applications that are outside the policy. We recommend that you use [audit mode](audit-windows-defender-application-control-policies.md) to carefully test each WDAC policy before you enforce it. With audit mode, no application is blocked—the policy just logs an event whenever an application outside the policy is started. Later, you can expand the policy to allow these applications, as needed. -4. **Create a “catalog file” for unsigned LOB applications**. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. For more information, review step 4 **Identify LOB applications that are currently unsigned**, earlier in this list, and see [Deploy catalog files to support Windows Defender Application Control](deploy-catalog-files-to-support-windows-defender-application-control.md). In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. +4. Create a [catalog file](deploy-catalog-files-to-support-windows-defender-application-control.md) for unsigned LOB applications. Use the Package Inspector tool to create and sign a catalog file for your unsigned LOB applications. In later steps, you can merge the catalog file's signature into your WDAC policy, so that applications in the catalog will be allowed by the policy. -6. **Capture needed policy information from the event log, and merge information into the existing policy as needed**. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. For more information, see: - - [Create a Windows Defender Application Control policy that captures audit information from the event log](windows-defender-application-control-deployment-guide.md) - - [Merge Windows Defender Application Control policies](merge-windows-defender-application-control-policies.md)
+6. Capture needed policy information from the event log, and merge information into the existing policy as needed. After a WDAC policy has been running for a time in audit mode, the event log will contain information about applications that are outside the policy. To expand the policy so that it allows for these applications, use Windows PowerShell commands to capture the needed policy information from the event log, and then merge that information into the existing policy. You can merge WDAC policies from other sources also, for flexibility in how you create your final WDAC policies. -7. **Deploy WDAC policies and catalog files**. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. For more information, see: - - [Enforce Windows Defender Application Control policies](enforce-windows-defender-application-control-policies.md) - - [Deploy and manage Windows Defender Application Control with Group Policy](deploy-windows-defender-application-control-policies-using-group-policy.md)
+7. Deploy WDAC policies and catalog files. After you confirm that you have completed all the preceding steps, you can begin deploying catalog files and taking WDAC policies out of auditing mode. We strongly recommend that you begin this process with a test group of users. This provides a final quality-control validation before you deploy the catalog files and WDAC policies more broadly. -8. **Enable desired virtualization-based security (VBS) features**. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by [Windows Defender Application Control](windows-defender-application-control.md). +8. Enable desired virtualization-based security (VBS) features. Hardware-based security features—also called virtualization-based security (VBS) features—strengthen the protections offered by Windows Defender Application Control. > [!WARNING] > Virtualization-based protection of code integrity may be incompatible with some devices and applications. We strongly recommend testing this configuration in your lab before enabling virtualization-based protection of code integrity on production systems. Failure to do so may result in unexpected failures up to and including data loss or a blue screen error (also called a stop error). From 02fb6ffcd363d93a16cc15dc2d8cbbefe8a5405c Mon Sep 17 00:00:00 2001 From: Maricia Alforque Date: Thu, 19 Apr 2018 19:14:41 +0000 Subject: [PATCH 084/212] Merged PR 7314: DeviceLock/EnforceLockScreenAndLogonImage in Policy CSP Updated SKU support information --- .../mdm/policy-csp-devicelock.md | 2 +- .../mdm/policy-csp-privacy.md | 58 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-devicelock.md b/windows/client-management/mdm/policy-csp-devicelock.md index 4ffde366c7..0a7c86e017 100644 --- a/windows/client-management/mdm/policy-csp-devicelock.md +++ b/windows/client-management/mdm/policy-csp-devicelock.md @@ -547,7 +547,7 @@ The following list shows the supported values: cross mark cross mark - + check mark1 check mark1 check mark1 cross mark diff --git a/windows/client-management/mdm/policy-csp-privacy.md b/windows/client-management/mdm/policy-csp-privacy.md index 932edbd301..18b6e20034 100644 --- a/windows/client-management/mdm/policy-csp-privacy.md +++ b/windows/client-management/mdm/policy-csp-privacy.md @@ -6,7 +6,7 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: nickbrower -ms.date: 03/12/2018 +ms.date: 04/19/2018 --- # Policy CSP - Privacy @@ -3352,13 +3352,13 @@ ADMX Info: Mobile Enterprise - check mark1 - check mark1 - - check mark1 - check mark1 - check mark1 - check mark1 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 @@ -3404,13 +3404,13 @@ ADMX Info: Mobile Enterprise - check mark1 - check mark1 - - check mark1 - check mark1 - check mark1 - check mark1 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 @@ -3456,13 +3456,13 @@ ADMX Info: Mobile Enterprise - check mark1 - check mark1 - - check mark1 - check mark1 - check mark1 - check mark1 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 @@ -3508,13 +3508,13 @@ ADMX Info: Mobile Enterprise - check mark1 - check mark1 - - check mark1 - check mark1 - check mark1 - check mark1 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 + check mark2 From 8c8eced8d0c5e7e82837fb2e1611a275ddb3ede4 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 19 Apr 2018 14:14:41 -0700 Subject: [PATCH 085/212] fixed redirects for device guard --- .openpublishing.redirection.json | 57 +++- .../TOC.md | 2 +- .../create-initial-default-policy.md | 2 - .../enable-virtualization-based-security.md | 294 ++++++++++++++++++ 4 files changed, 351 insertions(+), 4 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 5b9ace0656..0641ab2400 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1,11 +1,66 @@ { "redirections": [ { -"source_path": "windows/security/threat-protection/device-guard/device-guard-deployment-guide.md", +"source_path": "windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md", +"redirect_url": "/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md", "redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", "redirect_document_id": true }, { +"source_path": "windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/deploy-windows-defender-application-control-policy-rules-and-file-rules.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-from-a-reference-computer", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/deploy-catalog-files-to-support-windows-defender-application-control.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/deploy-managed-installer-for-device-guard.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/use-windows-defender-application-control-with-managed-installer", +"redirect_document_id": true +}, +{ +"source_path": "windows/security/threat-protection/device-guard/device-guard-deployment-enable-virtualization-based-security.md", +"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security", +"redirect_document_id": true +}, +{ "source_path": "windows/threat-protection/windows-defender-smartscreen/windows-defender-smartscreen-available-settings.md", "redirect_url": "/windows/security/threat-protection/windows-defender-smartscreen/windows-defender-smartscreen-available-settings", "redirect_document_id": true diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index e4a27f7b01..650e16c235 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -32,7 +32,7 @@ ### [Use signed policies to protect Windows Defender Application Control against tampering](use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md) #### [Signing WDAC policies with SignTool.exe](signing-policies-with-signtool.md) ### [Disable WDAC policies](disable-windows-defender-application-control-policies.md) - +### [Enable VBS](enable-virtualization-based-security.md) ## [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md index a23dfb0c0d..7124f2aeae 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md @@ -26,8 +26,6 @@ The policy file is converted to binary format when it gets created so that Windo > [!Note] > Make sure the reference computer is virus and malware-free, and install any software you want to be scanned before creating the WDAC policy. -## Scripting and applications - Each installed software application should be validated as trustworthy before you create a policy. We recommend that you review the reference computer for software that can load arbitrary DLLs and run code or scripts that could render the PC more vulnerable. Examples include software aimed at development or scripting such as msbuild.exe (part of Visual Studio and the .NET Framework) which can be removed if you do not want to run scripts. diff --git a/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md b/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md new file mode 100644 index 0000000000..ab3baf28eb --- /dev/null +++ b/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md @@ -0,0 +1,294 @@ +--- +title: Deploy Windows Defender Device Guard - enable virtualization-based security (Windows 10) +description: This article describes how to enable virtualization-based security, one of the main features that are part of Windows Defender Device Guard in Windows 10. +keywords: virtualization, security, malware +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: high +author: brianlic-msft +ms.date: 10/20/2017 +--- + +# Enable virtualization-based protection of code integrity + +**Applies to** +- Windows 10 +- Windows Server 2016 + +Virtualization-based protection of code integrity (herein referred to as Hypervisor-protected Code Integrity, or HVCI) is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. When used with Windows Defender Application Control (WDAC), HVCI helps achieve a locked down configuration state known as Windows Defender Device Guard that can block many types of malware from running on computers running Windows 10 and Windows Server 2016. + +> [!NOTE] +> Some applications, including device drivers, may be incompatible with HVCI. This can cause devices or software to malfunction and in rare cases may result in a Blue Screen. Such issues may occur after HVCI has been turned on or during the enablement process itself. We recommend testing thoroughly before enabling HVCI on production systems. + +Use the following procedure to enable virtualization-based protection of code integrity: + +1. **Decide whether to use the procedures in this topic, or to use the Windows Defender Device Guard readiness tool**. To enable HVCI, you can use [the Device Guard and Credential Guard hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or follow the procedures in this topic. + +2. **Verify that hardware and firmware requirements are met**. Verify that your client computers have the hardware and firmware to run HVCI. For a list of requirements, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). + +3. **Enable the necessary Windows features**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Windows feature requirements for virtualization-based security](#windows-feature-requirements-for-virtualization-based-protection-of-code-integrity). + +4. **Enable additional features as desired**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Enable virtualization-based protection of code integrity](#enable-virtualization-based-protection-of-code-integrity). + +## Windows feature requirements for virtualization-based protection of code integrity + +Make sure these operating system features are enabled before you can enable HVCI: + +- Beginning with Windows 10, version 1607 or Windows Server 2016:
+Hyper-V Hypervisor, which is enabled automatically. No further action is needed. + +- With an earlier version of Windows 10:
+Hyper-V Hypervisor and Isolated User Mode (shown in Figure 1). +  +![Turn Windows features on or off](images/dg-fig1-enableos.png) + +**Figure 1. Enable operating system features for HVCI, Windows 10, version 1511** + +> [!NOTE] +> You can configure these features by using Group Policy or Dism.exe, or manually by using Windows PowerShell or the Windows Features dialog box. + +## Enable virtualization-based protection of code integrity + +If you don't want to use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337), you can use Group Policy or the Registry to enable HVCI. + +### Use Group Policy to enable virtualization-based protection of code integrity + +1. To create a new GPO, right-click the OU where you want to link the GPO, and then click **Create a GPO in this domain, and Link it here**. + + ![Group Policy Management, create a GPO](images/dg-fig2-createou.png) + + Figure 2. Create a new OU-linked GPO + +2. Give the new GPO a name, then right-click the new GPO, and click **Edit**. + +4. Within the selected GPO, navigate to Computer Configuration\\Policies\\Administrative Templates\\System\\Device Guard. Right-click **Turn On Virtualization Based Security**, and then click **Edit**. + + ![Edit the group policy for Virtualization Based Security](images/dg-fig3-enablevbs.png) + + Figure 3. Enable virtualization-based security (VBS) + +5. Select the **Enabled** button. For **Select Platform Security Level**: + + - **Secure Boot** provides as much protection as a computer’s hardware can support. If the computer does not have input/output memory management units (IOMMUs), enable **Secure Boot**. + - **Secure Boot with DMA** enables Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). + + For **Virtualization Based Protection of Code Integrity**: + + - Beginning with Windows 10, version 1607 and Windows Server 2016:
For an initial deployment or test deployment, we recommend **Enabled without lock**.
When your deployment is stable, we recommend changing to **Enabled with UEFI lock**. This option helps protect the registry from tampering, either through malware or by an unauthorized person. + + - With earlier versions of Windows 10:
Select the **Enable Virtualization Based Protection of Code Integrity** check box. + + ![Group Policy, Turn On Virtualization Based Security](images/dg-fig7-enablevbsofkmci.png) + + Figure 5. Configure HVCI, Lock setting (in Windows 10, version 1607) + +7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. The settings will take effect upon restart. + +8. Check Device Guard logs in Event Viewer at **Applications and Services Logs\\Microsoft\\Windows\\DeviceGuard-GPEXT\\Operational** for Event ID 7000, which contains the selected settings within a GPO that has been successfully processed. This event is logged only when Group Policy is used. + +### Use registry keys to enable virtualization-based protection of code integrity + +Set the following registry keys to enable HVCI. This provides exactly the same set of configuration options provided by Group Policy. + + + +> [!IMPORTANT] +> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
+> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. + +#### For Windows 1607 and above + +Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): + +``` commands +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f +``` + +If you want to customize the preceding recommended settings, use the following settings. + +**To enable VBS** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f +``` + +**To enable VBS and require Secure boot only (value 1)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f +``` + +> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. + +**To enable VBS without UEFI lock (value 0)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f +``` + +> To enable **VBS with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. + +**To enable virtualization-based protection of Code Integrity policies** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f +``` + +**To enable virtualization-based protection of Code Integrity policies without UEFI lock (value 0)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f +``` + +> To enable **virtualization-based protection of Code Integrity policies with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. + +#### For Windows 1511 and below + +Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f +``` + +If you want to customize the preceding recommended settings, use the following settings. + +**To enable VBS (it is always locked to UEFI)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f +``` + +**To enable VBS and require Secure boot only (value 1)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f +``` + +> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. + +**To enable virtualization-based protection of Code Integrity policies (with the default, UEFI lock)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f +``` + +**To enable virtualization-based protection of Code Integrity policies without UEFI lock** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f +``` + +### Validate enabled Windows Defender Device Guard hardware-based security features + +Windows 10 and Windows Server 2016 have a WMI class for related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: + +` Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard` + +> [!NOTE] +> The *Win32\_DeviceGuard* WMI class is only available on the Enterprise edition of Windows 10. + +The output of this command provides details of the available hardware-based security features as well as those features that are currently enabled. + +#### AvailableSecurityProperties + +This field helps to enumerate and report state on the relevant security properties for Windows Defender Device Guard. + +| Value | Description | +|--------|-------------| +| **0.** | If present, no relevant properties exist on the device. | +| **1.** | If present, hypervisor support is available. | +| **2.** | If present, Secure Boot is available. | +| **3.** | If present, DMA protection is available. | +| **4.** | If present, Secure Memory Overwrite is available. | +| **5.** | If present, NX protections are available. | +| **6.** | If present, SMM mitigations are available. | + +> [!NOTE] +> 4, 5, and 6 were added as of Windows 10, version 1607. + +#### InstanceIdentifier + +A string that is unique to a particular device. Valid values are determined by WMI. + +#### RequiredSecurityProperties + +This field describes the required security properties to enable virtualization-based security. + +| Value | Description | +|--------|-------------| +| **0.** | Nothing is required. | +| **1.** | If present, hypervisor support is needed. | +| **2.** | If present, Secure Boot is needed. | +| **3.** | If present, DMA protection is needed. | +| **4.** | If present, Secure Memory Overwrite is needed. | +| **5.** | If present, NX protections are needed. | +| **6.** | If present, SMM mitigations are needed. | + +> [!NOTE] +> 4, 5, and 6 were added as of Windows 10, version 1607. + +#### SecurityServicesConfigured + +This field indicates whether the Windows Defender Credential Guard or HVCI service has been configured. + +| Value | Description | +|--------|-------------| +| **0.** | No services configured. | +| **1.** | If present, Windows Defender Credential Guard is configured. | +| **2.** | If present, HVCI is configured. | + +#### SecurityServicesRunning + +This field indicates whether the Windows Defender Credential Guard or HVCI service is running. + +| Value | Description | +|--------|-------------| +| **0.** | No services running. | +| **1.** | If present, Windows Defender Credential Guard is running. | +| **2.** | If present, HVCI is running. | + + +#### Version + +This field lists the version of this WMI class. The only valid value now is **1.0**. + +#### VirtualizationBasedSecurityStatus + +This field indicates whether VBS is enabled and running. + +| Value | Description | +|--------|-------------| +| **0.** | VBS is not enabled. | +| **1.** | VBS is enabled but not running. | +| **2.** | VBS is enabled and running. | + + +#### PSComputerName + +This field lists the computer name. All valid values for computer name. + +Another method to determine the available and enabled Windows Defender Device Guard features is to run msinfo32.exe from an elevated PowerShell session. When you run this program, the Windows Defender Device Guard properties are displayed at the bottom of the **System Summary** section, as shown in Figure 6. + +![Windows Defender Device Guard properties in the System Summary](images/dg-fig11-dgproperties.png) + +Figure 6. Windows Defender Device Guard properties in the System Summary + +## Related topics + +- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) + +- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) From 9c1a0c81302b131620d1e4d26d43215d1aa72693 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 19 Apr 2018 14:49:09 -0700 Subject: [PATCH 086/212] fixed redirects for device guard --- .../TOC.md | 1 - .../enable-virtualization-based-security.md | 294 ------------------ ...tion-based-protection-of-code-integrity.md | 203 ++++++++++-- 3 files changed, 185 insertions(+), 313 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index 650e16c235..b93f453c1b 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -32,7 +32,6 @@ ### [Use signed policies to protect Windows Defender Application Control against tampering](use-signed-policies-to-protect-windows-defender-application-control-against-tampering.md) #### [Signing WDAC policies with SignTool.exe](signing-policies-with-signtool.md) ### [Disable WDAC policies](disable-windows-defender-application-control-policies.md) -### [Enable VBS](enable-virtualization-based-security.md) ## [Windows Defender Application Control and AppLocker](windows-defender-application-control-and-applocker.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md b/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md deleted file mode 100644 index ab3baf28eb..0000000000 --- a/windows/security/threat-protection/windows-defender-application-control/enable-virtualization-based-security.md +++ /dev/null @@ -1,294 +0,0 @@ ---- -title: Deploy Windows Defender Device Guard - enable virtualization-based security (Windows 10) -description: This article describes how to enable virtualization-based security, one of the main features that are part of Windows Defender Device Guard in Windows 10. -keywords: virtualization, security, malware -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: high -author: brianlic-msft -ms.date: 10/20/2017 ---- - -# Enable virtualization-based protection of code integrity - -**Applies to** -- Windows 10 -- Windows Server 2016 - -Virtualization-based protection of code integrity (herein referred to as Hypervisor-protected Code Integrity, or HVCI) is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. When used with Windows Defender Application Control (WDAC), HVCI helps achieve a locked down configuration state known as Windows Defender Device Guard that can block many types of malware from running on computers running Windows 10 and Windows Server 2016. - -> [!NOTE] -> Some applications, including device drivers, may be incompatible with HVCI. This can cause devices or software to malfunction and in rare cases may result in a Blue Screen. Such issues may occur after HVCI has been turned on or during the enablement process itself. We recommend testing thoroughly before enabling HVCI on production systems. - -Use the following procedure to enable virtualization-based protection of code integrity: - -1. **Decide whether to use the procedures in this topic, or to use the Windows Defender Device Guard readiness tool**. To enable HVCI, you can use [the Device Guard and Credential Guard hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or follow the procedures in this topic. - -2. **Verify that hardware and firmware requirements are met**. Verify that your client computers have the hardware and firmware to run HVCI. For a list of requirements, see [Hardware, firmware, and software requirements for Windows Defender Device Guard](requirements-and-deployment-planning-guidelines-for-device-guard.md#hardware-firmware-and-software-requirements-for-windows-defender-device-guard). - -3. **Enable the necessary Windows features**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Windows feature requirements for virtualization-based security](#windows-feature-requirements-for-virtualization-based-protection-of-code-integrity). - -4. **Enable additional features as desired**. You can use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337) or see [Enable virtualization-based protection of code integrity](#enable-virtualization-based-protection-of-code-integrity). - -## Windows feature requirements for virtualization-based protection of code integrity - -Make sure these operating system features are enabled before you can enable HVCI: - -- Beginning with Windows 10, version 1607 or Windows Server 2016:
-Hyper-V Hypervisor, which is enabled automatically. No further action is needed. - -- With an earlier version of Windows 10:
-Hyper-V Hypervisor and Isolated User Mode (shown in Figure 1). -  -![Turn Windows features on or off](images/dg-fig1-enableos.png) - -**Figure 1. Enable operating system features for HVCI, Windows 10, version 1511** - -> [!NOTE] -> You can configure these features by using Group Policy or Dism.exe, or manually by using Windows PowerShell or the Windows Features dialog box. - -## Enable virtualization-based protection of code integrity - -If you don't want to use the [hardware readiness tool](https://www.microsoft.com/en-us/download/details.aspx?id=53337), you can use Group Policy or the Registry to enable HVCI. - -### Use Group Policy to enable virtualization-based protection of code integrity - -1. To create a new GPO, right-click the OU where you want to link the GPO, and then click **Create a GPO in this domain, and Link it here**. - - ![Group Policy Management, create a GPO](images/dg-fig2-createou.png) - - Figure 2. Create a new OU-linked GPO - -2. Give the new GPO a name, then right-click the new GPO, and click **Edit**. - -4. Within the selected GPO, navigate to Computer Configuration\\Policies\\Administrative Templates\\System\\Device Guard. Right-click **Turn On Virtualization Based Security**, and then click **Edit**. - - ![Edit the group policy for Virtualization Based Security](images/dg-fig3-enablevbs.png) - - Figure 3. Enable virtualization-based security (VBS) - -5. Select the **Enabled** button. For **Select Platform Security Level**: - - - **Secure Boot** provides as much protection as a computer’s hardware can support. If the computer does not have input/output memory management units (IOMMUs), enable **Secure Boot**. - - **Secure Boot with DMA** enables Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats). - - For **Virtualization Based Protection of Code Integrity**: - - - Beginning with Windows 10, version 1607 and Windows Server 2016:
For an initial deployment or test deployment, we recommend **Enabled without lock**.
When your deployment is stable, we recommend changing to **Enabled with UEFI lock**. This option helps protect the registry from tampering, either through malware or by an unauthorized person. - - - With earlier versions of Windows 10:
Select the **Enable Virtualization Based Protection of Code Integrity** check box. - - ![Group Policy, Turn On Virtualization Based Security](images/dg-fig7-enablevbsofkmci.png) - - Figure 5. Configure HVCI, Lock setting (in Windows 10, version 1607) - -7. Close the Group Policy Management Editor, and then restart the Windows 10 test computer. The settings will take effect upon restart. - -8. Check Device Guard logs in Event Viewer at **Applications and Services Logs\\Microsoft\\Windows\\DeviceGuard-GPEXT\\Operational** for Event ID 7000, which contains the selected settings within a GPO that has been successfully processed. This event is logged only when Group Policy is used. - -### Use registry keys to enable virtualization-based protection of code integrity - -Set the following registry keys to enable HVCI. This provides exactly the same set of configuration options provided by Group Policy. - - - -> [!IMPORTANT] -> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
-> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. - -#### For Windows 1607 and above - -Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): - -``` commands -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f -``` - -If you want to customize the preceding recommended settings, use the following settings. - -**To enable VBS** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f -``` - -**To enable VBS and require Secure boot only (value 1)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f -``` - -> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. - -**To enable VBS without UEFI lock (value 0)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f -``` - -> To enable **VBS with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. - -**To enable virtualization-based protection of Code Integrity policies** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f -``` - -**To enable virtualization-based protection of Code Integrity policies without UEFI lock (value 0)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f -``` - -> To enable **virtualization-based protection of Code Integrity policies with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. - -#### For Windows 1511 and below - -Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - -If you want to customize the preceding recommended settings, use the following settings. - -**To enable VBS (it is always locked to UEFI)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f -``` - -**To enable VBS and require Secure boot only (value 1)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f -``` - -> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. - -**To enable virtualization-based protection of Code Integrity policies (with the default, UEFI lock)** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f -``` - -**To enable virtualization-based protection of Code Integrity policies without UEFI lock** - -``` command -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - -### Validate enabled Windows Defender Device Guard hardware-based security features - -Windows 10 and Windows Server 2016 have a WMI class for related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: - -` Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard` - -> [!NOTE] -> The *Win32\_DeviceGuard* WMI class is only available on the Enterprise edition of Windows 10. - -The output of this command provides details of the available hardware-based security features as well as those features that are currently enabled. - -#### AvailableSecurityProperties - -This field helps to enumerate and report state on the relevant security properties for Windows Defender Device Guard. - -| Value | Description | -|--------|-------------| -| **0.** | If present, no relevant properties exist on the device. | -| **1.** | If present, hypervisor support is available. | -| **2.** | If present, Secure Boot is available. | -| **3.** | If present, DMA protection is available. | -| **4.** | If present, Secure Memory Overwrite is available. | -| **5.** | If present, NX protections are available. | -| **6.** | If present, SMM mitigations are available. | - -> [!NOTE] -> 4, 5, and 6 were added as of Windows 10, version 1607. - -#### InstanceIdentifier - -A string that is unique to a particular device. Valid values are determined by WMI. - -#### RequiredSecurityProperties - -This field describes the required security properties to enable virtualization-based security. - -| Value | Description | -|--------|-------------| -| **0.** | Nothing is required. | -| **1.** | If present, hypervisor support is needed. | -| **2.** | If present, Secure Boot is needed. | -| **3.** | If present, DMA protection is needed. | -| **4.** | If present, Secure Memory Overwrite is needed. | -| **5.** | If present, NX protections are needed. | -| **6.** | If present, SMM mitigations are needed. | - -> [!NOTE] -> 4, 5, and 6 were added as of Windows 10, version 1607. - -#### SecurityServicesConfigured - -This field indicates whether the Windows Defender Credential Guard or HVCI service has been configured. - -| Value | Description | -|--------|-------------| -| **0.** | No services configured. | -| **1.** | If present, Windows Defender Credential Guard is configured. | -| **2.** | If present, HVCI is configured. | - -#### SecurityServicesRunning - -This field indicates whether the Windows Defender Credential Guard or HVCI service is running. - -| Value | Description | -|--------|-------------| -| **0.** | No services running. | -| **1.** | If present, Windows Defender Credential Guard is running. | -| **2.** | If present, HVCI is running. | - - -#### Version - -This field lists the version of this WMI class. The only valid value now is **1.0**. - -#### VirtualizationBasedSecurityStatus - -This field indicates whether VBS is enabled and running. - -| Value | Description | -|--------|-------------| -| **0.** | VBS is not enabled. | -| **1.** | VBS is enabled but not running. | -| **2.** | VBS is enabled and running. | - - -#### PSComputerName - -This field lists the computer name. All valid values for computer name. - -Another method to determine the available and enabled Windows Defender Device Guard features is to run msinfo32.exe from an elevated PowerShell session. When you run this program, the Windows Defender Device Guard properties are displayed at the bottom of the **System Summary** section, as shown in Figure 6. - -![Windows Defender Device Guard properties in the System Summary](images/dg-fig11-dgproperties.png) - -Figure 6. Windows Defender Device Guard properties in the System Summary - -## Related topics - -- [Introduction to Windows Defender Device Guard: virtualization-based security and Windows Defender Application Control](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) - -- [Deploy Windows Defender Application Control](deploy-windows-defender-application-control.md) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 7b32dbf0d8..1368e5124b 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -6,7 +6,7 @@ ms.mktglfcycl: deploy ms.localizationpriority: high ms.author: justinha author: brianlic-msft -ms.date: 11/28/2017 +ms.date: 04/19/2018 --- # Enable virtualization-based protection of code integrity @@ -31,6 +31,7 @@ To enable HVCI on Windows 10 devices with supporting hardware throughout an ente - [Microsoft Intune (or another MDM provider)](#enable-hvci-using-intune) - [Group Policy](#enable-hvci-using-group-policy) - [System Center Configuration Manager](https://cloudblogs.microsoft.com/enterprisemobility/2015/10/30/managing-windows-10-device-guard-with-configuration-manager/) +- [Registry](#use-registry-keys-to-enable-virtualization-based-protection-of-code-integrity) ### Enable HVCI using Windows Defender Security Center @@ -54,38 +55,204 @@ Enabling in Intune requires using the Code Integrity node in the [AppLocker CSP] To apply the new policy on a domain-joined computer, either restart or run `gpupdate /force` in an elevated command prompt. -## How to turn on HVCI in Windows 10 Fall Creators Update (version 1709) +### Use registry keys to enable virtualization-based protection of code integrity -These steps apply to Windows 10 S, Windows 10 Pro, Windows 10 Enterprise, and Windows 10 Education. +Set the following registry keys to enable HVCI. This provides exactly the same set of configuration options provided by Group Policy. -The following instructions are intended for Windows 10 client systems running the Fall Creators Update (version 1709) that have hypervisor support and that are not already using a [Windows Defender Application Control (WDAC)](https://blogs.technet.microsoft.com/mmpc/2017/10/23/introducing-windows-defender-application-control/) policy. -If your device already has a WDAC policy (SIPolicy.p7b), please contact your IT administrator to request HVCI. + + +> [!IMPORTANT] +> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
+> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. + +#### For Windows 1607 and above + +Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): + +``` commands +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f +``` + +If you want to customize the preceding recommended settings, use the following settings. + +**To enable VBS** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f +``` + +**To enable VBS and require Secure boot only (value 1)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f +``` + +> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. + +**To enable VBS without UEFI lock (value 0)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f +``` + +> To enable **VBS with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. + +**To enable virtualization-based protection of Code Integrity policies** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f +``` + +**To enable virtualization-based protection of Code Integrity policies without UEFI lock (value 0)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f +``` + +> To enable **virtualization-based protection of Code Integrity policies with UEFI lock (value 1)**, in the preceding command, change **/d 0** to **/d 1**. + +#### For Windows 1511 and below + +Recommended settings (to enable virtualization-based protection of Code Integrity policies, without UEFI Lock): + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f +``` + +If you want to customize the preceding recommended settings, use the following settings. + +**To enable VBS (it is always locked to UEFI)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f +``` + +**To enable VBS and require Secure boot only (value 1)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f +``` + +> To enable **VBS with Secure Boot and DMA (value 3)**, in the preceding command, change **/d 1** to **/d 3**. + +**To enable virtualization-based protection of Code Integrity policies (with the default, UEFI lock)** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f +``` + +**To enable virtualization-based protection of Code Integrity policies without UEFI lock** + +``` command +reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f +``` + +### Validate enabled Windows Defender Device Guard hardware-based security features + +Windows 10 and Windows Server 2016 have a WMI class for related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: + +` Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard` > [!NOTE] -> You must be an administrator to perform this procedure. +> The *Win32\_DeviceGuard* WMI class is only available on the Enterprise edition of Windows 10. -1. Download the [Enable HVCI cabinet file](http://download.microsoft.com/download/7/A/F/7AFBCDD1-578B-49B0-9B27-988EAEA89A8B/EnableHVCI.cab). +The output of this command provides details of the available hardware-based security features as well as those features that are currently enabled. -2. Open the cabinet file. +#### AvailableSecurityProperties -3. Right-click the SIPolicy.p7b file and extract it. Then move it to the following location: +This field helps to enumerate and report state on the relevant security properties for Windows Defender Device Guard. - C:\Windows\System32\CodeIntegrity +| Value | Description | +|--------|-------------| +| **0.** | If present, no relevant properties exist on the device. | +| **1.** | If present, hypervisor support is available. | +| **2.** | If present, Secure Boot is available. | +| **3.** | If present, DMA protection is available. | +| **4.** | If present, Secure Memory Overwrite is available. | +| **5.** | If present, NX protections are available. | +| **6.** | If present, SMM mitigations are available. | - > [!NOTE] - > Do not perform this step if a SIPolicy.p7b file is already in this location. +> [!NOTE] +> 4, 5, and 6 were added as of Windows 10, version 1607. -4. Turn on the hypervisor: +#### InstanceIdentifier - a. Click Start, type **Turn Windows Features on or off** and press ENTER. +A string that is unique to a particular device. Valid values are determined by WMI. - b. Select **Hyper-V** > **Hyper-V Platform** > **Hyper-V Hypervisor** and click **OK**. +#### RequiredSecurityProperties - ![Turn Windows features on or off](images\turn-windows-features-on-or-off.png) +This field describes the required security properties to enable virtualization-based security. - c. After the installation completes, restart your computer. +| Value | Description | +|--------|-------------| +| **0.** | Nothing is required. | +| **1.** | If present, hypervisor support is needed. | +| **2.** | If present, Secure Boot is needed. | +| **3.** | If present, DMA protection is needed. | +| **4.** | If present, Secure Memory Overwrite is needed. | +| **5.** | If present, NX protections are needed. | +| **6.** | If present, SMM mitigations are needed. | -5. To confirm HVCI was successfully enabled, open **System Information** and check **Virtualization-based security Services Running**, which should now display **Hypervisor enforced Code Integrity**. +> [!NOTE] +> 4, 5, and 6 were added as of Windows 10, version 1607. + +#### SecurityServicesConfigured + +This field indicates whether the Windows Defender Credential Guard or HVCI service has been configured. + +| Value | Description | +|--------|-------------| +| **0.** | No services configured. | +| **1.** | If present, Windows Defender Credential Guard is configured. | +| **2.** | If present, HVCI is configured. | + +#### SecurityServicesRunning + +This field indicates whether the Windows Defender Credential Guard or HVCI service is running. + +| Value | Description | +|--------|-------------| +| **0.** | No services running. | +| **1.** | If present, Windows Defender Credential Guard is running. | +| **2.** | If present, HVCI is running. | + + +#### Version + +This field lists the version of this WMI class. The only valid value now is **1.0**. + +#### VirtualizationBasedSecurityStatus + +This field indicates whether VBS is enabled and running. + +| Value | Description | +|--------|-------------| +| **0.** | VBS is not enabled. | +| **1.** | VBS is enabled but not running. | +| **2.** | VBS is enabled and running. | + + +#### PSComputerName + +This field lists the computer name. All valid values for computer name. + +Another method to determine the available and enabled Windows Defender Device Guard features is to run msinfo32.exe from an elevated PowerShell session. When you run this program, the Windows Defender Device Guard properties are displayed at the bottom of the **System Summary** section. + +![Windows Defender Device Guard properties in the System Summary](images/dg-fig11-dgproperties.png) ## Troubleshooting From cccae29375a7e9ef98bcfed06fea4d9637ee797b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 19 Apr 2018 15:55:53 -0700 Subject: [PATCH 087/212] copyedits --- .../create-initial-default-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md index 7124f2aeae..259b5d4536 100644 --- a/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md +++ b/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy.md @@ -70,6 +70,6 @@ After you complete these steps, the WDAC binary file (DeviceGuardPolicy.bin) and > [!Note] > We recommend that you keep the original .xml file of the policy for use when you need to merge the WDAC policy with another policy or update its rule options. Alternatively, you would have to create a new policy from a new scan for servicing. For more information about how to merge WDAC policies, see [Merge Windows Defender Application Control policies](merge-windows-defender-application-control-policies.md). -We recommend that every WDAC policy be run in audit mode before being enforced. Doing so allows administrators to discover any issues with the policy without receiving error message dialog boxes. For information about how to audit a WDAC policy, see the next section, [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). +We recommend that every WDAC policy be run in audit mode before being enforced. Doing so allows administrators to discover any issues with the policy without receiving error messages. For information about how to audit a WDAC policy, see [Audit Windows Defender Application Control policies](audit-windows-defender-application-control-policies.md). From 70914f49376f6cd0aea58210453dcca44ab2ce81 Mon Sep 17 00:00:00 2001 From: t3chn1ck <30872835+t3chn1ck@users.noreply.github.com> Date: Fri, 20 Apr 2018 09:26:10 -0600 Subject: [PATCH 088/212] Corrected steps for private store name Outdated steps on how to change the name of the private store. It's no longer under Manage > Permissions > Private Store. Now it's found in the changes being submitted/proposed. --- store-for-business/manage-private-store-settings.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/store-for-business/manage-private-store-settings.md b/store-for-business/manage-private-store-settings.md index eabd198c73..e851331cdb 100644 --- a/store-for-business/manage-private-store-settings.md +++ b/store-for-business/manage-private-store-settings.md @@ -30,8 +30,8 @@ You can change the name of your private store in Microsoft Store. **To change the name of your private store** 1. Sign in to the [Microsoft Store for Business](http://businessstore.microsoft.com) or [Microsoft Store for Education](https://educationstore.microsoft.com). -2. Click **Manage**, click **Permissions**. -3. On the **Private store** tab, click **Change**. +2. Click **Settings**, click **Distribute**. +3. In the **Private store** section, click **Change**. 4. Type a new display name for your private store, and click **Save**. ![Image showing Private store dialog used to change private store display name.](images/wsfb-renameprivatestore.png) @@ -102,4 +102,4 @@ We've recently made performance improvements for changes in the private store. T | Create a new collection | 15 minutes| | Edit or remove a collection | 15 minutes | | Create private store tab | 4-6 hours | -| Rename private store tab | 4-6 hours | \ No newline at end of file +| Rename private store tab | 4-6 hours | From 83128b654df9484e987452a33e666418e3f57763 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 08:50:36 -0700 Subject: [PATCH 089/212] fixed redirects --- .openpublishing.redirection.json | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 0641ab2400..6fdd90f520 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -11,7 +11,7 @@ "redirect_document_id": true }, { -"source_path": "windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md", +"source_path": "windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md", "redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control", "redirect_document_id": true }, @@ -36,11 +36,6 @@ "redirect_document_id": true }, { -"source_path": "windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md#create-a-windows-defender-application-control-policy-from-a-reference-computer", -"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy", -"redirect_document_id": true -}, -{ "source_path": "windows/security/threat-protection/device-guard/steps-to-deploy-windows-defender-application-control.md", "redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-initial-default-policy", "redirect_document_id": true @@ -2027,7 +2022,7 @@ }, { "source_path": "windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md", -"redirect_url": "/windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard", +"redirect_url": "/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity", "redirect_document_id": true }, { @@ -11052,7 +11047,7 @@ }, { "source_path": "windows/keep-secure/requirements-and-deployment-planning-guidelines-for-device-guard.md", -"redirect_url": "/windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard", +"redirect_url": "/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity", "redirect_document_id": true }, { From cfef100e6308995fef1ed82cf56672d74f57b1b4 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 09:13:54 -0700 Subject: [PATCH 090/212] fixed redirects --- .openpublishing.redirection.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 6fdd90f520..3a6cec6c5a 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1,21 +1,11 @@ { "redirections": [ { -"source_path": "windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md", -"redirect_url": "/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control", -"redirect_document_id": true -}, -{ "source_path": "windows/security/threat-protection/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard.md", "redirect_url": "/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity", "redirect_document_id": true }, { -"source_path": "windows/security/threat-protection/device-guard/optional-create-a-code-signing-certificate-for-windows-defender-application-control.md", -"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/create-code-signing-cert-for-windows-defender-application-control", -"redirect_document_id": true -}, -{ "source_path": "windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md", "redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", "redirect_document_id": true From 8fca427b0ced75dee3521acbf07dc0203e94bdd8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 09:50:05 -0700 Subject: [PATCH 091/212] added new images for Intune --- .../wdac-intune-create-acompliance-policy.png | Bin 0 -> 51849 bytes .../images/wdac-intune-create-new-policy.png | Bin 0 -> 6351 bytes .../images/wdac-intune-create-policy-name.png | Bin 0 -> 15612 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-acompliance-policy.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-new-policy.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-policy-name.png diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-acompliance-policy.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-acompliance-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..f201956d4d06206ac4ad2564dbb72e723be629a6 GIT binary patch literal 51849 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 Up%1cj1Nd7KqOu}oLb`tc2Y4YAWB>pF literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-new-policy.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-new-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..0c5eacc3f9197ded8122c404a5e6b5c340448534 GIT binary patch literal 6351 zcmbVQcTg0~w;e$R34-JtB!hr}XbIrsF9)On#oh)075005zys-hkM+*!js7vf@J zTF4flfa&hI>8U&iDo5zHFoU~x@>=o$P!o%PWqA)Xe&DPMasz;e-GA>p{Z7ST0H6Y^ zDaya}Hs6`^vnPACfU_^p$NkIdL1DC9{1o4Kb>A=c$E-5F_ZnIRj6+~~@+IDCJp6bE zjqgj<1j=#+UXLpiybR%-dYKF2*L}CmNF4pFlT5=%vlq^uIdDlb)EoSGZ_m_reRu@z zIqTTuw|M!0Ya{FX=!pN>Fp`%Fv!;Kp)HH!Zr|xFwrI05DJGZte10)3CcYC@ZEPyIs zz}m>bf}I-x;#T4i0N^_??2XHCn%K#O6};5#jSB?7_{S_~jty*D_Via>2ST4vD?gz~ zEYP^$R~1nOg+hypidtJQbAoQf-PVUANjZvLX6oOjy2<1?!OKCU952X(HrQt_nic{t zk49xvJ$5IwWwRx{D$7l=DEQ5PBM>TKeSLjw8Yv%@RTHV8%I2|8R!^MUPG=xVE(hMG z@Wi}H^A7)u(pP0*=`$U$6S8*gGk-^%hoSkztX^PXN4aTK9HRUED6QKJ5#O?LQBG|o zaU!40d%4%+`D(QZBqvo>t-BJSpK8Z3fDS36A$;Oktu2)COn zACT_q+S<tg4d%Ix3?-h>6Wj7o}&bQZo z#?Y`g*J=nSw@RShDNTA8Tfs6U?ltFu$Pk89LT`LQ+9AFr+AkTWjS@)yH2_iKGaM={Vfq4=y672s=rn4FwUhGb)NHToINu4{x7Di6{IceKM0-kWSu8`HWogw* zX?8@FD^p;JQ{@5M;b1b4^umWt!l?1zb=Z937A;ZK@4X7ke>$5(cOG*%*QzmdO!rLL zLZv!0&`Nnhx}3kJ5?T0HUr@H}mIVAvVEemwFKgEODxD_-Ee;Tqt3B6}WEi&`N+Kt< zV6&y83xg{2fXkhxA>YbB=(Y>puwdm`K5RqvHZ}S?UK+*?hh6W2|KhmdO`m zgDd&>hI?VuQ$OK&$rFzaMNPeayWl9DVs;apohb~V2ov`BVIxhyEg)E5R#HXg84N3T zp{{y3))|VkWyeHJ9I%anjvknjjBG!0yekZUYXezl$F-=aL9(rtPz^m@(wUm~I7%i< zLX03^Q?);2RmG35Bq7Pd?3eq6k6`|Gq}lu`{sfdlZnNln&hkwt`fMY+Tpt*ap_({MQ2K_6Ad8^u6X~Q6#l>Hd#wI2KN}Y6lNHn`l@UK~i z4=n4d&z+T~KkjOne&{L2hwPH7#Fp^xpm{U34t9Ur#*VsyIoeq?Ue5LO7j5stl#xk<%#-_wM{Gz?f(8x+$b+ElKC^amAI{&?6%D7d3>E`xkZgx>K zAN@^3XMX|xec?bYQEOw66iEo7J0H&s7meVNQAKUXyeNiObqC5P4F}_rQ))%U1h^A4 zgMw~HWp6dZ4i8<&mcyR&{GNJ~jW|9--0a6x^8~P3u)hinylL@3VRD2};Fb579tfmn z>Ck>sI69`?%(`Y|ehJwwHF-Dnt@uw5BvPp*pj|L2>&}9vL2fa6Rg3!!3p;H~2u-v& z>#5u(IaDrbhC(apLG#Pn)0bzgab<>#MxXCUH%!&JZnIcR^HCpu;c(UAB+Pw#x`5OD zY3ms@Rhl!jLvLKfX%~NHDvS+{DjyJ2Fm%3D0UAqZI2i|Vw1yWyj=_h{s?P;(#(v~sN>eG;H zvcmkqOb%V5f=kOoB1w3Y0WZ`$;)?SkR1~Q(Zf>1KTO5h4P0ZmF{HO^QS6!yC{}|r7 zDpY97gO65ymLHQqkbGs^VCB33wY4zK<1s;hSy(XdYF`-HQ z{^sOqWl}wc)_Kj_((q7-s=eJ^ifHanhkbp@-1$crv_aXNN%w1@+r8W}Z)wL;e@=80 z$zI)D?m5ji^3DZG{h&cx_QMSrKkaWAoKitNwn_<4gXM$NjqVg?YcMV^K1GyR+1!w*K*-AGc*q)N*1sEQ@WQAygA9X_x7My zheJ6&>*<%ft=j&Et38pVNmeFJj?x(1Yl+SsFGVo2(?a1ROWhIrQrfs~8zc0GdxcF? z`m(Gl9dBfo_xB>e3}$l2J%t?wMB-IJ=Sw&sL0FnV=$E9+KYs#muf34qe|$Fv-3H>d z9&L<5&zC=YEd(^#PbsRX;Ow-W#NwR$cL>>y7~M+Xu_01;O>AKqY^9WU@K7x+5+JqQ z($eiILyP2O`RC?D4-aShWR9cU4a%UXZUXVDrCh~3*L}23{#OV6+fHxwBYf8elgZX7 zwMLEQ%*k4-EzX$w!a7Y8l5e+~9K$@xQ4saZoK1ypTci#302q(x9#R4|(`VazNBP^pM z06>m{^`>K3bitoR10&HiFkGT8I|jWE40!x~UykEHvjn%@2YzAyuc`l)k^1J=rtj*E z6r&G=HIeO6fnb>`et#o29?S|JoZtQc0QZo;&bm3HB92c_cV`+HO6-Hiu{+y?lST<+y3KM)hJWR{6ff1)gx&tW8wo9K* zTUTKOlcnW1`{ivEs^l|0!F`*#tpP7a_v6Ur<64{>Ar-O+mOv)oADl$Vls{Yaw@Uy3 zB#M_K${^;v2sd%k!i5}8>T4_I>4IEx_t8%W85Rex5(@{`moARngUrpx#a>901Fw_7 z!c{>RYpLJeHU>XgVT5YX%|%hUn6CE={sgma@wN1=qdx5~!`ff2N{X<6sFd=U2=sir z-(V6K24A(6-mCE{jZO=EJb2p{LA3lWFaZfmqPVmbmccl+jvSaK;X$roUS3`-OfbxV z1ZAgxf#tvKkQj5=*uzZG*g2telPCbmwf6szA}yhYq!*}JJ#MnUw3;nPHYhw>h;MVP z(Si%Ec-3gY*LT=R&Ts)fpS-6G%V(F++Z#WSE}ew?<_x4NnY<|XPzPj=o+av#d`#;- zJ$Mkm72xvDR*fS<)A4BI=o`T{3vB?szYGJMY}8+ZsEg%5CPS5LXhYUVkPq=hCt`l{ zb6uqUwF*&BbZ%SQ%|z}Qqpb6B{=(RhU0pxXK5w$tUhM6N!Fr8?y$mE%aJ83W`jIys z86cNizJ79bakRCOY7xj)+I6tfFX}K;?|e$_0aJr0fH3_j#`?U&ZcXulMwvv$9jH#m$9-p&3AH98S4p0k?8O;PYr zq>MqFB=3#qFzm4T%?RCmpU7aBXf(ZGlbkq=y_E{X$OdfAU91%T z_DZgPB|qpPzjit}>*o50Zr&3C%_%}IWX`(?G;eY1vJ58>d>1qb;VIvMWvWcw!>5>p z!}S_UOW$ozmRK<~aV5SO)Ws6Pf_2pvxBYhN=^&4m8ZO!3rFlrDG|_9N&RRQ0CUfI3 zGV0eOXfU;zQm8qYicPv*lr`D8`#GD>#UntvPWI$s$>+2Odl+9plfAzzD|7kD%6T|0 zAlGQKb;&#vAxw)X3E_$ixO-AA?WMYyjXjuJY19 z{lI^YhRjDRh}ydVkS<7aD=Ps2U^*G6yZ@K!{uLh$K!P8UeePW!&4IeCD1&f{@G1Fz zaY=aZFJeFpCS{FiyHCZHq`22{>GV+^Yx}DkeEn#qc75`>3|wF>z!^{=RFEde6`9d)0qMLonlu*Bw!^_8zE=BFG_vSLHc504Cb3{tzLL)XouB;| zijy}m5s|#w(U^(Nteh&nkYL#9LWN3)rLxz?5QAsWUeRX9XS?q^?C>fx(Ulwwf!J!Y6&)m5veA1f zo)?2@5_y+B;*L%a?qap6#Ys{_a0l-PPwql7SrnpMIBHeQshtgxB60v34*OFE8G!wGBPjG~up{Q6ZcNr-*vZo^c> zilZnjVmOuy?8XEesHj0I5`Kzr7=cTVbtfp4i z(6Et|dx3v$JD9-T$Umd@_D2ZIlv#oLUUfF{CHzNk=3Z-N2_}G z+Q-<~MPgCEa+xe@b<&?=@g|R_*L&qnFE!SZD8EM5T>j7Ps>rharxwJ59o4dn`|-WPjEP zy0*3!*~gri3Qm9|^a~S(8jElyl=5@!{S1FSNSoj=a=K{;*&5Pm&j9XVm#fO+P8&GrQ_mKgDETp1_tWtK4R0A zm%o#2gZjAW;!ud)Yrh>4G$ALN?>*r4`+a(wbzc;AY+Nnv_`PaCE;j;4(m^QQ`~fm2gE;^?K4V4#$=7qm~h|1L~*? z^#jT=^669eOz*hPU|a&C-eZ{Pf|Q=6!`w5c8mZda6pP8Nd!C2138Y>LEH#O90t!Ny zItZ;(n+pcRwO_=gqzHUykDPdo%#24fGjs6V)O}aT6_&}})uQ5qj`%BwNC04!#P{%P zPTo95wguP!qxk+M4gR-a{O5Cp@Y`!tOw7Z-Dvf}PpT8*Q{1#KYbfv$6VhWbo|K1Ps zC(7tZ5DM+kf~Ph9v4IJI80Z~NtYW7-#62C{e>r{>dVZPQtFK_fQZMgT2M+|~Dt{W^ zN)T_B!rmLXA0g`dXhLceutNxI;55+ksA>#(7>dzY(+;oO-g&KBE6PApititIgtOSfW1a%$DtLio7t&6pz5v9??yZNqqQ zUyWhva;4;-r-Jsi-<`XZD=2K_`(0x$U?;?*ufB`IPIW=7mZIe+Z1$?4@3m@?7321G zDb~@0k9Qq>D<;|*4Kl~E01%s=#LxoK1CeLR%AVZWb@PrabOQZap*&s6?m2l2)AM>} zMFeGizAdGh!(+BVT4o*^twtcZN}ED{V%(}lA)WZ^-tx@#H%uEEsy=fKCLd^j8t$E^Jd#<6S##6qF zm}gxiv7ZA3X+Kk0syjzT08t_38^UuZ@y>?U)~Us?W9rj1&)JcWkBq@yTs}GD0;@ax zd=53^GVtGDZ#~5l`MUok7WDehP6n-MnYW!5PaO2b4K!>W$8XMQ$SBU;wR@N`Akm$k>dr9K# zb%acrd*54YSPS&tbI(2d?6ddTzx_M=-aTt& zx^46B%^(nHo7w4;=Ru%#*Fm5)y&Km6cYGdXwgCSKg`PJ(4l3=Iq5v1`e2!Tj1A!_M zw=8@709Yd2>#T9)j)b5`!AzRi#o2$*PpAyf$vsv!b(XoM@ zH=nH+Jt(uY#Xw4O93(Tge_*e0J7Ytw(&8_)(&nBzwkwPrDyvcDgLBcq=A?M{!%LbO z4QwO^+nug&z2@WGIuPjXy%gamCVgrkkl5G%qwjPNjdc_QW_VRx)ulS3#apcAz;z)| zpNeDSmD%gK16OT8Ye7#Os>9xl31!&yJq4`?ovpe;dEB;EyXc9H&{ohx?>Bgp*bRQR z=Ze~l_?s!Px-6Y;k>$-uAy(<>X0MJ z&v|SzVj3q)67LX3KX@!ND3MqjNX9Utc$GTYKi%%vSXX{Qjo&X<7d4+cr04e%T$sfg z?18feJQL$-XNJ;+^F=Sg(!Y{NCl=Y=$m-?>3@yM4WhC^^?}2f)Sdp&09DGve%1uqh z%1?2B5r$%)lG^ohPZL?sfxQ){0p)uXOHZK zsEU528{yHER9fR?3d!fEJBriP22bKvA(g?9{%|gaRXbo$xM$%pZgqr`CxTdP{r#g_ z^E}?ih?yRn)f3UKp@vx;t7cYqslixPIn4tN7r)Z0{*^+v5GF}7N{8Z(lW0L1N;+A9 z#^22cLR3dLWcan472Wx2y*A7|un53RRuVit8$wxBz3F-lwP6_7kWFGwr>gO{zfFE0L%hK#I<9g1N6Qi++x50_rz$tD^s&mb%Wf{(WVABI3W!P5(co2lC zQ263hXpb?k+mM|%?JM56^wD^y(bY7UBd)-*!P%8%WT~D=GSsNSzsrG0f|4A@<*zMA zlIyvz>^jz)78!&sAj1iEJHA#}za9+3y`|xaxfjYB38MLw8nGi!XzNij4WV=jG;_Y) zxPdlh@$-x3iLoLmF93SEi>bzGuWOW39u;!(Ouj27M9te0(9{qcPcz+z?Il;4*}BzF zrqE?GN_MokhRj-$F)a3N-)#Q;PlK+}lO$L-1)`OJeb>H#-*0+b)JpgLP1)slkJk`+ z6CUbc8KQLYwkVZPnTCl8_ur&cm7>S3N7FVWS5MbY2L9x)$BvOy*EP~U#U9GBIVDuQ z&7SSTOR1lq?+U=o-k>=7>^F}dZ(`M2tR0x0jvlY|a$B%~ki=7K@c1P~(+WO0T0wT{ zrK!~s@CocA#cxIhv{1wKI^@u^a|G|yMCm|!hm%(~Ui?DMz#z<&~ zG?WIrywN2WR6Ba0;ioK)+X)0Yn!H4y%EeGn)T%qp8rYzYOAB5?)Wt0U&JfEGj#u4Q zQ$Pj&ghcs}i*wsgg0AQO%Y~(jHL#yZlaG9Yy0ay_aiK5uU}HHU@hW^5VoItDKeY}) zt0cqPI<4KD@82#x2XgXF{$0hyvLxgQxmo3UNyP{-M>(V6dJZ>O%4Tjpc?yZs1&e*< z`HY9noL6W&_^*L^OA1nl{F^6-oNQqPDqy92X6#%WKEZ}8OPn8$X?77xo_1S5vnI~j9y_=LW%fEAz2&Md&!L73M*u+cu zV2~5d?W_VJFAV>Kj!~mI2rw71{*CSwd-DrOP{ZVF^{^ZnXYrQ)ty!^93}6zH{3Qv# zoHq#ME#gj_ULV-Na6-cweNw%cIYT&MXRBD@WRZp9%O>P{7HI z@$P|W!dv3#!Cy=3oHGPN@o()MJW4>2*C}<*(d39MGM2^4P)mT8rK~Sk41=?4sm3`* z^fr=2Mib}Na6ltPQLr5AnV?6jCY*oa$T`ndgs zHqGp-J;^hG&sLxM+L_acX271u9HJXX#@zg-0XJOQEZ|48NnxE`FVv^Df3*Yr4~3I* z2a}S`?jVp>Y>JwrfqT`xulB=#OZ@tu9?`@yD8{jzXZT1^G9R zoGf{23j|Ft<)QGoqNid&Z2fmXI=HM#!qj2);|D_ z-(gHk8`OkB8&v<;zXmf^Nrp;-Wtwr*WVfv0`-DOR8cUXwgw6@QDg_dDT(O*Vr$(S3 zy%sTFhL2bz8L@U%%TL)8Z95Z#gxp>^FhGT4SG4DL!;LIjiY1il2a# zh+((AJN?ri)?OTBk@~~$+Q(=Eq#w%p@g?s|N)&!q&X}@zmb4mp-lqg)qEIFBV;9*n zw#-ul>(>kf$w+NmaYL~HO68unSC3z$UMYy}*+C!Z)pw5tJImb*ezAhq{(I(v8^rT+ zRHr3lk`kZ9>wVE@Mjh$bp-q5Koq0Wo-{k(AC;$l4(yH=BTlOdcXz<`69}A`H$E*M- z=zgg?#R_yY6TpEjF916jqD__3I{e6DOr`7rbf|CbE~oJ<-(Bk38P(J)ByY491BWLz zginuZn$4&yaw$j4lqnA}CZsk=!QFue>kfiIic@}+ey|QRp$S}EwY7qb;~WcTTjYyf z=pHhPY;S8HIrLD(o$JLfi$u_fp|XABGW@b|aR6(AL_=%CW~wtBxT9z40vS4NEXnBN zwrjQYeg3au#zKCEw*|h2phP29Gt@bJq$40A(r*he#o~iL7Im&@y?F+@w$KdQ@anQ1 zQ_W!qu^Kik4eseach-?gGuo%C$-q7G7`ZpCQ=t>Msd>H;ZU?JIKO9a^AGvzdH_qDJi3atcJhNrRJ!tdf(;;(aI3#pdy#w`|kvA>ln^KqoBpBg2fS#V^E zXHr5(u}Z4jN-yiyV1Kr{gT(vlX0|ujN#FW(sE8c5Wsw-v$xZk?9jN&g2NkE6kEhGsVuQ+3FO$#GMh{rvS zb)yIpBWi8~zMl6>nJP@yc(f?Ado9KYJb!)bH9FVIFV;{PY=D6%Ia=R4qX2y6n&tyG!G?z_Z96=JM zvWG`yZ|kp`r{oo#jF=-7N4i1=ttsa+v+pL9i!VKW7FTQ>sw+nu&92Uh{P?NL=~snq z(aL0Uar3}V?<_y-#>?;!}u7c%HsqMndU~`YS6boD;!` z*0Y<^M}O_t_=}kM91|4@i=f4Fhx4Q@Qhc8;Uk==rXvqJ-#mp_6tk)NGDHV23!g}s_ z?)q$EclDeaax(NS}InVgHEu zh~nzEh)r8&ip$IAYfksq>!K|M_b1fHD;a0@viWc8)c8Z{c^{Hbp$ry3NeAzdTiI%K z0?`gx$#><_*Cpo;jg+-{ApB+d{I!hwkM&hX%vP>Ug9ar2%Wk!1z|kA7il2#IbQ{_r zgIVb3mc_=4t!^#r4hs3HGMmN0`JOR7$^ovcD`Of7y18jZ6Gw!$hOFLSvvcB0*O#lK zgE@xc}_}Xa`!#$^ty-Ct&PftrpW6_VRKw&gR ztu1G7cn!Gt^v>NR@q{xgF?Y(JQegJv?BN|Px|>&HOkKWH(yuYnVDX$YaXM|b)QC&$ zgn>7%_iG`}1DVKLju$Emjb@6YW5Q9lVkEt17Gz`m66pzBILwFZzr1#Ck#J8MY2PPb zx>%HIwTp3OjId8vi=cg>4Gfm)sG2nOfy^xU>L69>;^`YQoL0hmBoMMUspd&rz5<65 z9_lG|9S9j-QzaSsad+H)+vcUg1FykO2F=`=jq@&(}w-X zZtKWmz3RERC~GYJLp3}QGW@v@F?Oa>)HHNpc_nV+hVk*oEjJqu`mC#hqT7F#)bg25 z0zatXgfpw~QT7<8Xi7ScHXI2VyCR(7_C-8J%GQF&r@-dnp`U2Bg|vycCffcgg#Mva zsz1?!kf37gC4!^@j-}@ZUs1*ZU&`FY^`^-ys3f^2Y|T#7lE1zBTMVh~W5LdIVHeIK zYBL2yqgj$>B(p+dd7+D8fz;t~+5GrKQidXynJd9BNgPEg3b^%b9xZVsOEGY{B9`Bs z56$nCgfH`qgF3UobH+KGU$ER~`uK@(Yi@EjYU#?1 z6XCV8M^TEyR`nCIIf5)ry>W+Bes5%5UZ=7(=acbLYhYogayBms!O6y+L6W1oy##*K zIPjdL@zNUvobHy_S(dZhAsEXdnEJNd{~Dtk&0m5Lom7I(?|j2qnL3BOJISN$imE!F*WJSV?BtFE(aK4;+FbiUj-I= z0=4{Hoz52tT&mL4&mQ=(}GvY#(XR$MbQbd z5NaJgZbz7SkQ&7YmkG>K1`HzRlV};2pt(eG6O7IJxTY!^FI5(0&l+Pg6?=F%W4-rU z#DY!)yzOnz2rFMRl2ufyHyh`Rm*=HVf$y^lbHVq!&rBDZHENgqrU z;(hPCrfZs&oxfIsmv0WBytP2in->r@fQAg$_do;W8jc{}%%`A#Q>5tM$EbtvV@xUf z$%+(o3I+;XBvR1nKuZP&3tSK>`q@BB4tzZztwCPSJxw#?y_9KrOMK56PA4GOg$M8y zpvgHurxa)cQ>ImcCRfg;Gst;D8eEYe&xZw3z-V z1k!Z}P-5AU+15ih<%kO+M&eZqtEhp8t_rxbOR53RDnf{Txm_~*rr2dTaS)?CWo=La zo$mLm8aAK4TuG2X5o+lpl1^FPf%d^|G5IFq%7v!(k+BPHC#W53=b_F!$vU;#{DYL& zYXxI=sVO)j&F!Ot_1ny$U52lM+;6&B{1CNnJLvk_&(3#4f|@XB9(n4D{?a2^hVW!z zbv*Zpm$igH*+_Ud?Z}{lzDRXj&WlGpt!tmQ?Iu+&UAnEn5`cv#g!*eE9xpFg!Nz`% z8QcTA@#gMeIt)tBWbYEmhz&q!dVBsYF-Ts3}q|wyfKI!a+T7QVhD=n7|gi{JI={X_WC7&SYCyQ@xxWCcVCs*RVwR0QB-3m zoVuW_6-$@GQivZIHH$+WoQ)zS@y*lLEI`wPS%cY<;?NmvHLLfazYni-Txq68C%|X$ zaA!Fd$#8hxVYijjk*#(vG2eLle}`5b8P{u~BZ&(-CD3Ip;f>?jQ3Dm1YaMSIpDtv% zz)|Ym0T2ijTzOQVLHuaP=y9{3*cK9 zz9raPR=v@}wzzpL&KX;VcxMa6Ra)#0ZbDzF7$je*rj{RlO#ly~ET9k=7Yit@M)#4v zy7aC!!-s>x_YG|iQyJA3sxKnPm9K%>PXp`Ujy)ch<@GM8Ujs6Z>X+_h*!-w;4lHD7 zBy^ZN9+$A1*ImO(mr{nItmw$$M?SLI8MOJk5`3urq+zL z2cL(`xWc`CB1-#9X}KCHF6ZvH3D!awZqYMiWxV6}T)}yrH$})5x~SE38TR(BY{K9H zREoh2>4Jz6iMowz2l)uLhSvMfNuFqNgEc@4<7178)lYHV_9m3Ey>p z_P+8C3%@h{iIJiH$_NSnrI{ovoLjlrbZG?TIDDKMGl=P4e0>aI34L4cNm;U~=RfNZ zN8ZK?TJ%eg(2IMPKVeMi&eZf(;~HK>oOOC}_0hYdxMrE;SBP%eh{b*<23AemcJ&eN zGvh`D?~Lb7zwC$2+{qojfLU~Z-TxH|kL;b=0`Q|#w%kma;!`Wxe*iLi-FD%-@q*0H z+4LWTfz-Com|1uL$PN{`8-JGaUfqT>sHs6Md*7!9fj~hmKvo;IE-Cky#64^Nxa#L6 zroG?TD=>XMvtz|4xKJO`kHB`$quL1$c+YHKxy{^uG6Argji45x&-Bl;Eszc%CPY~sp0xjQRY0+F4jYk@z1bfnuT!F9cZCK>^?U#gW^O&q@I(kQ!}>vUXg9okbRr%K z3=CC`W&jtm1SkO4pxV(00NRxipa#H&F>h<087K0zu^9M1{5ZbH43(FYK958yQVRF+ zRPxO@4d%u!KocI{;{-G{&x@u3O|x~0FgMgP4uJJ=a{!CID99NGuvjZaNzW2*9nKlF zLTchK-;}%R39!(BBOk?8hn>Cs#OCd0&{+*t={_I@u2}=>J7cjS{Enkd2|&aX@W-Sd z+uA7q$3E)EPYECole13wfi&*^aa`~jgS`xQiw2lvnFwZrrVJv8EJt*f*l_)(_(}o@ z5aHQK1fL~48Zw=j9n^6l8^RUgy(IPMX?;b8zg8sy{h-6f96PYVGNq@ZG^tr4K)<<) z_Pm*fA?aI@E6`abN?GYH8~#k!{!e80%-jWJ+t9ljTToY`7xDQUr7xuWxQJnxU}kiF zz=i#pm4EOIpA+o<+wCU-YS*8wU&*wUNAM-PTJQ<1s=H=rIq8kVY9nuDot$%IV;4~2 zYJOH0u%Q~LdMViIgO!^W<(cNNvp$B#hXz$6gec$^bV|xsDj#K z^z|*#q7SuKEaEe*esHtPudj~VN~VZ&UiL{#uCYhW>m%uz`O~G^w}!q*qZ)hE;rhpf z1&6EPC+0}F&wUr{+{oL4vl(9qb+7IFZd^Fh_rsHFrGl;#Z-Wf5XF%h3R+a&ftWIUk z!n5ByZDJE;=^v{4F1f)h;r^&PA4Q&#P@LS#dBcCtG(VqqM7gVcv2`FwP5J9Qf~-cc zzvqMgOO8As9ui7qdDb%SEs0uFNex=VaV4|eHE|LdmX46>fGQGd(py>fNc1x&C_R2# z!pYU)d}}fy`BxtIA3DJrU>MYpC5nr1j>C1<*})YRv+nf;ye;m}9Sku79;3tWhgBl4 zW(cQp?hjngOT56`P=3pgbPj}?gs-u0hR@W&XABvU)_!sMJaxoUm#62S{j`R0d(Trp zWA>>7NEaOXvY9i1?hnl~)Hgi_uBhWaeD_-@>O^aG`ZgtKYNFRJ@K32t4+_nyKlSEP%Et|ePNS)N{^jcBNG)J-0{{+DXyDFbpGAA&%oVzhjrzE zL{T1-6Y0}g$@8!BTmqA3y(cL(Qs&AU1C12rRkYw#NOI1*{Xj{4muJPGX~Nzs6L;l4 zbJTldCiZ?IsB1jCKB+8)Eg#JaJFb-NRljG7CikMW^InPHAnT2|IJ(kvFl#rBo*Wze za&niS+*hwJBl%rw?KX0#-sQOrelGStHzRSaXk^uj%dY}ZQk zM9;wn*nLQt>204~-FKH3D`#!xVDIQ>5yMozvbr-S@kC(KGgqL{BtSk|Vbuy|YBDUJ zo^Eunx*WROh!bfpMZ#1o@3^Qj(<9Y=8eOO4f7I-~GTOvm6*IxjsF9FtEk@GJQdJ6; zYDfmW=D9~3z;3Vz-4Z?DL$ri=i0~Zx+{ITe*3lm?=-kKbShbq)VVqgY=|evcQ#DM* zjVdEULwx6J9k4oyIynDI(Z;rzP`gd)lwYZ*tIT~PUbtc}3W{c!zPBS0qbTgJp7n%J zU3)#rWB1|dbPr&FA>g?1r!Pq~ZaCmL?Qe+G|I%^3I$UzOs`HC;U%S)_x%PkYSoFWg zt^y$iy7i!V%^@II0!n`94KNRN2J>kiJD0v?G|XneJ5PO?7;q|Q>1f@0@UiyPkAH@q z0Q|MxG26d+7qTB9p}#%1tIm$`_`*tmKA6p0(A@e}=mxek#gamgo#!M&SL%iUDRsbx z+gks9B3ZPH`Q*rS^Lr zA^!Ub5`x|KGU1P7o+M6GM8Ha#O*DEWbmCeyzVBOVgsN*$WI$`gBf)EhiUs>T zUw1eZ=|752Ep~f#Q1~x;Z|J`h_rRwFE_D+K@#>@X!4J0KIS?==E@K9V| zlyguUcC-F#A@0VpOSjr&a!fRZJ0phCf}ok6EEWzXlSXBjerIMqV!83BwzN8( zr|DnZLh5c)AK1wcCRVyV-|j2SglF+ngSOT=CCzU2tgRS#VYtfOH2L$);}7dHa2{t) z2O{g^?t8{>{nplz{mg^$*3EkG^xGZ}B#XStzh6oPQ)c3;BRs682GAS4KK2`$uZf`< zmm5_4+Wi|-CF*3w1otJ7bv>PS^Sr;A%z|a1hg8=1jl|_yvz|yg5fcr=Dt!~kIR%7+ z3C}AIN9TX*NRedlPSdycC=C9uPGH(;uloJ-pB*nDrs5RG{4d6Lb^I|=Mk9hIhRl_e z(aDT9uWGSwX3l9Y{SF;1A6wU|JK;&2PyXK7d%VW)*(IDHnv@wbAHV+qkLzg;ojLZa zPHUP^)ch;;(xksi)^JIa;ecDPeQQ#-P?~z~+4qv`NfUFp7dndhaJ$gz&{qvPu{^t` zxwH}=M3ZrKy@65Gz|b|;!uUbftj74u{nM^}SPN~;!Y8@|T0pHHjCxSvvKJO-2RG=} ziCZi4%@P2+MWLKY?p}v@Q%M-7g|IAFu^8dOO=_!uigO`#2s3-NUT4g|{h`Fz0CJ#2?{9&=&E#`{Mm>jy{)`FUC}m|FSUm4sAQlOKV!_ zn<_O?8)AS`ObZmx(yT!iTm?1H(QoYm*&o_@dehbA+Vji1If@%gSb;69ak)E|l^@sI zpuKCY>fjiJRLc;K3W*8s{mV!PayySV?~PLpd2>9kpska;y+xe)n?U?UTa7Z?dW}8Y z(KG7hK^EfsZQ6h;C*mCwZ2uP(wHlzL z#C$K(p%(iud&7ScP?&UT{G1I&58r}$`Wm94)Q-*>^CATewTPYhWnLZhc_{N*t!P5f zN?vuZE^NO#bzu9Thn7oinnUA4Qc|W^P8Yrp)~_Yj`JEQq&aqWaG$ z#S0eQB{X8HILi1ui|r%~b?Eoti`5 z4d{rl+w%I=kCYsx>>Gc|FkLy}d93QvKO@47@_7jfCy?~#uJkJ0QrP1C$n$BB1o%EV zq`sqk$bHE$#hI+06UL<6pK)#QL(wc670}oYJ57eC){x86EmBmcXq&>8+?#%iE1EQ~ z4f~xfoAGO+tN4zX`lOs170U^x$<7-%I!Equ6Wh``ciw4t+Sr%;T)ZU z;mH2e9h{rESFua4ly`U0E9N;KOCF$40e-TRAU#FJHf<>sgVjm*%3Cnaub|j9Ut_MdWF8 z$^{SoXgc?Hy#+lOPsG^KRi=Hb!xv8$wxKaf943x|KX@yt&ch}x^o z&obdfVv<1lwCh0F9KF-7}GlTTDk!Rr7IIn06Rq&)v%34d@T-jwd&kC=lepU_8;^N%OT9y`1SSsyb!N}d6`Ovt`25m;9TVbJ zU6AL*2lqjw*6a`WCq?S=$1e#{pM<`(u}e1l^C`g8M9-erJn}+s@>AO$p|}(KR=Ab- zS1A46`)6mLor0dP^{o%8Fh}egWuh{VG}=_Xk=`|`An6_7$P2`-wn(3{HgMJXF zapW9q(ynFoI|=E86gBJ9a$Uk(J$xRKWpXn8CpU1G!YJorUImo%`KKI9NV^#>!J=vB zRwmr~248}@pcq+DF*XA4SUg>uEc;=akbj#tn`Fb%nK_f^)sc8GT0U*{lZ`)~PmxYj zEDYo;@&V z3wJ*vvJ`miwMa34csr8Hq3Xpn1Kh_e`g)C(l19jb+OWujHxH~(NBRex8d)yNOR}ZKtKHqlwtkz_a6=X tqk(@k@Q()m(ZD|%`2Sx6voAyivLD*vIPH*oA3?y6nTgfO(&O$o{udj_wzmKP literal 0 HcmV?d00001 From 8d7c47f1756bd5ed5ce7d4fd6a12f2debc491433 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 10:41:55 -0700 Subject: [PATCH 092/212] added new images for Intune --- ...plication-control-policies-using-intune.md | 42 +++++++++++++++++- .../images/wdac-intune-assignments-groups.png | Bin 0 -> 22669 bytes .../images/wdac-intune-assignments.png | Bin 0 -> 15758 bytes .../images/wdac-intune-create-policy-name.png | Bin 15612 -> 15790 bytes .../wdac-intune-device-health-settings.png | Bin 0 -> 21250 bytes .../images/wdac-intune-device-properties.png | Bin 0 -> 24975 bytes .../wdac-intune-system-security-settings.png | Bin 0 -> 34553 bytes 7 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-assignments-groups.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-assignments.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-health-settings.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-properties.png create mode 100644 windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-system-security-settings.png diff --git a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md index f60f032426..401f9b50d4 100644 --- a/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md +++ b/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-intune.md @@ -15,4 +15,44 @@ ms.date: 02/28/2018 **Applies to:** - Windows 10 -- Windows Server 2016 \ No newline at end of file +- Windows Server 2016 + +You can apply Windows Defender Application Control (WDAC) to Windows 10 client computers using Microsoft Intune. + +1. Open the Microsoft Intune portal and click **Create a compliance policy**. + + ![Create a compliance policy in Intune](images\wdac-intune-create-acompliance-policy.png) + +2. Click **Create Policy**. + + ![Create a new policy](images\wdac-intune-create-new-policy.png) + +3. Type a name for the new policy and for **Platform**, select **Windows 10 and later**. + + ![Select platform](images\wdac-intune-create-policy-name.png) + +4. Click **Device Health**, select **Require** for the following settings and then click **OK**: + + - **Require BitLocker** + - **Require Secure Boot to be enabled on the device** + - **Require code integrity** + + ![Device Health settings](images\wdac-intune-device-health-settings.png) + +5. Click **Device Properties**, configure any operating system version requirements and then click **OK**. + + ![Device properties](images\wdac-intune-device-properties.png) + +6. Click **System Security**, select any security options to include in the policy and then click **OK**. + + ![System security settings](images\wdac-intune-system-security-settings.png) + +7. When you finish configuring settings, click **OK** and then click **Create**. + +8. Click **Assignments**. + + ![Assignments](images\wdac-intune-assignments.png) + +9. Select any mutually exclusive groups to include or exclude from the policy, or assign it to **All users**, and then click **Save**. + + ![Assign the policy to groups](images\wdac-intune-assignments-groups.png) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-assignments-groups.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-assignments-groups.png new file mode 100644 index 0000000000000000000000000000000000000000..5cdb4cf3c49bd1d136d427084526961df2cec7fd GIT binary patch literal 22669 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

e&nFy;KB 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-policy-name.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-create-policy-name.png index 90b610b2bfe95efe3903096eb78c40f118565714..98e55070003f7e638acfa75f5de2edec35547f06 100644 GIT binary patch literal 15790 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 z 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 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-health-settings.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-health-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd0366eff0fb92615243d7d50ca100d454d4d30 GIT binary patch literal 21250 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

>-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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-properties.png b/windows/security/threat-protection/windows-defender-application-control/images/wdac-intune-device-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..4d8325baa61c8d19adcf91405bacebf0248389c3 GIT binary patch literal 24975 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 K(clZF{r9M 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 literal 0 HcmV?d00001 From 6a73b56c3f7b0e4f7f779b0b3a160d8b5febb1c8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 11:01:20 -0700 Subject: [PATCH 093/212] fixed links --- windows/security/threat-protection/TOC.md | 2 -- .../windows-defender-application-control/TOC.md | 2 -- .../applocker-policies-deployment-guide.md | 1 - .../applocker-policies-design-guide.md | 2 +- .../applocker/create-your-applocker-policies.md | 2 +- ...-structure-and-applocker-rule-enforcement.md | 2 +- .../applocker/document-your-applocker-rules.md | 1 - .../monitor-application-usage-with-applocker.md | 2 +- ...plication-control-policy-design-decisions.md | 2 +- ...zation-based-protection-of-code-integrity.md | 2 +- .../images/dg-fig11-dgproperties.png | Bin 0 -> 75377 bytes 11 files changed, 6 insertions(+), 12 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-exploit-guard/images/dg-fig11-dgproperties.png diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 9f11974826..d71256b0f2 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -342,8 +342,6 @@ ###### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](windows-defender-application-control/applocker/understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) ###### [Document the Group Policy structure and AppLocker rule enforcement](windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md) ##### [Plan for AppLocker policy management](windows-defender-application-control/applocker/plan-for-applocker-policy-management.md) -###### [Document your application control management processes](windows-defender-application-control/applocker/document-your-application-control-management-processes.md) -##### [Create your AppLocker planning document](windows-defender-application-control/applocker/create-your-applocker-planning-document.md) #### [AppLocker deployment guide](windows-defender-application-control/applocker/applocker-policies-deployment-guide.md) ##### [Understand the AppLocker policy deployment process](windows-defender-application-control/applocker/understand-the-applocker-policy-deployment-process.md) ##### [Requirements for Deploying AppLocker Policies](windows-defender-application-control/applocker/requirements-for-deploying-applocker-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/TOC.md b/windows/security/threat-protection/windows-defender-application-control/TOC.md index b93f453c1b..a7e31e66f8 100644 --- a/windows/security/threat-protection/windows-defender-application-control/TOC.md +++ b/windows/security/threat-protection/windows-defender-application-control/TOC.md @@ -84,8 +84,6 @@ ##### [Understand AppLocker rules and enforcement setting inheritance in Group Policy](applocker\understand-applocker-rules-and-enforcement-setting-inheritance-in-group-policy.md) ##### [Document the Group Policy structure and AppLocker rule enforcement](applocker\document-group-policy-structure-and-applocker-rule-enforcement.md) #### [Plan for AppLocker policy management](applocker\plan-for-applocker-policy-management.md) -##### [Document your application control management processes](applocker\document-your-application-control-management-processes.md) -#### [Create your AppLocker planning document](applocker\create-your-applocker-planning-document.md) ### [AppLocker deployment guide](applocker\applocker-policies-deployment-guide.md) #### [Understand the AppLocker policy deployment process](applocker\understand-the-applocker-policy-deployment-process.md) #### [Requirements for Deploying AppLocker Policies](applocker\requirements-for-deploying-applocker-policies.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md index 0687ca1fc2..ec754cf12c 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide.md @@ -37,7 +37,6 @@ The following are prerequisites or recommendations to deploying policies: - [Select types of rules to create](select-types-of-rules-to-create.md) - [Determine Group Policy Structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) - [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) - - [Create your AppLocker planning document](create-your-applocker-planning-document.md) ## Contents of this guide diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md index b83c242b59..26b4d23de4 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-design-guide.md @@ -33,7 +33,7 @@ To understand if AppLocker is the correct application control solution for your | [Select the types of rules to create](select-types-of-rules-to-create.md) | This topic lists resources you can use when selecting your application control policy rules by using AppLocker. | | [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) | This overview topic describes the process to follow when you are planning to deploy AppLocker rules. | | [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) | This topic for describes the decisions you need to make to establish the processes for managing and maintaining AppLocker policies. | -| [Create your AppLocker planning document](create-your-applocker-planning-document.md) | This planning topic for the IT professional summarizes the information you need to research and include in your AppLocker planning document. | +   After careful design and detailed planning, the next step is to deploy AppLocker policies. [AppLocker Deployment Guide](applocker-policies-deployment-guide.md) covers the creation and testing of policies, deploying the enforcement setting, and managing and maintaining the policies.   \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md index 1153bc66a2..51965b4116 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/create-your-applocker-policies.md @@ -31,7 +31,7 @@ You can develop an application control policy plan to guide you in making succes 5. [Select the types of rules to create](select-types-of-rules-to-create.md) 6. [Determine the Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) 7. [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) -8. [Create your AppLocker planning document](create-your-applocker-planning-document.md) + ## Step 2: Create your rules and rule collections diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md index 3843a798c0..b14ec68862 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/document-group-policy-structure-and-applocker-rule-enforcement.md @@ -124,6 +124,6 @@ The following table includes the sample data that was collected when you determi After you have determined the Group Policy structure and rule enforcement strategy for each business group's apps, the following tasks remain: - [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) -- [Create your AppLocker planning document](create-your-applocker-planning-document.md) +     diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md index ffaaf96936..da3b193ffe 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/document-your-applocker-rules.md @@ -118,4 +118,3 @@ For each rule, determine whether to use the allow or deny option. Then, three ta - [Determine Group Policy structure and rule enforcement](determine-group-policy-structure-and-rule-enforcement.md) - [Plan for AppLocker policy management](plan-for-applocker-policy-management.md) -- [Create your AppLocker planning document](create-your-applocker-planning-document.md) diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md b/windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md index 23c4b6e8af..08cd3572ad 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/monitor-application-usage-with-applocker.md @@ -22,7 +22,7 @@ Once you set rules and deploy the AppLocker policies, it is good practice to det ### Discover the effect of an AppLocker policy -You can evaluate how the AppLocker policy is currently implemented for documentation or audit purposes, or before you modify the policy. Updating your AppLocker Policy Deployment Planning document will help you track your findings. For information about creating this document, see [Create your AppLocker planning document](create-your-applocker-planning-document.md). You can perform one or more of the following steps to understand what application controls are currently enforced through AppLocker rules. +You can evaluate how the AppLocker policy is currently implemented for documentation or audit purposes, or before you modify the policy. Updating your AppLocker Policy Deployment Planning document will help you track your findings. You can perform one or more of the following steps to understand what application controls are currently enforced through AppLocker rules. - **Analyze the AppLocker logs in Event Viewer** diff --git a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md index 677618dab7..0148e43cae 100644 --- a/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md +++ b/windows/security/threat-protection/windows-defender-application-control/understand-windows-defender-application-control-policy-design-decisions.md @@ -135,4 +135,4 @@ Because the effectiveness of application control policies is dependent on the ab   ## Record your findings -The next step in the process is to record and analyze your answers to the preceding questions. If WDAC is the right solution for your goals, you can set your application control policy objectives and plan your WDAC rules. This process culminates in [creating your planning document](create-your-windows-defender-application-control-planning-document.md). \ No newline at end of file +The next step in the process is to record and analyze your answers to the preceding questions. If WDAC is the right solution for your goals, you can set your application control policy objectives and plan your WDAC rules. \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 1368e5124b..9b1e56f6ea 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -62,7 +62,7 @@ Set the following registry keys to enable HVCI. This provides exactly the same s > [!IMPORTANT] -> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
For information about how VBS uses the hypervisor to strengthen protections provided by WDAC, see [How Windows Defender Device Guard features help protect against threats](introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md#how-windows-defender-device-guard-features-help-protect-against-threats).
+> - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer’s hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled.
In contrast, with **Secure Boot with DMA**, the setting will enable Secure Boot—and VBS itself—only on a computer that supports DMA, that is, a computer with IOMMUs. With this setting, any computer without IOMMUs will not have VBS or HVCI protection, although it can still have WDAC enabled.
> - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. #### For Windows 1607 and above diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/images/dg-fig11-dgproperties.png b/windows/security/threat-protection/windows-defender-exploit-guard/images/dg-fig11-dgproperties.png new file mode 100644 index 0000000000000000000000000000000000000000..3c93b2b948311bd965a3ce5d1eb82a4d325d4f97 GIT binary patch literal 75377 zcmc$`cT`jD5A~y_cZQ-K$X!f`_>G=YbN(c z#$F)M$@YUkhd6FLehC86b5;Mjr{`<2Ms@ihJRXGhqg~WFBdFFitym>E5U;w;P_}qR zM6@ws;@qbT+|mE|2WNFWF#X5*>qL>yYewyGAF^)G^+8WkoL=`(Wtcv34F@ z)|blDpVjYQ7q^1wN-D%NS1UJ&i;C&RFh767J?=aZGd3J}>YCc++geMi7ukQPUtPgw z6}9j`toq3I<4)3WdDO4;t$DZuF8>n=0;DV^!>s}DEmmiyr2B7a}MB>vCw(ElEv zIl^K|pBR1df@n+?M^N8F$q>uo1jK&h-ije23%uXqwj5300k5Q>_jLoV{=Hru(=GOJ zYSSzWorcEJcVJLe`VzXu7=|l_6N94B18I}!Ld0GNI!mS*Yf3an%l(7|Qs65J=$&KD zn+h$;ZacMZqYxN5g|v>Qt#6*Z^f`3#PBxrm?ncuhx}b%ENIU}>P?8MkyIaaK1wp5* zpZ|L~BiOpnB=oUCq25|P$!dTKr;VTo$bl&Gn5Z>^9DvA=h7z+e@veh5mn14S+?1$p zMA&Y>@ZRv;s6LItv$u|>pH!rcxarb1@%@Mkf%<5QeM=6ahU7|3GDT;L!`8KkOW?gP zwEfAMB1qFb@Aiq)N^~_x1o5qTeJNQFs*eBSv^q!F%iYEheUo48lDEbhNx>Pu34Apv z{BK8brw-GJ3NQBYv_}YfBO)IjIBJ*%Jk$(&Df%a3HxfMJ7KDS7a_JZCCo@*G zXgfUqgcP(hg11c%in!X`>9?^oXQ;H1sHx;e&b1Sw!R}@FAU~bjC+~#_2>!p+18_{)GxL{PTym&d}=iZfnuc70vDr+-(?<`Beok_ zc2@9Ml;V~~(A+zA>Q5P(p4+b0Ob&XNT&~bbt!&xnr)9V7=EF)<_%#Z~m3FII_Q!1e zzm_F;Z$L^7A)y?Kd7XJONB(?d>tYIC|?vf0m&~l%PjaZm~C=(CD z3Qz3xpmXQZUCaE`At+BX~8F;3pJ^fMMm>{n^> z1*m7xf2jFCK=*S+rMd`2V^s;)2HAgMl*%kUqWpFj*%h}J=KY6Ue$v(asg>Y?IhCd$ zfoR1-71$~l(TktXK@QAd%k6+@5gbdJiQ04B;5q-nDdGy^=xf!%h=am-nh&`sDc0A1F1~9E_XtcQJoAyi9nZ zaL`tlz`Ds7sm?nh=-o6Rq<6UJSv=Z1k?4IS3yaVldIa4q&}uH4J`WpW;iqMgX3

k4wQo#7eYIG14w3Z|8%0t)E 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[ZCXRHK{iRA;IF+?8?=lFd!sv}XC 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 z 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 U-bsrn4t>f%*Ys@eX@~p&3xj-Y_5c6? literal 0 HcmV?d00001 From c02bf027696566871d8113d61e3ce5be28ff3434 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 20 Apr 2018 11:32:08 -0700 Subject: [PATCH 094/212] fixing links --- .openpublishing.redirection.json | 5 ----- .../understand-applocker-policy-design-decisions.md | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 3a6cec6c5a..efe7260cf6 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -6,11 +6,6 @@ "redirect_document_id": true }, { -"source_path": "windows/security/threat-protection/device-guard/planning-and-getting-started-on-the-device-guard-deployment-process.md", -"redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", -"redirect_document_id": true -}, -{ "source_path": "windows/security/threat-protection/device-guard/deploy-windows-defender-application-control.md", "redirect_url": "/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide", "redirect_document_id": true diff --git a/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md index d8672db29e..4e1b579be2 100644 --- a/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md +++ b/windows/security/threat-protection/windows-defender-application-control/applocker/understand-applocker-policy-design-decisions.md @@ -227,4 +227,4 @@ Because the effectiveness of application control policies is dependent on the ab The next step in the process is to record and analyze your answers to the preceding questions. If AppLocker is the right solution for your goals, you can set your application control policy objectives and plan your AppLocker rules. This process culminates in creating your planning document. - For info about setting your policy goals, see [Determine your application control objectives](determine-your-application-control-objectives.md). -- For info about creating your planning document, see [Create your AppLocker planning document](create-your-applocker-planning-document.md). + From be9c9592dd770d70bf76c1e649daf06273e89927 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Fri, 20 Apr 2018 13:14:22 -0700 Subject: [PATCH 095/212] updated the content for SSO conditional access --- .../vpn/vpn-conditional-access.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/windows/security/identity-protection/vpn/vpn-conditional-access.md b/windows/security/identity-protection/vpn/vpn-conditional-access.md index 26fe73a382..0b9edcf96d 100644 --- a/windows/security/identity-protection/vpn/vpn-conditional-access.md +++ b/windows/security/identity-protection/vpn/vpn-conditional-access.md @@ -51,7 +51,7 @@ The following client-side components are also required: - Trusted Platform Module (TPM) ## VPN device compliance -According to the VPNv2 CSP, these settings options are **Optional**. If you want your users to access on-premises resources, such as files on a network share, based on the credential of a certificate that was issued by an on-premises CA, and not the Cloud CA certificate, you add these settings to the VPNv2 profile. Alternatively, if you add the cloud root certs to the NTAuth store in on-prem AD, your user's cloud cert will chain and KDC will issue TGT and TGS tickets to them. +According to the VPNv2 CSP, these settings options are **Optional**. If you want your users to access on-premises resources, such as files on a network share, based on the credential of a certificate that was issued by an on-premises CA, and not the Cloud CA certificate, you add these settings to the VPNv2 profile. Alternatively, if you add the cloud root certificates to the NTAuth store in on-prem AD, your user's cloud certificate will chain and KDC will issue TGT and TGS tickets to them. Server-side infrastructure requirements to support VPN device compliance include: @@ -61,6 +61,8 @@ Server-side infrastructure requirements to support VPN device compliance include - Domain servers trust Azure AD CA - A domain-trusted certificate is deployed to the client device and is configured to be used for single sign-on (SSO) + + After the server side is set up, VPN admins can add the policy settings for conditional access to the VPN profile using the VPNv2 DeviceCompliance node. Two client-side configuration service providers are leveraged for VPN device compliance. @@ -77,8 +79,12 @@ Two client-side configuration service providers are leveraged for VPN device com - Provisions the Health Attestation Certificate received from the HAS - Upon request, forwards the Health Attestation Certificate (received from HAS) and related runtime information to the MDM server for verification +>[!NOTE] +>Enabling SSO is not necessarily required unless you want VPN users to be issued Kerberos tickets to access on-premises resources using a certificate issued by the on-premises CA; not the cloud certificate issued by AAD. + + ## Client connection flow -The VPN client side connection flow works as follows: +The VPN client side connection flow works as follows: ![Device compliance workflow when VPN client attempts to connect](images/vpn-device-compliance.png) @@ -94,13 +100,6 @@ When a VPNv2 Profile is configured with \ \true<\/Ena See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. -The following image shows conditional access options in a VPN Profile configuration policy using Microsoft Intune. - -![conditional access in profile](images/vpn-conditional-access-intune.png) - ->[!NOTE] ->In Intune, the certificate selected in **Select a client certificate for client authentication** does not set any VPNv2 CSP nodes. It is simply a way to tie the VPN profile’s successful provisioning to the existence of a certificate. If you are enabling conditional access and using the Azure AD short-lived certificate for both VPN server authentication and domain resource authentication, do not select a certificate since the short-lived certificate is not a certificate that would be on the user’s device yet. - ## Learn more about Conditional Access and Azure AD Health - [Azure Active Directory conditional access](https://azure.microsoft.com/documentation/articles/active-directory-conditional-access/) From 315b0edfdb5e6381e14fbd7387d472956220123a Mon Sep 17 00:00:00 2001 From: Patti Short Date: Fri, 20 Apr 2018 14:13:01 -0700 Subject: [PATCH 096/212] final adjustment of content --- browsers/edge/available-policies.md | 47 ++----------------- .../vpn/vpn-conditional-access.md | 8 +--- 2 files changed, 5 insertions(+), 50 deletions(-) diff --git a/browsers/edge/available-policies.md b/browsers/edge/available-policies.md index 1dd3c2d38a..fcdd64629c 100644 --- a/browsers/edge/available-policies.md +++ b/browsers/edge/available-policies.md @@ -3,12 +3,13 @@ description: Microsoft Edge works with Group Policy and Microsoft Intune to help ms.assetid: 2e849894-255d-4f68-ae88-c2e4e31fa165 author: shortpatti ms.author: pashort +manager: elizapo ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library title: Group Policy and Mobile Device Management settings for Microsoft Edge (Microsoft Edge for IT Pros) ms.localizationpriority: high -ms.date: 4/5/2018 #Previsou release date 09/13/2017 +ms.date: 4/20/2018 #Previous release date 09/13/2017 --- # Group Policy and Mobile Device Management (MDM) settings for Microsoft Edge @@ -27,21 +28,6 @@ Microsoft Edge works with the following Group Policy settings to help you manage Computer Configuration\Administrative Templates\Windows Components\Microsoft Edge\ -## Allow a shared books folder ->*Supported versions: Windows 10, version 1803* - -This policy setting specifies whether organizations should use a folder shared across users to store books from the Books Library. - -**Microsoft Intune to manage your MDM settings** -| | | -|---|---| -|MDM name |[UseSharedFolderForBooks](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-usesharedfolderforbooks) | -|Supported devices |Desktop | -|URI full path |./Vendor/MSFT/Policy/Config/Browser/UseSharedFolderForBooks | -|Data type | Integer | -|Allowed values |
  • **0** - No shared folder.
  • **1** - Use as shared folder.
| - - ## Allow Address bar drop-down list suggestions >*Supporteded versions: Windows 10, version 1703 or later* @@ -88,20 +74,6 @@ Your browsing data is the information that Microsoft Edge remembers and stores a |Data type | Integer | |Allowed values |
  • **0 (default)** - Browsing data is not cleared on exit. The type of browsing data to clear can be configured by the employee in the Clear browsing data options under Settings.
  • **1** - Browsing data is cleared on exit.
| -## Allow configuration updates for the Books Library ->*Supporteded versions: Windows 10, version 1803* - -Microsoft Edge automatically retrieves the configuration data for the Books Library, when this policy is enabled or not configured. If disabled, Microsoft Edge does not retrieve the Books configuration data. - -**Microsoft Intune to manage your MDM settings** -| | | -|---|---| -|MDM name |[AllowConfigurationUpdateForBooksLibrary ](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-allowconfigurationupdateforbookslibrary) | -|Supported devices |Desktop | -|URI full path | ./Vendor/MSFT/Policy/Config/Browser/AllowConfigurationUpdateForBooksLibrary | -|Data type | Integer | -|Allowed values |
  • **0** - Disable. Microsoft Edge cannot retrieve a configuration.
  • **1 (default)** - Enable (default). Microsoft Edge can retrieve a configuration for Books Library.
| - ## Allow Cortana >*Supported versions: Windows 10, version 1607 or later* @@ -132,19 +104,6 @@ F12 developer tools is a suite of tools to help you build and debug your webpage |Data type | Integer | |Allowed values |
  • **0** - The F12 Developer Tools are disabled.
  • **1 (default)** - The F12 Developer Tools are enabled.
| -## Allow extended telemetry for the Books tab ->*Supporteded versions: Windows 10, version 1803* - -If you enable this policy, both basic and additional diagnostic data is sent to Microsoft about the books you are reading from Books in Microsoft Edge. By default, this policy is disabled or not configured and only basic diagnostic data, depending on your device configuration, is sent to Microsoft. - -**Microsoft Intune to manage your MDM settings** -| | | -|---|---| -|MDM name |[EnableExtendedBooksTelemetry](https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-enableextendedbookstelemetry) | -|Supported devices |Desktop
Mobile | -|URI full path | ./Vendor/MSFT/Policy/Config/Browser/EnableExtendedBooksTelemetry | -|Data type | Integer | -|Allowed values |
  • **0 (default)** - Disable. Only basic diagnostic data is sent.
  • **1** - Enable. Both Basic and additional diagnostic data is sent.
| ## Allow Extensions >*Supporteded versions: Windows 10, version 1607 or later* @@ -212,7 +171,7 @@ This policy setting lets you configure what appears when a New Tab page is opene ## Always Enable book library ->*Supporteded versions: Windows 10* +>*Supporteded versions: Windows 10, version 1709 or later* This policy settings specifies whether to always show the Books Library in Microsoft Edge. By default, this setting is disabled, which means the library is only visible in countries or regions where available. if enabled, the Books Library is always shown regardless of countries or region of activation. diff --git a/windows/security/identity-protection/vpn/vpn-conditional-access.md b/windows/security/identity-protection/vpn/vpn-conditional-access.md index 0b9edcf96d..7d22c3efb9 100644 --- a/windows/security/identity-protection/vpn/vpn-conditional-access.md +++ b/windows/security/identity-protection/vpn/vpn-conditional-access.md @@ -7,9 +7,10 @@ ms.sitesec: library ms.pagetype: security, networking author: shortpatti ms.author: pashort +manager: elizapo ms.reviewer: ms.localizationpriority: high -ms.date: 04/17/2018 +ms.date: 04/20/2018 --- # VPN and conditional access @@ -44,7 +45,6 @@ Conditional Access Platform components used for Device Compliance include the fo - Encryption compliance - Device health attestation state (validated against attestation service after query) - The following client-side components are also required: - [HealthAttestation Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn934876.aspx) - [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) DeviceCompliance node settings @@ -61,8 +61,6 @@ Server-side infrastructure requirements to support VPN device compliance include - Domain servers trust Azure AD CA - A domain-trusted certificate is deployed to the client device and is configured to be used for single sign-on (SSO) - - After the server side is set up, VPN admins can add the policy settings for conditional access to the VPN profile using the VPNv2 DeviceCompliance node. Two client-side configuration service providers are leveraged for VPN device compliance. @@ -111,9 +109,7 @@ See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.m - [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 4)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/16/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-4/) - ## Related topics - - [VPN technical guide](vpn-guide.md) - [VPN connection types](vpn-connection-type.md) - [VPN routing decisions](vpn-routing.md) From 016d7e0240e889f289007c1195f485c67f14a8fe Mon Sep 17 00:00:00 2001 From: Maricia Alforque Date: Fri, 20 Apr 2018 21:14:49 +0000 Subject: [PATCH 097/212] Merged PR 7353: Accounts CSP - new configuration service provider --- windows/client-management/mdm/TOC.md | 2 + windows/client-management/mdm/accounts-csp.md | 51 +++++ .../mdm/accounts-ddf-file.md | 179 ++++++++++++++++++ ...onfiguration-service-provider-reference.md | 30 ++- .../mdm/images/provisioning-csp-accounts.png | Bin 0 -> 9090 bytes ...ew-in-windows-mdm-enrollment-management.md | 9 +- .../mdm/policy-csp-kioskbrowser.md | 2 +- 7 files changed, 270 insertions(+), 3 deletions(-) create mode 100644 windows/client-management/mdm/accounts-csp.md create mode 100644 windows/client-management/mdm/accounts-ddf-file.md create mode 100644 windows/client-management/mdm/images/provisioning-csp-accounts.png diff --git a/windows/client-management/mdm/TOC.md b/windows/client-management/mdm/TOC.md index b0b0610178..659b090224 100644 --- a/windows/client-management/mdm/TOC.md +++ b/windows/client-management/mdm/TOC.md @@ -70,6 +70,8 @@ ## [Configuration service provider reference](configuration-service-provider-reference.md) ### [AccountManagement CSP](accountmanagement-csp.md) #### [AccountManagement DDF file](accountmanagement-ddf.md) +### [Accounts CSP](accounts-csp.md) +#### [Accounts DDF file](accounts-ddf-file.md) ### [ActiveSync CSP](activesync-csp.md) #### [ActiveSync DDF file](activesync-ddf-file.md) ### [AllJoynManagement CSP](alljoynmanagement-csp.md) diff --git a/windows/client-management/mdm/accounts-csp.md b/windows/client-management/mdm/accounts-csp.md new file mode 100644 index 0000000000..0cec8a8ad3 --- /dev/null +++ b/windows/client-management/mdm/accounts-csp.md @@ -0,0 +1,51 @@ +--- +title: Accounts CSP +description: The Accounts configuration service provider (CSP) is used by the enterprise (1) to rename a device, (2) to create a new local Windows account and joint it to a local user group. +ms.author: maricia +ms.topic: article +ms.prod: w10 +ms.technology: windows +author: nickbrower +ms.date: 04/17/2018 +--- + +# Accounts CSP + +> [!WARNING] +> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. + +The Accounts configuration service provider (CSP) is used by the enterprise (1) to rename a device, (2) to create a new local Windows account and joint it to a local user group. This CSP was added in Windows 10, version 1803. + + +The following diagram shows the Accounts configuration service provider in tree format. + +![Accounts CSP diagram](images/provisioning-csp-accounts.png) + +**./Device/Vendor/MSFT/Accounts** +Root node. + +**Domain** +Interior node for the account domain information. + +**Domain/ComputerName** +This node specifies the name for a device. This setting can be managed remotely. A couple of macros can be embedded within the value for dynamic substitution: %RAND:<# of digits>% and %SERIAL%. + +Examples: (a) "Test%RAND:6%" will generate a name "Test" followed by 6 random digits (e.g., "Test123456"). (b) "Foo%SERIAL%", will generate a name "Foo" followed by the serial number derived from device's ID. The server must explicitly reboot the device for this value to take effect. + +Supported operation is Add. + +**Users** +Interior node for the user account information. + +**Users/_UserName_** +This node specifies the username for a new local user account. This setting can be managed remotely. + +**Users/_UserName_/Password** +This node specifies the password for a new local user account. This setting can be managed remotely. + +Supported operation is Add. + +**Users/_UserName_/LocalUserGroup** +This optional node specifies the local user group that a local user account should be joined to. If the node is not set, the new local user account is joined just to the Standard Users group. Set the value to 2 for Administrators group. This setting can be managed remotely. + +Supported operation is Add. \ No newline at end of file diff --git a/windows/client-management/mdm/accounts-ddf-file.md b/windows/client-management/mdm/accounts-ddf-file.md new file mode 100644 index 0000000000..311ed73e93 --- /dev/null +++ b/windows/client-management/mdm/accounts-ddf-file.md @@ -0,0 +1,179 @@ +--- +title: Accounts DDF file +description: XML file containing the device description framework +ms.author: maricia +ms.topic: article +ms.prod: w10 +ms.technology: windows +author: nickbrower +ms.date: 04/17/2018 +--- + +# Accounts CSP + +> [!WARNING] +> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. + +This topic shows the OMA DM device description framework (DDF) for the **Accounts** configuration service provider. + +The XML below is for Windows 10, version 1803. + +``` syntax + +]> + + 1.2 + + Accounts + ./Device/Vendor/MSFT + + + + + + + + + + + + + + + + com.microsoft/1.0/MDM/Accounts + + + + Domain + + + + + + + + + + + + + + + + + + ComputerName + + + + + This node specifies the name for a device. This setting can be managed remotely. A couple of macros can be embedded within the value for dynamic substitution: %RAND:<# of digits>% and %SERIAL%. Examples: (a) "Test%RAND:6%" will generate a name "Test" followed by 6 random digits (e.g., "Test123456"). (b) "Foo%SERIAL%", will generate a name "Foo" followed by the serial number derived from device's ID. The server must explicitly reboot the device for this value to take effect. + + + + + + + + + + + + + ComputerName + + text/plain + + + + + + Users + + + + + + + + + + + + + + + + + + + + + + This node specifies the username for a new local user account. This setting can be managed remotely. + + + + + + + + + + UserName + + + + + + Password + + + + + This node specifies the password for a new local user account. This setting can be managed remotely. + + + + + + + + + + Password + + text/plain + + + + + LocalUserGroup + + + + + 1 + This optional node specifies the local user group that a local user account should be joined to. If the node is not set, the new local user account is joined just to the Standard Users group. Set the value to 2 for Administrators group. This setting can be managed remotely. + + + + + + + + + + + text/plain + + + + + + + +``` \ No newline at end of file diff --git a/windows/client-management/mdm/configuration-service-provider-reference.md b/windows/client-management/mdm/configuration-service-provider-reference.md index 85c2515f2c..25ce5fcc58 100644 --- a/windows/client-management/mdm/configuration-service-provider-reference.md +++ b/windows/client-management/mdm/configuration-service-provider-reference.md @@ -7,7 +7,7 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: nickbrower -ms.date: 03/23/2018 +ms.date: 04/20/2018 --- # Configuration service provider reference @@ -64,6 +64,34 @@ Footnotes: + +[Accounts CSP](accounts-csp.md) + + + + + + + + + + + + + + + + + + + + + +
HomeProBusinessEnterpriseEducationMobileMobile Enterprise
cross markcheck mark4cross markcheck mark4check mark4cross markcross mark
+ + + + [ActiveSync CSP](activesync-csp.md) diff --git a/windows/client-management/mdm/images/provisioning-csp-accounts.png b/windows/client-management/mdm/images/provisioning-csp-accounts.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb90aff58271d542a1b1936ce706c9497f52d73 GIT binary patch literal 9090 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 F{})irFgXAK literal 0 HcmV?d00001 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 6270e63cb6..6c8aea7fd4 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 @@ -1340,7 +1340,6 @@ For details about Microsoft mobile device management protocols for Windows 10 s [AccountManagement CSP](accountmanagement-csp.md)

Added a new CSP in Windows 10, version 1803.

- [RootCATrustedCertificates CSP](rootcacertificates-csp.md) @@ -1356,6 +1355,10 @@ For details about Microsoft mobile device management protocols for Windows 10 s
  • ProxySettingsPerUser
  • + +[Accounts CSP](accounts-csp.md) +

    Added a new CSP in Windows 10, version 1803.

    + @@ -1654,6 +1657,10 @@ The DM agent for [push-button reset](https://msdn.microsoft.com/windows/hardware +[Accounts CSP](accounts-csp.md) +

    Added a new CSP in Windows 10, version 1803.

    + + [Policy CSP](policy-configuration-service-provider.md)

    Added the following new policies for Windows 10, version 1803:

    -

    Updated the AssigneAccessConfiguration schema.

    +

    Updated the AssigneAccessConfiguration schema. Starting in Windows 10, version 1803 AssignedAccess CSP is supported in Windows Holographic for Business edition. Added example for Windows Holographic for Business edition.

    [MultiSIM CSP](multisim-csp.md) From 31fa186d3d62862de59d5468854d29e866c714ba Mon Sep 17 00:00:00 2001 From: Bill Mcilhargey <19168174+computeronix@users.noreply.github.com> Date: Wed, 25 Apr 2018 17:09:25 -0400 Subject: [PATCH 195/212] Update windows-defender-exploit-guard.md --- .../windows-defender-exploit-guard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index 9c4f1ddefa..e99a67f349 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -70,7 +70,7 @@ Each of the features in Windows Defender EG have slightly different requirements > [!NOTE] > ![supported, enhanced](./images/ball_75.png) Exploit Protection - On Windows 10 E3, includes advanced exploit protection for the kernel mode via [HVCI] (https://docs.microsoft.com/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). -> ![supported, full reporting](./images/ball_75.png) On Windows 10 E5, includes full reporting capabilities to Windows Defender ATP console. +> ![supported, full reporting](./images/ball_75.png) On Windows 10 E5, includes full reporting capabilities to the Windows Defender ATP console. | Feature | [Windows Defender Antivirus](../windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md) From 29b1a421977d9bb9beedc9d905e2f81a87fbb680 Mon Sep 17 00:00:00 2001 From: Bill Mcilhargey <19168174+computeronix@users.noreply.github.com> Date: Wed, 25 Apr 2018 17:09:55 -0400 Subject: [PATCH 196/212] Update windows-defender-exploit-guard.md --- .../windows-defender-exploit-guard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index e99a67f349..1f4f6e8e7d 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -70,7 +70,7 @@ Each of the features in Windows Defender EG have slightly different requirements > [!NOTE] > ![supported, enhanced](./images/ball_75.png) Exploit Protection - On Windows 10 E3, includes advanced exploit protection for the kernel mode via [HVCI] (https://docs.microsoft.com/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). -> ![supported, full reporting](./images/ball_75.png) On Windows 10 E5, includes full reporting capabilities to the Windows Defender ATP console. +> ![supported, full reporting](./images/ball_full.png) On Windows 10 E5, includes full reporting capabilities to the Windows Defender ATP console. | Feature | [Windows Defender Antivirus](../windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md) From 6c68b4f7a8f4938f7edb57917b4985c87bd689ff Mon Sep 17 00:00:00 2001 From: Bill Mcilhargey <19168174+computeronix@users.noreply.github.com> Date: Wed, 25 Apr 2018 17:11:31 -0400 Subject: [PATCH 197/212] Update windows-defender-exploit-guard.md --- .../windows-defender-exploit-guard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index 1f4f6e8e7d..d1beef5882 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -70,7 +70,7 @@ Each of the features in Windows Defender EG have slightly different requirements > [!NOTE] > ![supported, enhanced](./images/ball_75.png) Exploit Protection - On Windows 10 E3, includes advanced exploit protection for the kernel mode via [HVCI] (https://docs.microsoft.com/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). -> ![supported, full reporting](./images/ball_full.png) On Windows 10 E5, includes full reporting capabilities to the Windows Defender ATP console. +> ![supported, full reporting](./images/ball_full.png) On Windows 10 E5, includes automated reporting into the Windows Defender ATP console. | Feature | [Windows Defender Antivirus](../windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md) From 39c50366f61a5e7e2abc1402653c7f219197f251 Mon Sep 17 00:00:00 2001 From: Javier Aranzales Date: Wed, 25 Apr 2018 21:11:54 +0000 Subject: [PATCH 198/212] Merged PR 7491: Added Bug.png Added Bug.png --- education/trial-in-a-box/images/Bug.png | Bin 0 -> 301184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 education/trial-in-a-box/images/Bug.png diff --git a/education/trial-in-a-box/images/Bug.png b/education/trial-in-a-box/images/Bug.png new file mode 100644 index 0000000000000000000000000000000000000000..319982163188b19b00d4ca76375d36f084463dac GIT binary patch literal 301184 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ℜc?w8ewOxFSmbPeTwr--~~yLvnZN@=A&28 zH1!h?MvHNAkA!V6^#J!>$4|I(%O7#A=Qw%7;qhbno44r>aYcYwn5%6^D*uw;yJXE+ zrl5T0hvqMY+)s~UF$qU{BiAQG-mEY5r7beXTLYM-4tZG0WtQ04fEhrw@N1#+?&);{ z+P+-pum^P-{~H2t&)K`Pmj`~X&<724n22A9*T5^E<&+3zA>z0-`@^(8!^#M;)0JMojsKQ+rGxJb)XZ$~1yB*Zc5)%!%5=#>LXre4ZSZ*7YCko5=HV z-P0Y??ls{BeN7gf7rtbysORYO!1HcJZbUBhGNxAW*A*)Vg~W9xeu1yxQsPkt3nK=V z(^s+U3;x^nmUyK>6i6Z}Yfz5gYUr=FP9n(oluY~qt%*-A9eix!B3+#eoK%}wM#J^>bIlN^tbIQF#uzyp5*_JT#Il;U*DxPGs|>0@47jyy%$(iq@$W5_;k=>;m7~ zh@ia2*%`rB**}2fcq>MI{aY@psXLZy9pFHWO*Se9E+&0E=aisyp7Ip+kyJ= zWi9&alIP(C?Sk-oPjIy0%FvyYad_b+k{`esT@1Uf^1&@`x4rHTo5DT&xW}(=hqA7d z_Z_Zqg^|qF;VEPUMTQHDKHZn#kuG!?!0OsC@0W8Jv-o*YhOyc-LOYP!czpzTs=u}|IT=}?mnCtqS zge(mjPU(VWFr;iD66Xnq#m0)wwe8Uco&wlBuj#@npt5ymWLzqGIO^-zaXlCOaGDjk zt?f9>*|FyC*-d>vL$vM-EbdQ|#=Nl?YaORU z7E2z>Fj9anCJtb{eWGn1fVT8SfIGsm-A)3&g~j-G{dpKdn`gSndy}iS{ANXW;_Xyu&g_c1o|?EYM-%_^sU_lM{o_EE0`-J)F$;Ud za5jq0_XwquT75u{=<`?{W+XGFBhsbf{+?thyn&2#qfZ6SaAN?XQtsyI9uYz`mB^)Z zH}I3s0l|B=sLU0|uO{)13%p4fEyX}EE&SxCwPCV8>e?)JAe1bFJ5Me)ez5F)l8PWq z=4xp}bZTkgweJCfntHqXEPqfW3)M^%lL#_ArL>`>NPxo98HZzNxtB9DTiH@Va{2r& z_-ZFd+|BzB8-Ee0iM@*vyAlHCB5logHC~yAQ+p;|nJN$NnC9ijjVfY+gbX-#sKnQp z-zYKKP{PcQ z#lhmOrL1gB{t1d8!3C#6s=y^)KKH#ZB7x`q@>KNumEzikYMHr2^VzpH1f=E>l*;@ z1WaCpa;x2SEXlyJT|XJRz1W2_yP}@ucgFg?si6}h=dZjl^|w4TTHI(kUXhuR5OW`Y z_q~XHX54>n#0anc5(tLOTrN0kPrHr@%ZGoeE&3@fZIgVpL?wHL%)x1qp}gPX_LbS? zh74YC3B=A*=`*$~+5J7t6AwFp>$Bp&a zD9$9^hzn^9eahO03d5a)_k#m#DqjEz6Iy<_2St-xsT!#DxF0VU{Tu(}5*tEOZykp> z+Q>vLyS}N@pSS;KwUa@-r2CvaS7M@*7=4byd%gkou{GsFm#JqtqmM(;TPPXU*T<@j z(7Q~MpDk=jVBPsuKK2ZFeB&=y`FR+*u~!iV0-?tbyMFe?&gEyDXd=YS<&ph8Z>K?s zLjVk+Y4WWK1bo3=?F9uY;n~eXPAr_=_95h()XLXUUO6d!ywgMpunuDzdmCNn!M7%g z5+*u<45qkSUyp-_tSaM&kD~|!787UOzBVecRKC z+``x9vg>aNu*!5#qVhZGZ0HRH7T#Pa7Np{NxwTRw+(r!OUL_l2%DvlFDRBR8X5xYn zi7vBz+eiO=2>;2#cG1-OA`>QaM5y(nBB9--V7lETp#!-*KUbMv!e0*0Bd;3Q*h0FH zdcU6(vHIQ2#z>8T3pN7$*G9g@IWBpEb zNhm1G5hInfFB!ryw~YDab>ff$1MF)vZ&n23Q=_L{FZn1CAzifV(X`h^U(H!k-{ZoG zz8np>1XwgMC#>@mUtEidw%M-ayHqD9I3PwR`ug-T4e-7ZA}GE~{Yom$eS=1@J6`t5 z2dL#C=+%3Ip*~|7xWH4}&pmEmM{gsR4;u>XtY>N3-D9t4y|Vg=Qw$4|Csc)APPUs` zz(a(pQhm$!Oz8fz?5-PqOO{=JjcCD{%`5L0O4|W0iwQUabCMwT&e${8BkJX5k>m3& z0rc+Ab4RkA-J4y4hRrdQWNm+ z&uS*wn6xCM))UF}4s%*X;_CP$#K~*c!B=dgku)Jvk1Q#O?TGQSP_9l2j|)C>=@M2E zs-tz^yM(Ujo%Leq3RaMPBxb@+mx_WID)jloBb*+)3w0%qBaH>W;8xc5(y0Cr?I6fc z`8=NWgH&&|2s9_1^ljDF+Kv>jE3SrvlpWEVp}>#JdFyPN5%R6lY1jI| z65lf*OeTC%>d}-Vv%@m?+F@t&B(2U%jvItQnM|pEz9&KObM^AmCsc;o*tN64DRRve z`I*v2nfS*$J3oKEq90fdv-vFKCpzThf4UXv9#&?vI@G3}BLBwL`Zqb3O%?BXQ%TK> z)ARF`NIG8Fk$s_K)~c>nsWW`29e?LJ6LHvFcp!HA)vhPeS*G{M3g$tb%a;45_hF73 z&v@C%t)^4!(9BlmKOvys%qQ@mNSUz$;jGa|sP-b-CV*kp68#rp3g8MpOkfPXe6_C} z*6)+7u2;+XC%P=<45=1)tEC@!e|af3IxqLzUl;l^>~xD45Qnu^$-iXfn=sDi?|&GP z`MFZ`Rm#cU3zdJXiT_GPfd{Agqis`tJs$L&MR_euTq(d&PbBk~7elEu&wW-UIVN|Y z7h6%{lu0FWe(4}mcOAAaJf}QpTFG(2(y>qq*1NpY^TOE2bnGhYRQvk+!^my5WYKEQ z@|&J7W-8^+81ZICa63N3Vj;S0(s~*bn$@?-NtS3=vn9o!)o7+ZTta$g{^Z_+Ee+i( zz+j{6c~M3B;ih0D_H%aJds2-CIyfKnlsrTzM9)c*ui3@+#Ttp*fDHx3NKWB<#}=xS z(AKv7xIn73kKD~(%6t%;?MS6}R7hn0KxGjgbmjYdU5Y7xI{ebDx4z#tPM=l0Y0VACBq*%B$-1XwS4LTXR_{mA-aOH=rdEGn>EI*U;oPHu4Q|XWMsKDDo-~oVN#z zeZ$aP`KfTQeL#-P2H_PeT}u0Qq2=L<5-@>Z!j(t0?l+_-Rhyd8qb{lOyoDE$nMuv( z*UVjL7@PJ(!2d}SP;32bJlH7kT;x~h!S~zQfT;7VpM{rd9muRq3IU&e(#)0~eK#gNT37QT3!pPO860NQoA&IR#N|s}aoW zeESn6FV$dLf9ZHjZbFvrLoRsRjR@`tdgun=bsdD$W5=$Vh9Yjyzbsw$@S*Ux)cdM2 zJv*M~LEfhmRpEy9VupAFv_S3!c!2nbqp@ROBzy<2w~eT?$H)ZZJmn}OJH%VE=|I0Q z)pvil>+ZGb&cUpS?f;?`t)nxxcHGr4O2hG*N^|NFSK{O)D}x~S<#@?JL(yWIMvR^7 z+&zQYx~TA(ny}NEPZ8XW!BULL8uWT2$rrvM`GzEcvYD=AQ?NchOh}(h@X7{pp>?rB zkn4_+BjHI~I4Vwuv>df(9{O1ozP#JT+jY!|z$&xu3^&|Z=L1#{jF@Q*a||E)$^!;$ z!7ayfp0+pV&+mMjzN`hwz92Rs_PJe_(bIXLC{hYKXStVZE-ErusK1`^Tzo=568o3% z_I)7hZ*p!3bc)R5Jr+A@AJ`b#`bK1}uO%X&v(mT=6gZXx(j|nVBSv!y=gYb4cXWyx zxzx23q&089Zo9s*sJB9JXdhM$pvI&jfq9)!A z{W0fYKq04w8P2SJ4w`&Mai8Pyyvt6D>vVSUMwvt<{~MP6jZ7+t+xp!7ke>L+JoF>7jS2C!o&~CJ5lsdlc zBE&f4Zb3erh&$o4HU7|lnB9M`zTBI%%7wj8Mx{()I1&O;T1)4+SP{#+yk`IB@1$*18 zh)$3H?8kq*@?iifsUQ**Y+ucSY_5Psx0bE+$1a?fcy2o;qAjZT7wqTla^D)v=;a^K z>W<%mq(S%p{yC=)sZu%W%lrN3_4J>B;k73>t5a6I%tQc9#_f4Bsp`N-~qn z&p!kz{w|C;(JCsKQN3*b@{pIxuP%lj)=cWTi&g9-lgn-jIt;2$Q!bc%z}fbGgz-ZB z;!Pl%w8a13=ci`L>l}53$3b6$i(>pFxPL0-`7Z~ES+Up|%r-9K1LQ2B!aNetodxTnUK zg_TXdDuf&IJYmLoCUVOS@TtxCLnr! zqF<=-M_;6VUX?l6cDYW-A|4oC+hUW(2Zz2Ie>M7FtF75UHw~TuTHd7fOiwtDw!^>P zraBKUX*3l~$rPbY!F$p`9KSFa2BHekzq?e^$?=Di9+A#O3Qu&(KP|v=j%%RDCYvo8 z#v+ONQwA$W%d+BH)#FbIyF~m``;qslcV9YH2PtW!4sTstm;K!b)VnLIu7g&5G_laE z(W;M*uMr;;3I7VJo*-Or_5#WlB~$$DvbAtTSZ^;wQu&0;B&_8A<(0xt6Td}kUNJVK zi_NKTEhz{Xs>rbeKyx?e~rzh zo2%um9kO4*o7wY3-ST$?N~faQPn;1#ak5zU4g#$I*d;t+43+QF0D13Eg@I^67z+T( z&#T=20vw-Mx>jI-#cB@E^sE%mGhrl9>=5DAe=KIs))t`1r+;sUK0r3F#j5#-`^9R+ zw+ON@C&qlg!2~`IVf_!>xk|lzVx4Rmf~)49Y}!Uq&(tHQxdp{SPDW|;KV0*7dpdt= z&rE`=NG8!L9G(AE3D(HQ(Rbe-*)R0~aOCGNYU6ajw=VmvDVgfhbb4t9dU-|Rnat#w1-V2u zyFrWmoifMoeFSmST27X{TdAo87o07{wk0+?qwmHl?ij~nHtHJRrBq#dkZobyd+bs# zT~$D4BU>F}IuWva=Sh%DQ&$KKrvzk@?Gb*S%wuGT?#^@3JzsX6jlvnLyFF3xr@_O` z?!SaabFjtKYtiCn%X&V{Mh?if+}8q4UB2n$Uy^h?fwt&m)dejYKM=WY9+ygQ)|u7# zX&}Arfm%DEL84sF)VR_g*8^WbL%!9if2HFf(at#Yqagdm5GiQHK_jo{=Oyzp9XX?X zcdN;RRcs^}mMVzZ_8am0b0r;IV!UnesD8tN1E%iK{N0zu z`@o^&wuv~3Y{Tf`WGV^|iWSO$;L1<)n7cxiO|B6e305X6ZU z8g<=F*@OR6FeX=OzD=}$H0usjEWRA=8PB?hTyh-NNNfq~LTWj?MrXP&ujVCO+~2NA z?5pb@6VB$?^`B%kT9sPXYvFBdb$Qxj%C!$btRSS_H72-9e+7Ag-7(n%Ecj z+kIwzu^t(eeZeUFEZ0L};P_Y~j}a}TzLobB^KfQfDoPcF|85x;)P$(DaaH1y(VRC( zfOccx^Tohd*|OF_2Z+Nt`0l2qvT{T zHKe<@x*C{bx_5jTzj1d-T#we$Kf`+aEC@A?bI2#5>NE?lIS)p)?(bGoZtNZTOFc9b zEaVuGW#>pf7zxPOSbv#aIf@BwzyhXJ-3)nSn|sYrz3^x)HsXSB6=-lQVZ%>L{Ri&B zq`l}p(S$h4ucQqvbsM}ME zkIU)AeKYSwFT2Vmj`wIklgg=jwfU_I2gvu6uwaMp(l1$|n#J6A-AqrLF>DHHM~Kq+ zjk!$71-f0DyW*Pn)j)gasVFF1d|VVnZsj@FTi4;_bY1qJA^5GKe}5}%#`n@agWvTM zv~S$%TurmxcU~#6=}lAT-*Y>YIs@IX<32I;_YH!#w6vz2uJZ2NbhWm3;Pf<~Lcu2< zf192drig)>b*B+)U2xv(UD!OFx7#W`+?+*>b(7CgV!1QmwFoa-sSq8zv#~s zvGX+3^W*?LRsNjR#pmO~5DKeSvpFt98lnYfo7~j%1jy1{$DPR)?8!t-?!iN#Y76`- zUP|h5(4!!HI((^PS;-$Px$SHb-=2S#uQu~OERMi@&LEqwK=c&&$-jmv(*3$v3Q*&| zdkC-`U&?s;HyMHo+3`yNTX}j6@sHQT+xSKIEo`6ON@n$msEGBbWx_MW;tC<~Et{uD zG`}#QA*X&{Z(dHXF2GH-|CGMkU3rY2|6tY^-Sji)ooCkYc7<$ywcZcW@U%U|#P5iR zqk<1V;~9QrSbgyBAzCh{G(O)d?fNBKxXx@oBB!JMbE^71qDm))HS&dQ-JXhpf#E3~ zRmYRxgzw7zde5Hr=vuSI9WOnHv-4b+)B`%~n;`rz$wlANaMp5whwM;$=atxum zVdg>-W+w;z7@u68HdBOpeL%>TE-o%)a+Gc-l~svY+dF6rx$`Ks3Tstyxw-Agu>2K$ zDrxNZ#PL_Q>&sB)U@`PAZUn~85Rtiv36h}i?nwxF;esfMMg5T@7pO6zIe; zdNUMByEK`cOu0I~=uL%M2n*&IaG})tU~k zg`Y8J_B9VY;k&JcOWe}i2lxxQty`eqoL^#z$4fZmLwE4rB;lC8bnguZYiMGK{;*qH8fDtrm$PcW$uT4L>*+_GulE^N5jPl^r*H+gy)gWc~N^P_} zRssfVNAp@$P>_T;lo?i}r@kT4e7w!_Fk=_k*T;{cQGj6egH8AT3^rc|$t! z({IQMiG)S^=&b0t5A_*Iq}Wq>3cFiAsJEK0%rvBSr>&F2DZN7r^jj;GptHWY7Dhr@q z5IJnZs@ZSM$-XQ!-W^|{sevJnQ8on2HF+s|Om!RcTv*7@>{Qv;yDK8VPhJT%7z?>V zeEmva)L&~coME#53eOl6P5t6}qJr5bAMxi2-W))CHN_(3sHXX8iFD1b9*`>9x+h}3 zo@Dj80*IrnlCYC~QQWR|)rCzG&$FW{|8`V{iKGycz{HH1@P9{55U&%E%)J_T6&n>( z71bN%8RZxi34{H~w518)ue|lm@Z}M3S%ng@+o7#L>pAY%=>lC$NMH33sR>b{#ccy3 zhA%+PgBoW%1^Yxz45p5O^q~;CZlpX}t7(cL0|kg(^9jbR^+cB&OVDzkdIb*r5tcXm zIH1shc1zC{csTvq&WuKk<;gLbQw-(FZUy$#l>px99db3>7I%t{141=0zqksOvE}-OX;8A~?o`3mW`bJG9$w&p?9#yZwsB@U zZdg_i_a9oizEh!)ESD%RcoeOHoD)jzsS z&tH%fH8nv2=7XR?v(wtnG!61j30?8=8v!=MjRfvTFLHw(t>+WmD!pIm2;L_1d?{x7 zC@~RJHEk)J1_F+amNRU$-pBI!-1W=EzP z(9ZEjeI-R0PQynBg2tJxUqOG@{6swKJq9Xd@|5hT-KP^IYjLBVkDKq1Im!BUmMuY+ zfC0eO=LDq~o>xP3k@>RLSNKFZ?duyBvi0lC;A6K5!2o~xp0}uoa90yNKe%L8yTjxE zY&zN_>4M|;d>yx^$)_>SM*#ZRd4pqv*$j2qv~twv0HP6y32x?v-8vJtbv=C6{n}UK zdb-|wGzZ`@cBWB)7Ns~v^tHNH%sYqxwFv6xKe<8@HezXX0etJmH8J-w+Wf`|w4 zN7(uH27K^!5PyhB9}F^Q;99?6?_e=Arw?#cTPFii8AEpdKrzvYDBy6e#WPuiWODz8IBxgnpAK_`-T z8(X@~!13BH)DMIyK?b$?;}$WgauZXfVbfDzzDJ3O7(0FF)F>X&(TMn(dk+6P>Q1LJ z?<0F~VBVh}F{nn;;i@UC(1!UZUeSctU$!&z4N}yf1_nw*hfv|;t6>W7tomVK7w5bE z=?RX?^1D^q@78eszM`wdR>qw3rnv7%rp}WSg&C{Y%8BvkYT>WBXQ%#t1_y)V6T{SK z2GZHYUzffM*kp9r%t7<^Jd=F&D$tGU%}eBOqA~HE2tVmpTq5RYyWgoyBQWssTBQW@ z*F@1S6!lh8*Hwki_C%>ytkFbXQ=v}bqI7Qk!gMMZYtwzSyK&rI@ma@q&D$q`xbX-c zog&&FZ5q#rM1K9xCdZQ{wRCeSfVn}v!DdDS1x6<*Ra9n_e^g0SQ&cup)M&KB*Aqjc z@Yw#vXUa(&H9&5yt%iE>31Q#CrpSKzMi*ar+*~q12)%B0u(S( z$*Tq_uOou}R%uW6?J>U|82TDSHiN~(z^mh66||FBKO$yTH+WAh$dTD8<~=N_oBKKr z{Q;Sa5hEuk=`|Gm_ zgz*p!K5YVCM~1)fTVV2W7%1svM9o!7aG3fb9(Aqv`FHvL_FSE&JC>k!TOS8^w8wyB z2FOIDX|h3%8$J|@2 z?>etLY>P6T(-=R>RK_zrsvY+puTcy=UE+5=jCd7O4K?(%7$7Skkt?N!8S(EJDN*gQJBxHu0Hmri7LY+6R?iavC)FTY>93~c|? z+814O&IO*W1RsrioW(*M2W8A-#qYl{%6^`ABlWf|`1Y2O=qfK8`L|Vc;js7>Zk?M! z_-5-=$7zLQn?(of3*T*h_?(Wxm<|}g_@>nsGZ$qYm7Eb$V9g~f{8tgmf-;^aLs{R>XLA8Y%llxl# zE7$DC;Kc~yg&Uu3CTtg~z$D^FqzU`%;E&3G5o9PihdJ{tg6WrH0qu=&CLu;Pc{fYlU|14A!{kFMou{r~Ph zpJ#D3@8Xi-VlqmZms?4~uKmFU1N2O-K9LT3{&M0e0NQbw?DX_gc5ChZ)nc3P zNQ4$_C*%!ap`lJMtNwLudrl_e4Xf!l<{C?P?3mv|6CQwX*9o|r{{6CqVqNXHqjd{N z6=zcW>u*wY)VzVK>zM`E0w!-q-)@B(8~f}sHo3$#2BRL`=EYR{!RDA&ibp%PzA9AK z7Hj7f3laLCIia&+wvh#^r&6b=isy` z4+3*{yy(EAIzVclDHTIrQa7KA=5@+)%c_Z=f4Zo=4xrl`mD5mdV#CxeyO2AFOVA$H zY+>XToD;JQ$-bJL+Ud>~WxAdH4*5~r5}$Bg){msS-HKJ4xrgn*?kZ#Z)Ry10A{Q1J zN8)#iKw<)E^$6Taedr2hG&YVrJj3J5MdvFJ+2!E%Z`>^*lmSIdz*(@PJoEi3C1w+c z&uUUx9**E5laGy!M5)p$JUg4{uzk^3W2H7=nf7}C@{n7W_Wo}_W9&MsMV@P*XW^J! zZY=d#$4=6|W5f}7ztj4*&!80MIMiKIO-gy|V|2?isZY?AqH@5OQ*o=JjGF z%Np3VT3p;rk1K9yxIN^>$^nibFSnKGCb>nsW@opVnPhg%P<1NM!{l`yE%HKMRc-Q* zQ#~|BRMu1Cv^oJ^9ZN;C>~pE2@%mEidL+ZTO#C{^n1VcN8zcx?@CoM39j7@@WYN_S z273k8_s66w&RP}N4sjJtfHfHJlrDD6@Z=WT_lYLs42?VBC~N2?G%CRRiefTXld*L( zV@2LTZRL#!LeNV7erSmVZbSyQjlE{st(3qwkT<6V*W9glJO+P_%8AQ zq)1P1Z^Ltax1$z#t1Ch6&R$uShxZm0*vlwlLYBdXOAJA8Z2pv??5LH+U>_iXy53&V zL3)BlLZv#ls8c7SF^+Bsa$KOsf%)O0wQEf4q~9f5e0zcvV^UwZV*Peul=koo+oZ)+C&;q*3Uy;X zUM@N>%e8qY1cirrb3!udt^`Z$XeY?mLL4GO{;L;~MB+_srNIgPSxu z((KPiE$6?5Dsz?{@c%UVgk@x>3R6-6qD-15G;rF=HFz$iTk3YQ@qy zwr++=rO~@;v`MDdt|9C63VfXXspLaKMNOaHqSx&kgWBemT5pSn@4{Q91!)^b5Ka4y zil!Ai&Y57`L}(DLkOD$+o~G@<@-S7vcN`7lWm%>t%-NHD`-gzuK~vDeS8CT0=8A#@ zi&BzB@8rV@+oh-MvX({Jx9oTSuo78anr!BKy=ceY$>}&WdaWaGtml(EE*OW&*k|Ww zEGZq|Oy6Q)a3)v9aMi4yzj0Vd3|A>T^7-%R^6G(p%x5~hpyyW_$>o*q#wM(@jG7-2<2C3zAg)uO8X@M*Q_!=FJ?W03tTW>4 zS$_ZeSc&0DK*}1uxMgcf^k-569@hrc?S5M-4Q!=5cKit+4|_OeKpcs0tRGKsujc!8 z(TG|Z@trCIPaq?_{HZsu0%B~Y3x&ZO;qxEPVjWugN2pu9`bDd; zHhdnZD4IX}19IU=AapS_m^O3y~+RXU&(h25me$FT7Ji^Rx0mdvtY$zwk~VkEjtBI_TvKGMX%9U3wyBCdl>V z!!gn0+Fi=g>R^ih9bFcThg{}tTLndAc>djy3(|2w2ZM7gs^V++W+qVKl_Av#5^kre{YoZ4sK*o@i{ zN(H4)Hz94VQ7W0WSr$_&IuAY(J!JH03#Rw?UAjB0;+>8F~Qg^bYcl1aMUe&jwRKsYpC?)GFL5pmD&v|OW{np)qv!1IZLT0I zca=C-*KHOAZd~c5W{Wy9_Q96|Zq(a=7FFB%duNH6*JN)3KE;yyZcc1ctAs7XC5N-+ zr{W*4@ydSudWKQnARa)Q`GZqvIr@_t`by?+>g%uFB#I zALk`9@UHqUBmOX6kpFi!^T(qn$)`kjXlLL2HwG~vOXnM6W<1ci=Lby4&uRoQzH!9Z zfd`~Vrhd{&ynm_y5T#Ywr{5d6)hcv&KnprD50Lg zJ$`9(F8Dg;OjM_}9K>fBJlo%c8OuUmVZ-Ctlai#8gigXU@HtioQ<$H?GX3HN%)f6n z&L!t#DfGjC-r;Nhf9$J`=;10pv-5mnK-CY7S?g4_k1rIbNIKkbm zp^-H1?oQ*-!1TTM_n)bGHZNe#gF_Vsr@Hp;v*o+jXDtA-oebN4`W;2ZKB*Wp#|nG{ zksBZ(N};o##f=(D0+JyLqYXr*Ze)ROM7W*P5a%Yz1+yk*-{LV4kD&dO+mzsiVRx|qs#!}h=b*~k7C$vnRnTnw83+ze#e{>e-UgMXdd3<^h(-T)N& zq00WC*Pjd`8`WYS;L1v&R-GA&fkdMlREfa!bm#-lDX~+1!HlI+A$6p+T9c!E=Ei;` z3O<4lq8$a>4I>4{OX4@dR|Rq|MLi-QcEOGFwNm>0{Sq9I63M=kRu7{pP0H*vPW96` zz_V?{?`|WaTq=`M!>0+YW=!<9WnvNCovdju->;{oL-<9Dr~A6H<@XX#dp!tqU`Fpn zTHXCSDWA_>l5c#;HbcnN~?649z0#d$?JDnDMRHGp*oP_ z+?eFpQ>ds;Q@$xW#lcB3(R>q0KxxpaiR1HrD|RzJO;O(A6DYvaR<}R-H|e?ZY_iyy zV94{c1hGbVUUfWW(O@<_Dj5!wG;&PURN+6*{SH>{-|jj&^A~|esl5V z_Yn6-W=$JKDU|2fTGu(-743*WC%<$3J>ckXn~+qag5-vioNf8vtI=S3Oh zMCKo?r)R*X2;?~TL5=CbV(%sFt68AngF|88xL^ucTjcMN7()1=oix1P=zZ_{So`98 zO5~8q5|Mf-BVGWn>&y}nK$J9*gp8YVtZJS=)O*(>MkR`1ehINV*nHNy0_UL{6Mi|{ zp@ees%$_v;?-oSfB4D#`$`QaMEfq2x)L0Wk&bQwX2IRE|M2$ycWg;F(Q4Ig4kGl(b zoh$~3de=Yf=RL|<_#*anpmv%8$fT7e6Bh1#(%N zLvT5z{vvRuq|-MPA+<@S<=tDd7%m_tK(O5FW02khp*FRV2Xzg&XL55Gt=3 z!u=4|j>5w-br1;EmD-3dw!1ex1|I)x;jTiVNFma-K8bjrlyiJJz^c~ta$Q~fVx08! z!38ZUe%{aWVzW42eoGd%KbT^Eh{O4Lk8<#9WIJpu3G;6oeeyFr-nwh%W;MPf`>~vr z40qvi$|~bXSr6xJ7F!|64LMI0KJ%nMT|mLdosVR$fp-0jWICUHcm#>W(h>&}Q;n)b z4K&r?Sd~4&weaq2iyxxjG#y_-hVt;#?cEKCzerGWbO}CL`aKu7D7LD=%KBJb!z!ve zZt!qo=cFz5r|+O;MO39EnV3sHk6yYu25nE_cMgQ7ctvTZ4YKuvxRKn z)8D9kG-A3IL$;u_aXGJ?aOg8KoDgVP?`gfRhg7fH_5bn80!H%5D}iY0oD5^6do9Ki@pAy%-DnzSmlk!V)kYb$seE%-a@}ww5%`Hy(%|_v|{b_x!=X?*(pK`XRP$q4tls#xcZ2mVC zq{qw0%=hGA-(c8jOEhb)CaIMDI&PDeUL{Jth;-EekWE)9;uG!nwVRnUcg)^mNG}G} zR!K>gRB2T)`e-J@xQ4-@l8~Nxp{i}y7hDP~tT}Exs`7-$5R^HZxDKzptV?;WJzlu9?3oeKYii}!2neJng36GWJWZ$Ix_VErzg;n(G6|#i5HB4d>p(vI+lDIFw`68l5 zEyqx*5QM({W+9WOZ97?Mnda5)4_9etsQZe?oPY?&<4zQ{4^rZ%ZK^J897h^dMle}a zMsp;A5fzd&>5~yWM$Qvn3KeW&K)Lz`yA!z_<;snn@7eB4p`Q#(t!c+4O~Lf-T@C+} z?=h=4-f49yZjDaqGg^T-0y%mIjmp_a7K&MMQ^*EEN24jDIgUZ&z^p>QTckv{?! z`d=0^c&4s7pTcX`oQ{F?(~Y5l=v$40lO7cE#*L)*a`(*o<0ZEo0)T{|sL6g~bx`-r z!R18P-)F{e3Pg1_LkEdf`8ZZBY*ypn<-cf=VOxwObJB=nsgW>Phzpj#qk%ET+T*3U zL0t3iz3Xp?L?E(Lzh#dqxme)1z8t(-LOxUI1^}~o$xO|zeOmOt8MUobv5_VhI|jBF zmjUr|gH~H0({YWFn2*bI%hsIjtNIKCE8u$dV(b;Kxf94BvC~HtJqP>x4Z3U@sTOn1 zs_DY~Cs>i~2$6$qwj;kt>vq$g?AfBzge?SS1 zVw8%>kP&-Xod9~!RS`cuq;eHTCkIu!P%It=BLNwXDu^rjoI>}frzTt#UujV` z=qo-r@mp-|7m6A0@TQgyPf2-+;i(uJJ!Ce>)L&TF6%v@_5Qw~NPeC5no=!_Xk0?$` zYJ%$Cs4^@Dyodm=tt-f#Xh>ZIou2j^LacE79!3K;25fJgJfnZ98M7@qXOjY*ZkCz! zvzVl%(7zXkuHHY}J|~CRmgJfdAmICgX&{#{>chDD(RTIQen;CG?wFsG*|bn%!Uxf&Pm2x_D}_EtYI1!Lji!Z( z<7>Vs-XD|r0hb2(G4X<@ceap3&g$N_)7qHSrm@0?UurR;aN8J&SLa2;ezX#ss}+W* z|NaJ~{vccW%j^opqW5e%#K~*r=uq3gO@9r$1W!w=QFR#c-|NL1lxVa;00WMBT1pGO zP+_0yhxI=BMoPn-=u15Jf*lB_Pctwyq!n}gEbe4qmg!lN2=^i|Tr98V&SagX$awp4 zdH}@z>rFURG{EdLgrK!Ho?may&o-_%E?*ICy(&8JK#(SreZtLq6n_nR;ywJ~jw9}+ zx=Q5n*Si{r$_41kJ%T2m!5#B4X#3&%T=QBExHWAt;rxS{;!9e!QqfI<53S*#NJA-$k0RwwAVka90}0gY#mD_PJWR8rTHaAMVYV75sRQ~ zb~)2cy{?c;i%DS=#MqMK7gRma(U;k1U%2r7Qp*ASDF_M@^4;&XAMKR=K)V!cLuE%5 zC$Gez7_?Iem|s1C;&nZf0JWQ^&rD&I1A$sEPg)sX2#le+Dg{2BMwcD;CiL^5TjE_+>K*ch8N z0e?5TZaPC(U5?c9%}#Pppw-?q-=meR3_R<`<-e%w4X*K|C42iG=JC&@{ilyPcL{qp z46m^O5ItjslGfhMr!Y-*P*P(HhPn4BUZ zm^*R`jNGoLA`A*U4!(;5gO4u};q&H$7v?aRsV7F{rSthg;Uv#MVpxf}Jqpjg@v*2#0Gj9~!1+G6p#BkS^h@~#_H-M zogTC{RLOI$<8~ol=)|0G$I5D&Xi|2T!=m-b%UrX_!P?r!SrE)(C)=5J&b{uPBZrPKz@5&e4HT^ z?QfCfPUs_pmOmPg4s)q`Ol*|2pvK~$praOEQueF1V#fEb8n+tGD%`XMzy^i`-k=Z^ zN%=Tl!cvZ!f*9#y^Iyq@l4)6y-$6gBQq1);XH~;Xqa+#GW-7EUv4KT#Un~xO^-}#2 z=DReK&viS^i4>R9kLxP7iPe(sMkP@A6R+(l`o%)?#z!u}WnCJSYI;z7MUx+jg!G|+ zoEMsAtSMvEpO!2rze0}@Pq%~4=}cwDbI(>TL93^ct%3A6K%bPRwmKo6;xzKFQuKbCdrQYQOsH~yv{IPT2}H(=A6S~- zBMafUA^*3C%(A5+&-=vvzCzZt#ILZ=?ejQC4kgCN{$?b38X7b{5OVk5L9ul*nrMfv z(f8h)-5UxY_xeLkKrvnxc10++A~hkxN%U+984z-8Rw!KG(RH_j01D2R6`&CBS265Q z7{#WB`EtUyLdMW|F-wYxJOmu9{*gU!3S+m1*0#ilNg9kzS-L933yHkHX>0^A+ywfG zXUgD=6!s!HlFrzuxuG#OLG$}kHIzgw5Uy=1!3#)1zY~)JH&8ytZ&l1kMiq0LQZ*lW zZXa93uLTq{k-;W5Ntr`$M?sh9s<(S7li9|w5<~vZl&==p3HDRJ*94G=+MM_|iW6YV ztwzxpLkFy5p3lWUSW=L_n3`^Ud*j)2zt^?}w~z$v>}H(4f+h0>w~LCEztVmpRJhsk zh>TKu=RtB^_wjRjb3ysYfS9*@(aIhdf4E_DRnNo-4k1?#+Fp6YEdjk$D@il20Ec}m z4sFSwe#oKd_?dh(x_m^*UD>q}Jb1GeeV`cmml6*Wfy=KCd%*oo1zmR)4F-Q6{5`IL zfX%)-r3ryHCHgitRU#v!K*RR*#5E(I4h0krqGg0Ijg6?TBxs`QQcAvxhDaE_&B!W*JeWS!dyWfoCRL%x3XvZ3tK7+u%l8BObVq9al)&;1I$aORwd z!?wgCnb?@CYMx13;Y;2jdt}7j(PkT!Ql$Sc*&O%9X^9Pb!~*3*&pPm82j7~x3IA?g zqpf$hpkP}iuo!-HcI;;0cbIkfWBUHF()-P|(;>;`r7n#BjLH5r;$bT~>Oa>VAL7>P z1gaUDdBx*G!k`}_;!9>XCT>oLfmmFSw)m4a=`}khlY87prU#TbGop)IC$Tl;fb1)$ z`is>i#Pa4hN*i-ncFSKiWau6H4i&&EK$KJcwOHSy6Uy(s=gwu|XB znv{K7URx>+ct+8!vn-L z0*R*GP$<*i|D85;-^$C`x=OUBo$jMEyq_U1iTPrcY2VnG9=lUF>M5IU7nhNJKAaRE z&#OZxlP))%GWI8?YFSanI!6xZ9PAbFl>6UNOAv~#Vr0PxbA$<)|-50 zD*W^AD9qN|9qG!`kB|Bi(4FV))>j8{6Zb+y2`{hT98fqs&GjW+_&!(UaX(J7U%qvxk1E)M4cMuJxyuY&d3i#sA?5THhBk`C}hX(&A($btgXk-_&Id1fEBW%lsbezUN)Iui6V`z?)>CxaGp^m#WY1D?IvQ#lPE81>xd*#b*soxAF z%gE0PSmko6{1q|1l9k`^Rs~%pwGg8hoOqHy_4UUP2 z*!|VTJR{K4Wy~`5(ksX-$uesXxw)`<<4hrIm7fG-FWqJ``&e)*1;FS9MeW^FF zNV3L~WsGodX+_7Uxfq2NGJl44{s1`mZx)34sc*;xhGb%PGoz4K+aO`{_FSC8_ea%3 zM>^L7kxqv@y7!A)F5$O718Og@v(JvZUY>#5t~;KO+FN2V@@N;I*91 zw@;QjNCm9tS!e6We@E5R+9->M4lC&$?6>}?8m_cMjy6;=>7_s2^zj*$T&QTvJ@WvI3-s|W#YJl zJ7k=p6sUyniLC@O$w}I9?9ov1Z>3!gn0uVC+QP#3Ymwtn1RZ_-KW+KA;Z=XtCI?0I z@0uzy*(AcoKKF%n(Ir2NfChP6-24KB*2Plg(XhGCze~S=-<@M@7+J%jCQ&}My?2JK z5Y0oU)67^zpFFN|F_X)JKM^LQ?vN{A>%e3%4QST1pekiQ?nUb;#qIeae@K&A71UQl zC5Wq6Rss8zC)rv^LxrP|MA#1_mgdx<|HYA1aTpkZTbU%E{Epb;C4h<$w;DpMisY)F zC(lWpS%y1o9w6(MD(_Z6!E~G#ZGap0v1#WZ`IiIlb8ko+cmo)_WVj%>m{l>tC%wa? z$dfSA=S4+%oB2yH%Bg?k_2iZZ8PdOc>1UC1Itrx&Z;Fu+MD(b4T*-(p!;ucp#F=JH zi@B@2*XJA0AD&(P$%6V=D?&5n);{Qsk3i;)*I4f!TXbjEuSUp8uk-n1m~1XxEVJ!O zA?)Cd9HKyr3U7R!)WH!AHLq!6(psQ`$5$k=2mFJr5g$?!!Vcn>%C-yKq0KFmKsMQ& zU0Yo~t`=eGW106msHiQim81+SNQmGoZmO0egF8a*Qe^kgs0oD=Iy~H-|>#;fMI(P zV>vU!yo)vL&MFj>vE|>ag;}RV_qSh;0~I^SMhiIdP47GSW08C+)@-lN)^KDn{S(HS zU$w;L@iy~py6|^lzRbhTI#<4qy`#wxeffE6LmP{X<1a`ScM6`0-?|^-{BKPDXJCfe zY=}k3|2KmCJ5a-aWpMsrm-*i;_J8hOq2e_E_4t1+@oE+CRnohE*G2!kd4EBb=KOa( z@W0!-3MKaN|M~xafAWR@{}1{9&?fJbK8s=fpQgQI3*~zQk73+#6L4^FsMD|9U559- z^OHPX3ec&hCZKZ#JJM48zpFclk{yvLEn3LM-kylZ5Z+&_Wamz`hOBKz0Kun5s??DG zyQ5(ll=%||@FzZvRA@3Tz>VlnQFq{+&Z~lVsNU#^AtYjf?bL~9eru1+DZ|re?VTr` zY5!0Eu6N;KgX|mZ$HvAy;aamrxa+TO7cP8^)ZU6_s``V3$=@A4PzVR+@lkh{5Y6iT zwQ!62P|+44bop)rRgQl(tFH^FoL%HJDQj2W{J694g7TV* z@ZWQB_;XE=U#hf#kP$aQxTko>*Dz`lmoW+A*PSX45kkwrlTM@mS0nsb=r+BUb=dOL ziL0aj=i$#C5fLsaow=R4*3|!C3y``g4;W3{l>L(~A<&p~JDJ#_{-@W%;nNBSGy>vVr}$E?WBgNu0_b zUHDHOH943-oO{?^pT)q@j_cq-)sI29d!jQouT=7vqtm(STmx8Ld*}LZW;y8Ky<2sS z*Ye@Uku5*QzkRK{vu;C$xR>`CDmpvDMf2~+4nT3j{!6Fh{M&`T;(;sqljg|xd3>1< ziVxwOc+pnn+E#~il~2(i#Igh`2y*YXmiSlXmh1TK6&FuSP@%u^?FA4>V;-_*58oEF z=$B4KWnt_^;L8S5HEzLm(fS&TIWvG%mNIBwNMP>E1Nr9Yo?(vR`^gm~s4lCbFNq<= zePzFB^qcUD*P2iQMc2S5_4IdEPw{xN+u_QTGGmGj$udx-dGiL_dqp#D(bKki1tmGH zKz`Ej%}-2fEkv%kW${^?)GoA>8pa;L(E-}PT|NG{>Z~yDt}+WHb@>6;J$1iYe!-a+ zc<&wRWgB^6u;p32xjf&E5(~cqTf5^_@$CYR3RvpD{(aqt;Xj+!Wg#qDd*j&S8Wn72Sc z7D87ib8yfaeg(4^P*lP~IJo(Isf1j-xvN-=jft~@q-$k-N#RG+SWx7g5{o0-oMEan1i!YOkfA~Y9g;Po4+I!v@M$PlENcWk^;d$!iCg~se-?p0RSP3;sE)uRvO zEThjtR^s@neps`xY*+4jmcVUw#RNzjxbGX*d6X2ff7>KU6IldGU&P~8GOTQKPXqw+ zzzW)FI<=(=EQAL|SmPdD2w1G*f-69T7`%=1^Wbr5O%#+0r`T;u6C~Fm>c29^Q2nr1iJry+tz6Y^(^$&zF zCkkx#Rt%JCxN~>~eD>Uk{EWjl> zHTUj$bt0bg10Ps)%lzzZ8;atN4giLZ$3IkchEwbYDx-B+E&yfLBJj-jkPwNOva)r> zCWa|%Batl`#w3+Gbqh{-2Dg2YrZeCbq#|we zvL4mg!6pVARQXdehizg0!h!}Us8md#MLQ)wZtcX`2c5xDQbN(5QrCi;L7r?y1a?<- zKFc1RsdJM9RrGJ6@F8?K^tBX3x|Jr14X7hr8DH^z8pg zBbUJ-9L0C@T)CcGdVV~yQP^R_(Q@S1`J+*U{0q?Uo~C0bmed%3Q{>^rt+Z*qBSp(D z{OYA?H(t9ulBA8X>bqXbIATfx%b@{RCfyf4^U%$UR4W^s1dMVEd5`O6c5u3N@fn?0 zg2T4PMk~|$_SdZcmDbLXED_9k&3eOH!B9QC*sU(u4qI)_hc*XLH_x2m7Ak?6u--aB zA7Lm7QucY?ws;u(tVkp$`XF=KrDPs^0cBu|)+9#uARl{mCoA5o`QnWAnRh zm+ZiYb1%+sIUq3c%{>CA`L;W`7mPZg3ri1qKB9ZcD7ZeLb^nc9PXIJR8Gek<(EGCq zu7@99A?C7Y)9-K4W3TH9tV6QkiH)W?_bNe;9^0O=!4cW-k9Cdl3~HB6(b$`%FxpGw!Gj(7`acX(bwmD-m~zG z<1_-38Y8b2E$N>+X_X6TRFY9dS71j|+wR3fHCxTrs`X4C;?XpxA_}+SSK$KN505J@ zwOWB%Z?g?#(8|%o_&2RPvt*XV^2Mf%VrPAAre+4;In+g3$4p6d{%G3u4Sj9@DxHag?RPs=PFj6zJpGDA z3nu6l#%8BP&}pA(snwYz+1uoK0Mc!WG^^3BdENkVqM6_lhMi}j0_q}NE4AHxzP>Gy zut9miw^6Jqf&3BGJT3jD4OSe=+%3AkX0RM)iyN7)vWfkzlX#rsyr`M z=tfl};^X2$n4>5%WU34ng`}gmXo&;{z?PQ9G==4|`lFc53vwgr*QIaq83Tl@(s0dA zNQ9EeAdHh6%`=Nm!^t_gBL8iNOl8E8DWdPlTN}94ybBx!}H%|z-LXX}eoy!W% z5LsS5?|aKh3TJ?HAc*+> zH8wpPmWO$HWux2e#o1-Q0Q4u{CWXl6tyRb>h`4_-6yPl$EJVJCl7maGuxDk!bqTVZ zh&&EJ$aHja(r!=eZ+@0wZfg}RI$|Ao`!>#|0xr;up)Wzm{F^a{dryDDXG}v~IRb!7jrE%tH|&1r+S9*mO6zcpP^rn0yA~M*KKrEGPt5Ce zi7jI8Tasa+bN{Nyp@cJX43e>{EM#8NH@_SNtCz(#s8 z%W)~!v+i>IDNYOd!_sob?gBxld*N6X54h@KrL^%z@XJY&d-WfOsxAoY-PkZy6}9J7 zF4lbih0$(Vv%Gp#aRpUPss1D@|D&VOL(EX~_{PxCOLZ<=a=oz-1hz3)tzCrEgTeYz7eX}ZW|xoNQw zv$TAk)s?73!5)&hN22huh7!cH&y-W=^KH|v2r zZUp~!-o{lg-7JmOTZmn}CGNUc^&G(0F>rX{^t*k2T%hl|7Fn{-cB&9cYWT+>;rVum zp22W(x9h4b;2i0!ZXmQ;Pie^h<|#kN=JB*8lZPN(Q4N3T?5Em-g_^L1NCV>IjLUc< zy0he4j`ZV)W1#IPKW*56(%a znzL{H9Eq;?TRGF*p`zw{$HQUy4O~OWPxy8yStT+&AO3PKMUeTH1X?vV9jivp{ez9B zdrIcb8F?Ae6Zo{iX;7=ZW2+1!&rE7PZP^?UfVA>bEq1d5R@o^VpWHcJhJMCiG3xo;E|dgU}8HBm!F^a5lPSL zCPY~)=tsSlT_e!@kdRq;6TI;gy&%tTgQ~n%7?Wkq*XEv7_RB} zB*G53j5B67$GP#jN7O+fN}AC|it3vjiDz?ez^vX)zeU25-osNjis-sv3^BR?Uu^>? zp2w53@rD#>D#|xXDBt^u@IG7d1#P?%+7Egj3iMj_xdHVh%$NSo`87CWt@MGd!M@bd zu9(AlR5zR7Iu>6>uzc1YOAML{SM&zezBxoS@jVR`x~#`_+#0i4vQy;Ki9U{BI;(df z56Z!h)_Z(@D^}}udh48BKE4N!Nvm5haI~_?yEgy>8ub(p)*id58@E{7mblo)Ych#l zEFa0wMYC&90gvFypoRo;kJNyd2zuQ{8Yr!v|6aFW{NBs1avPikbo92JH~s)&B8cYw zyR>I5wnX#tk6E$M{?E{5Ka7l*3r3+EC6lHBB{?{3Fj1?sC*tC6>^t`CeI0l6CJEHe zXs;ueLMz>y?{{n`bQ&|XVkG#2Q-yWsgi*abKve}>YFdDMM_ zCkZx-oS#cErdXVW;RY6Fx$u^#{xoEquk>0mb5FggY+8229ZYCi%W<#D#vvgoD=QdM z3;jWB9dP)gN;RBCUyyMLqiNY$2X-L)*e64bkG7PC{;?4PYdfSncs|s9^ZnYPx?^|qbw852K`WqC39I)t<+mJ(&ru0T7Ni1{NuxJ7$foFK z{Zgi=;0n4TtZcMeggl>JLN9Vc3K7HVhFSenvI`2V3vn2QZ=&F2gyq&5JUQ0$HJSm| zdl|!RxGRfFD?I18E4ZG4#N^ibpMBOzir^chf~2(Fum2+|RpI~%>fvYiim3+b=INfPyLdc}2wPU=&rO+kk{eYt(O zrt*}pQ_fMyynj;X?Ps)lf+)$|`U%{kjzLlZ6snWKcLfeGGD_maKf*cU*4A%YCIp_} zf_e5vtK9NYkP~&G{fIbW-5Nu#CU7OKksc26PnTZEhjXl?V&|ViYK00DDRSZ>x7Wnn zd0i_tBe)6;+Cn=y?#n5_17ejX@|U}z*`>D8Lboxp_7_CrsTGU5#+(zh^xve8wo)52 z$kS0J>w?nS{bD36AE%~v0?VnSu!Nx{9Xg~7--##wM3_~Xo} z&boM)SHr7os^9=iEpb`!KMHUHIo0+F1rOhlE!oypP9w-Nr+ivsnh-OCr`Se6O;D11 zWUm!XDlEC51srP|>ynezYEarNoi?X9)r@%xr~gSP1LksDm7TN>HO@}0YzU_Op8hjn zRjJ1u$=|xPwL=D{hC@jGMhPnPqfEa2a)p!}V3Xmrv>n|D9aEEwPTw2Ztavz%U0W|Y z*y9Gl~1?glowsxCE?$(;&n3YAeSRd&!?r%qK+FHybQFv zrf)YwaM~WL9#4c!UeIDp#wLw;9olkF79z;&V^LlF=DZC!f51tNYkr-BtSp1$#85H& zpu4SnW~Rp3nE~)2*b4)^hjwZtM|{e|v~wI|@|@-2MeDdJ_{C|3hkk*t^V&!bVb0k7 zn^P+U`DPovTDJ({%=c`y@qU(zB?C0CPdr|m$;De=K-+f%15W6c75CjNIM~d#GPsA$ZQz6hgsXPCMOw@}=-2p!RM_g$}o?{??{ zv)bn$1)(J7bOsJ0#(tYCFphP=9j-T#o{FE68 zEq}3Y6(V4iVs5@qlB`J?cNEg8I1e(i+Y-FiJs|pxb0v~Q_L1+a)o-{1b3pMPqq(U59+!k z{RgqC{9Ol*7d-qVS5@*_m@>0Dys&btjeEoHgNUf##M2&2vj(l@=sF zUubAHUvy)60<|UgL8{Rm|@vZnc?Xb zk-_h9z$)Y@$GnbO~%C6^kZ5M-L zOW*Ee91rUcJeLXL8%~;5Ms8MLq-OJN4y-lO+E)VaI>_fMRQMWiJ8u!xOX%RqR;fu7 zSTU9vm3kgQB~5F|lf#Q&=mn~@Vrl9uGaGvV9-b4;YULFic7=Xx+ytdHZI~5fvxW{% z#KT%X_*xjQ_YVM~Rq=dO2frA3x9kq+q5rK9zIE&nz-vJ~D4@f~AO_kYeP4Vz)i4s! zrovmhax*`}o7ECE_Lh(>1_9yaN=;)&Rgmbs3)`i=XVq6J*3?s{bA|bq8Uv?>ffq+&bfQ=8{}_5NFD`nYqCh;ltA5H%bDQ z8WJr|?eSOOSqqEAdLrwD=vplhiu(xXP>hP*JZyEBOKcev4J!m_rlk1%8ypMAc+T_)6tab6<%1$@B$;tJ3z*_Ob zm$N@HpHonphO)XOmj2T3fl@#5cBvJ8o?D4x^s8CqVk_;_b@|>QQt=@LpTyo0` z-^>HyTP-Zx&pw|m`7JUnmrDf_7c|?y==|?3z!hHTt}NK|yhb3_~TJLZq|@?_r$;Ou^M9{rRo>iJ5RuTHBu2{Q~?ocGVI zH%dwkQ8r@sw_>27)T`$2$Ko0k01#r!Rb4db8wTqA>$?#4yIaPZONu;D494c$w-@f> zm=wy}8SQnc$%LG+lpx2CHe$nU+c>=&!=x98fl0V6e|eO2k|NrXdc~b77(_`?nQn*0 zc<}`9;Srqcj*8;}x>qub+u^mr6z&OLIuL?Z$(Mb^E?6=-U~lVu2dk8tY$Svmg!Eu3 z87#apNN-M2o|EDQ!fS>TOGZ9GA;5PsL=Vu>cXvmf$x!82uoOC>y5tXall@3F{p5Cu zSiwSp_p#(A3KZn~N%igHAnIE2=?%>J?L1{FuG#`M7w{L>ezn&5xm5fVz0sUkhw0T@ z`$@HzJ8IsCDG_rx6cdL3D`zf1-SYxRs+!kd-NqZ2>emXeb?mR=6m{F3w--Geg4u)$ zXL9Tab2}V#C^dd)vUmDJX0jS3YaG=p4;eoxq1yVx(;*|$ro~OXH}Knz@**6k#&}&x z3GgdQ6ul?aRPi#*T5By;9?Wc}<8R26${^Pmn7SO*m^}G)8tSA2+aGu$3&-Xyxxknh zi+1$+n~_Y-hY32Zzl~>SOI2&lS8`8y=gGyw4^L0kEr`skKcX<+ubZ}ans`hi`p{K% zwi*<={$qjSAXt7mF19A(v1O!jB_Zekq@~kBPmd?MxPJmRaNpB4syEPr#uHDOO^7|_ zTn#H5C16;)dmb*>v{==3@$dLsNKT9>s*x)CIS^-;EQVpsH66g0Le&A+;Pfy2wzC2@ zu*Jb@-f`dQ^hKdIry8Q&Hv}+auTgk8%G5;Y`Ka+M(2tndX-4dJ%X47INR^1CZN62l z+%k)W8ah@{+)(=E%dtNqr?F(Y-&iHpPanU{3xXAm9oH>doi7n^yOO8bHb6nPu(5k( zX}T70uh;`6Z5Zx+rW40!mRo5J=lnY1D=;#fzQfPa1IbGRjpGm_&e+w#87Z&$)C*Ng>4Y)BSNeC`^SGjsC}x>)Qq~9y z5`0Z-fo<82rVDg-*eLK?2P$96oB77yxt>{5NN4LDz=*ts{)o`8%|N&y4Ds8QnV8$l zDAxo49Og>T{2G;SBoy|OX}d37HlnDndX91%y-?MdGWh}B>r9XB-?39Z*pbvwOpK~`OM5FpgnzV`XzPNtU^*>%YG`U|>Z`*yU zo3E1EIz)_l(d_!j=!``rq(rSpf1FzWa)j_TQrdl{|AaC^uz+wOk**h=ty=Ey&_E$xXb^XF%wlqPW zyBXZW$xl|DH~O^se%uzAIaO#!?1Wue*K-3o@e-z{L<4N z)X8tpRuE^u(*l0p=)pKb@_;kBuCK0gX&d`BZ7wmME4NS5rRUU;l_o>nj?143(&$R6 z(EaZQ&ha2IquOI8aEa0U4$IA zaqir|w=*yXKCpUC6%7moC1g}Wu$)&(@BFvus04_}5|QnE?uq(%4hMl3?Hnpto40N$ zO|snS

    AF0gY$4e}m%KuS`Yh{|vF#O5!4l>s%so{j8Om@gz1#+~dp z;wjMzjA+&ErpBd0(?K+q3=5V~_QP4R2fyf;4k8Had08EjtlsmKn zDbI4KxxBsa zB~>n9H`Nh&Ia?0zSLun|$Yaa^aD>gN-06fe7|oRXCC0qVuA7usJteL%WH+2zSer6n zNkQ=Fl(FzCb|>vt8;v_e-w}t&mCsLqQM9yR=$I19oX=l~{?Nb=XX6ralJ`5D^jHGTc2Hs4A>fa9&j4gsk#U^yLSfEuapZa!mbzy&i+eNH z&d+I_6&No7_l2CtHTD5jU9o=oSkNPn>hM4~TH*fxCMYICLovpgiidoxQkmZjA`O>CB1;YqDRELJPRx#5+ciVNEkNTl3O4Z z+Ebk$M&5j;Y!YE@c`X@Rr7&P!u*=Ow7eN&iU2_IdH$ zXw0(MNy1y+#=Ar=@j;lri5TZmsQ3hpXsQZ*u#AR?K|_8r%+!j(VBXLI^waSM$(#^3 zZJkBPY(VQ!P}`c-_V8pQ(xH(XqTF_N>Z~gG18?FtUabqBU_w-D4MQfSFZtlhfULE& zQ>K{5SAVy}A1FVq;9%oKV&+#UGbD0WI@vl6Jz1E^^>weGKBWuqHtbJiA+poK5z5`@ zHPitYi;;>wRE_OyMyH&yvu*tP=`dN=gHBBpk$>7WB5e_$t#S5Z9P2B7gn|t!M^KQl zOZnt$^&u~pt2T=P0K=k$g~=td#UQ1`h%@4@)KzgPQo*SZKxtVBtL+rrbJTmGXY>N$ zG<~mTEJcTbGWzHk*i3>n@@*3pEF@i|9I^tXtkoMV-|%a0=#{xD+hk7INelpVY-=5o zMF@+ur4F=1?1n58EVFCtl9V#4WM0zO7VWJBwHENI>IRZ9XIAhV)g}Ct%6_6GZd_5B zpv~BSHRB;akSPq(!kT8#lj;gk(Gz*CZAWG!gU*YE?8%dzD473MN1$kIK+apJ6=UMP zx1E4%Sk5k>#8ZMBvQZum4_PFvm=W^_+2aQ}05zYp6wFRpx;JRha<#pSTQi(u+bC#d z>hD#vNx0xJwA(UuuTeDuW=&dhinDXk-D_heER_Dm7ggxWFvbP1iT~R9Po%e%)QsKD zj6vG}{SWRd?o#eV?h$TxLFD0+j@P1?41+{iqke(ZtLIxJhfmBYJqaSXV}Z{~0%e~4 z^?D|i5yI%W5FX`*4PM@m!}X_CGZ9;!TuXa@#Vpf=($Js0Hl>eXQ2mRa#{7O8Tj1`t&e@59 z&%{w8C!Fx{it#Z-n$tp#f8ckL!kxEYaF6LaZI=3A5_d<}WG}|?(Z=z{?qI~Zr(VkF zb#}nRi$kAO_9%o|ux;$e&AAg(SLc!SXB~6Lfo`8tD>yXd2LGm2gr&vYwlC5OKhU(9 zP;WoGmvp$7ezJ;+LMi_^Q5U2YmQbg9)FWtOHA~4&U_VC!l-1L8WS@z@jOwiy)HMZmcc%%nVAAp;M8?FDXoIJa#EafBQ;M zkM_DNyje*{Q;=1^Ag^aBKlatA#EyX8niHMjltoG&nISp+Z#bt;RI087NMpplo^0Cs z9Z|x9vMi_%#X{>?mktx62a*#se>n~YAmPK99lglO+9 zP~R2|&F3Jaf?C)Y$=b;j3(ktuoR$XBCO{n=``#b&yS-8j76*bx6P zxwnQ&GEEg;Mxt4VWopMvj0GknSx!fy%Mw2OJ7Rl>q+DOy`qV_OE#Q8S_ms0oY7;Kj zDYpH8Y?Z?@(+hHg6e9i0uu}+l6K^!?6YN!8!btxUCfC7p;%gcIczY5M#7w_mAdWhe46%e6 z!i>We%*>Z_EWuBMxp3yi>@Ts9-?^`|<^V9C&-x{-&Z(Q4)+icuVN2LC`wi^mPA|49 z2^DzedglLg>3I(tot%+ab`PJZuTa;K<@wEeGk2AV$72f*jiHE&1XWd%9N!Gl`o+c` zHTqTa3tEe_0Xb}3+$aZ+(#mz2b902Nnt=xh)M$@)zOhIC8_(->1MB<8Xa5pK0evx? zALaG#G`ac-UELOo*>+iWXl@6P5BQ6RyoqHG6S^!(#x|#lM3D;Lw8^!?qzu+S5k;4X zrRW53+p{E;ggnU7`5Nz74dO+<_5epUh6^-$%NXtQ>7(zF;eXc3dz~ku(~V7Au3N6y z@y%D4$T-D-A(~VMc~@*wIFwWW4&feI5eN#8w)#HIZb9TUq2vXUiR@rO6uK#BCEfJ| zot4g2&}H`VeI{*u^SLZ*cc*jLSpBKyzGdZ~dgeKBh5RdKkKgb@W}>5kWz5mhqUZ@J5xNMVcFAC5LdxM%yNPw zQX{{U?ohhhYEKs`tb#1te;ayO@GF1d%?o8GEN;EJMFocLJ$Y*O*T(;u`ILqT@F*>@ zCpgH^yBxbb&}#-^MV=hQcuDAEk~_}vI?3?sG6{DDj~_)8GP5imhoL0%hYLur9!l{> zFVdxOl{S3LUI&U={>?wZp7Fzk3n_ovz<$ zMK%e&kk9-;OByr@^mTdWzP=URb;UFj^}aPlD|0cCzE{Y9Szz5me2m!u^*A;(O+{ZX z*w~f4l?l1IW+?S*lSQ#4~fFeNC;577K((Qzi@ z9uznD2GH>rJi?C%vEXi*EkE9wc{>=fEp$BX4=%E*01+5yTff-~EqHt4G&{#Rh!>&K zgv6Ncn{tut8zat~$fKWd&(%)$kz(Lt%$sBPNFS|57iCKNaL)Ny0rb_17%Sb+uc~(J zuDT)AR8bf$ky*e$$q%!BR*4!6P`L|vVlT9r*los!s%TQLED(GCTglM2N#az1$qKJ8%JN^riqkP~%WkMs5PB-pWT z2%L=rOIumcQ>jl~G3GAHF;G>uQ3WxFEyl&A9dCCIu2|CGV6u1+GY}xIMXsyGxEhnF zX8rl&ox2Xsc0fH`UMDUmgMN2XS0Cf?Df4{RS8dp-Q63SwJ2B3`SH4%4f4k&s>IOos zbO{Lhhklv%D9z6`6cB7|WxX*K3GR=SI`sN-IEl23&E&!eh%pVMYP`hY@rDJZCEX}d zEYPc8U08;w-CYMf(>)+n3~LOH$9ku1biXIpKAO(CdduClv4`9cu5{x*e(q!V)Fm26 zV|sj9{Y0iY=vBM9IG;l04~<1tF*B9sPefo&Gq0?eTId{lNDhjtwz zw}y5Kr@<_Ga2&`k`7A8kPd(^^$R_#a%0HD(l!)~oTBAE~We>-y9o%cp|CZBed*S`p zf4B{q#HdZK149?H>sH|^~gve18vUjuFoaE$AfmBBt7$BA0$KLWdd!2_qD z01O-nntOH(bT;996wB2L`hhd?R&q_6YHZG9$u8voUpi4opN~>}8G&r065jOuDBb;1 zTuNHiLmTu)m+pU1tw$-dXRc;-wZ5@n25wE*Hy(B%4yNaxM9aDG;At!aZ=%S;Ph<4| zW^-O2rv@RYxfS&Mk6xM+eId0%abk-?SNx5qLkxq4KOLRYvH@uSjf!1yg)+x1+E{wj zo@AG!?k9kY48A;YaCQ*#f1zQE{!^%X{GZPIr<{{$F2-{!>*|)x%lBCJP?h9ryWcY1T(m`V^(6 zbA_cOgWUE<6nNxmpYRFI_@S8j|9sEO9aOIcRAew2wqCbrmRO{#Se-9ED#yRI6%Y`Z zHU9EmOL0C(1@+us{0|LAv+VRti#tJK?)UFNkcUUJo5EtpE0o52I9|%?-;YA2zghjH=uXsgQt*Z)4Wg1;}}`k59HuwDG>{(`GHK zl{GJARIa79`Ux$7w+2OfY#OO9wB++WQ%wo2HD}x1VkZj*yBJgD{RtGo%o`8hU8miL z+`6xWU*$H=cG?KB{iOXN{(>#cZb&}58SnfRnFwDGFKb+Hafhd}OVn;~XK~BY>TQfk zsneLGsIjR(H`ztY7k~0vgI@BT4X2%#$dm;W;+3VyszWLk@l$dP>5=9RB6o;Lc5!7` z7y0hf@~lPi=C=w_d}Quh-KIH|e_gJeaaPFR8>W%3+F?)6yiyL2^V*CQ7 z2-gH~<-Wp@qg;Hl7}raFbq_Z|#aqn1+Q~b+9?0Dc@wVVkuY7p^v7oK0E7p{>$zTL1 zEgR*3hdQrFp;AD%6ba|~hmS;;bLMz(mtIQBi2Gf=4k01(mk&C;iEQUvM(?nWpuP){ z2)U|1#qZ9qT{_~7NqSeR$a^@N;^xy%)FplgJSQv9*1`W!Ci9|xv@}IIVdIoYzV%}* zJ&%g*pwU=08zWd_p!<-h$)&6?U^+uV4}w`QzE74Zy)}xLYM8w+zjZx0f2jksDuM5&FCX)Fe(%p9a=zj@#8o(t;`#P>M%M z$A~}OZ&y03I;GJfC7XXc={h#2a5c}N0&bj6I{gBDlQQet11TRl91|?W!f@TCX#BrL zI_^Sa-aQrvn=AbNA-q-a07!78?oUxO)#uBs*p8Cra7)>%t!6;igwS^s~n?7 zQ+7UTEXOE3Sj(OK)yl%aL{W<#M_DBc5L^kD*ka{G0)FIu?D}lX=L*Jf98eb%-yR_i zF-LS+ex=s2#v-}pP&{hXNnv6%1r=~@tNY8~?=@&w?lP-Ib?y}yN?4a3y}**ANl|5_ z-b?t^p$DRPcXUNfR@q1r9z|beX4KN5)2-OVihC-SNbce7p;2P;lhBU*AikFRa1Z>s zKeVh_Xd(C6g(UKf)%w|B%;s+vF${F#uGkw>4uT8`OLB^cHF{OXt!GoaOFU?e8lfk= z+*^~BMCW?qT&D-zj(f$)3}rGL({P2#H;k6vgV1Wz6@jT_>CRY%;=xyJ?i<0Rt+L=Dy%w{`usm{kM zEH0fNU)#95UB*cmEh0usS38U%fP`{{L--i?vD&A*OQ0~xMHu(VN8>M{+9Qs>iQ&8<$1VAJV8<81Z5u+_>`Hat~b!9m{4xBjJJ|(h6d=~_L(ELOCmQv|Kz*V zp(iBdCeB;&>%A7t|5@hqL*SGAS`6xtkyD_acw^eEjM081e>%N{@Y7?G-3r$CiG0Fo z18mY>9=`N8#fJKp^IDjoC9R zr`hm_Fecg3*VkoQB?qkQvBrN(T%~v0NWkCQ-*tA`klmi2*PNNngluj$+93E5UMy0d z34j$hEOU95gX}Enr=2gX`_PaU>Iup2OOjhV&w2Ac4DvP1*M9D^V`$?CNM^tDv*s_u z)qT*^RFkT0HkrPUY*z&5i@p~@kqbYQ>MnY{81{7hjIcK#du2@**60yH2EZZyS;Q~*A8}!(b@c)(#^Ex5!`^_WciJlI6+>uhlUG$3 z*Q~$NCqh_;1H0s7iP9e+Uzi`ZxxW#!EaKnyjTh+D7pf!;3j7#I9!xl`GTkUBV9epB zAWeLa@2x?KhZAuX(WrRrTWL{IQEIC2J^UhZ@`*-e*9GIx;ugmRlRqTv@)1y+uHtZ=yh zDXHbl!j%{W{UIc{AW(juI5R$z=Nf~t76Mp&j;}md{dYz?K**=3(WkSi+(_rb##!p_ zT*&sI!j3+K#jN-{PQ)AOOP^+8jxX_qns#mCo9W;yN+{V8Wh|K;ZzaHGf1 z!|w0z9h+D)=OtbO0D$Rx#(jI!+l;oe?4vrrOIUAZ^De9K!_^vaR1`^pkem*qL;+Rw zo)q!w;hD@HkJ$dl!PJfE3VrNrPk8>-PN|7aoaVmx`4~ezQC3ye;&QN0-7ooZLB2Xo zNSN}o+@-tFVG^n7f|-sy6M_OcKF5B#=9XwX(8rm~p+ilsfaW7%J+nBT_h4Ei(?4nV zZNN_Cw}(R#LOXdF23usg?-N`3S&q3V{`CwnOHcT!D}8(p^MUKAXw%aEGd&8B9B_Q6 zFK^va0IFEGY`I%Q?WG>L^t;obx-$Bq<%-!#7JPU4ycqyXktCK3Zx%ghYGDYYW{vXC zPbmqkiG@&o4fDT0R7!LT7RvLtZG_DIc!qo?vh4z2CQ{T!3ZdDPZV4q>7@#*T$VaO3 z%tz$YB@!4Uzcxs&StKYSO!CR+A7R%mbZp&9JT0Os;NjaBs!A40ZQuV9<8+j$ojAn- zVt5g~8-i_-pdiTn*^p<^$MUYBp+WzZ$@U8~=_gIoFq|*btg(*X9F`!Bqxcxpiorx7 zb)m29#b=`tp9C5}??zw8MPk~|!&*3PtN6MS@J%BJQf=`6R1j4#!tA^*5`h!O^>k8L z+{8+|?+KM;Y8roVzRzYS779-+hVb+VTRIch3gSEiDj8*e7n0iSU>~0RkdU10PF&yf zl*UDIfsJQg)&!ymYL&&mj{H#OOVqa^i4Rk7$^}Jd+qAXG?vYm2>NN*<-m|XNUWC_a zcS&R<(y5Jf1R4n`MUsETN=(%;VNE4>fF2&c{l<7uE;Ds+DECxzriI;UjVTZ8j@VUT z(3@gpF$mDcD~+GdLnrE|bt)LBUhhT=W0mD7`J=L4tPGOzV$Vc(z1JG9wp6|W-Zf6| zx<-aG$*d95X(%!1?bk!Cc7_d&(|OuATIg1##e^G-#aBG zmaTtv%cZlNEo^>gH21dLMi`ldly>(UmEl2$sF+@oeS*W;xw3g_pu%*y8kHAim&v1C zwIjL-%f-Esbg9D!6Db1$`PC{1P4LiAt(obSK?;SYmjjwkY1G}B8U`_(T42kNtq`2c z8e_i(pWjpEH(4ps2Xvt#`?gww_;i}>QQxu#h5g^PMn)4h_cB$csL5V0|3pVI8J6|I zg?v)QTjT0tX-R*^KHs;Y%}f{Y%aOYX{Yb^kVztQnHa9HzPY2TaBJh(WmFV}K;QW(_ zILL_5;KONJ$49ybRNklMHeO(#B>W8?06srIh3p9lF}+d7Bsa&GIWT?tD8|$kVVc_P zh|0HLLUQki3i_XZc6bi)=!f2|EU6Q4Z z9yX0*qT2`0Pc|g46`tEHB>apV?rTh+S|07VB1#h|S`sS|_i#|ZXQf#-4GU0J4k-K4 zGn;H%FBQ;1H0^8~MM+0GT^lV`uS87n99JEwNF}e_?9KaTt98p&PpFo zB}r^)wPweoFRZ%I?K*U>{pzy7997-g{=o0~ySR&H$a8_xlIZ%529_Ja<%r`sjxcjnIpJz(A_3x6)|=CIi9XHidn7 z=?p8uPV-v}liHzzKR_!L@y8u?Sh{r<EOj zq)j;9bQBb5f_0Uy4@O|u*9$}$i8QWzcnxo(QiJ%_S99fbV_ z!8~A=MqQ2HV!Y{E$v-E_m;)WR#y5=Q2?^vjDlX6MFT4p<-vf74RuGX4Q5(EO-|h5$l=vb$SOxHHXCm0^WIKY zyw{|>p35(*3A0^(oba2n51P1Bc7UR~QV_1%y5p8a@|{=50#72&Z`Yc zrd!ePvhnb|HxL>)?H-rowD&U`C%9m5{v=XCS1u#sRUdIEc0|gv##>uA+k`gMpK~}( zp-4*+lQmLGlPDda*3m5tijS1KS2Tb+{hsepcb40EJ;*G}pe}UsTzGRb*9EzwrQ9S5 zYRB3;;P^PPKE{aF@m}RU=~On|B7u}GuBBTgf7J z6455HVp<_!pLKR3VUT6oINY}?!tEb){d5nlvnU71{3@@GEl#GbAz&5$q6j(+ZlZ1C zdBtQbuZVvTZ7Cy^<8>}6yd8)Pm+9|w(zu(>=kT=*61vH-?265LnPMYln`C9J-hy7= znpsQ~H}NB_!N|XlgVeGoO>(SX|4XQrx80W(;+$hisdW>}R0!-Xr=cC0G{w*5w(-JE zwUWklOj1aAzeUu!R!uCfRf*AC1kboda!u@|=L~06>xNgFE;6bWP~youOzDVq6mDVX zsA}V!Ag1~H!m7kjs@Rw9TdM-)AluH>;N>1<6dH^tI@GLgVSxZ)OmWA}(`eU5g*}z?aa=oO)7QN;u@3>e=`s zd{UDJN#d~3$T8E5+SDHW>^*9@;Lj?=W_+Wna%i;Zxuo&5`^d;gi`({iil*o$=hHXO z%W-*!OF8oSLf#oj$)0L`ZkA_reXWSmhW`S7*nBs!>93%69qxRN(fMT|{X}ISQcepU z}4ic{_y<8!4_mR}z9)8%4!8kt?sofobg|| zKCzW>Xg!^({*`foyfDxzln4%g`~x|MmciD$5jZ z30o`v6>y9F&gfPNI7O z#L-}2E$9#Cj{Q)tl{20y`6M3Z74vaGaio*^SV!Lz)AQXjk9!<}`CsZHwy)j}H|$k5 z{iX8RB(+|~Ij+Mz8>xse$I6JdAw>k=qj8E*48Teb`;($YgcP!ykbggF0N5;U%bOmk zbfkLN5sXP`sG0q5x-#kD)Hj3s2Eea4*tq?ndPUN%1$`)AhYev*4460Z>cDJ9foDs` zy^#qEX%^9gKv><=y%^rH(tGdlB`@_T#~qZf<(M}xEY#1n>H!X?u*zVco?l&cxy53X zt+QZAdT4anU1kV~!Il$x!=m^({>+4g{Gl#tVGQ=MI4P85qJO!Bbz(l_EzI1FgmjE! zSKA;K_H5<3V=0^MeQ@VUp!KSoe%FhJRNX~;<=8}RA&$itz=7&>X~CfG!M;NqdpBcu z?TD#y+xHX30~O#Mo{b`QM^eJf{61ZEaDz^MdCUszN)dg? z!uf8!po%rKF)p-yIyf1OT(aJ{QF=SG z@dify#OD1M5Y{Djwr_hoa}dUwjjYG!J#x{!m*Pwo&=?<9d#XRnY&GGg-m&an=X@d+ zb6c=crgOKvvMd)*0&37KF&p$IhM^!ydHGcXtZo%Lw&RZvT+5&LCe_8si#nWZR@Z+@ zk_10{0DT(N|Mn+|l@wGKM{Zr!UaQ}Qo0tmuz>GRV-W+y8Kbb>u;Vp5e6MD(iwLa8d zbNrcYF>Th5_YM^wW}vs!zG^r+IEgT{4-bUucM%m0C)fbDwwQzCIBHsZx3L+0zbs6f z>4RO+K@1qB`f+j`6&Id;*%Y~uRGDN+xvQ)$W(jv_sQ`X-GZ$WukDHe;&8=X9=|7xw z@v0llhB(5_!zd4gd;R)BW38lVgR&m`#O+o|MJn|y_Eq-sR3`>eN<7Dd(kNo9Wo|Hv z80Oq$)g=4M0a*d9k{sRwQt7lTziTChBC_}sjM^o+kIs(-T!wh2< zJFx|rpJK!9%8ZSy?Hris(H<9la-pjHuzsd0!RgrB)3kkM)5l1JH~c{NtA3HE6IaiK zbq*vLS7gk;ve5%>4sJn3#HWKd_phA%hWXR$6Ncx^GO|wxwX#=6nOI&VL{Z;u3;%=R zVbMF8Fk-Ps4tZ>VA)&|iXN>txfP;m7g%EY1zo7UpMD5 z=OIr{H3UdCF#HLDNY@gfdZbMt_sFFsU2^foLN$Zlk%!^*nSquHI=rHX)h$$&XO084 z_zf?#M~Kj25GYWOap==?vBj>(vVOBq+2UxQSuEzzuyJ@fvG8I>v=El#_dpBxnibt& z^r5PTK?E9bW()?^9U}+5oUb~lrKHfufeuvea`#0o{^$>q>f!}6QZbMOy=L|o>J=NH4 zO_ei7Z)><7<+%P+sJ=7@g}LbMkq?yO%6M#`yc%(Sr>{J=6LM=|5dIoGipJbbG~xAd z_4%Rn%sE;N>Mv!g+cm8{iQ1*Z?dJukE*0UCx&tdGv!cgMutTLC@HO-$q*T^tr+^sv z2oBJ1)(%`@ygUS>PC_47&@<~{BhZcLoy-1CG1gH!uUd|G;__88?ii^YC_~S}qG7no zK~X{du$cR?7@q;$d@|+$npxFQMfC`RyXE4+zq=6buQ2CU#|R)6X7ugN;g$`?2bDfY zkgQ!D{!COV-8<}lmDsu;bFNG5zF!?y6#I}bdb|#HLXHC5~)5N{-9- zD{=k~w+D}$0C3yIzImPHQ)!#Q3TWM^@1>hv15kI^Zj9KrHk{;XA>l2Av%J2*GbJ8jvli`_jYVn=AXV0R-_1fibB6A4u$LrSL=D-LimN_>xdwcvhp=V_%=( zwS<4=Nw5mUdK5b97yHoBIn0_D926v06kK?N%`l0Tp6uRvSiWP0oPXu1^!!|S={k0Q z_=RH}P6xT2VZO)iREb)I4?^WYrMMCB#PZ-6B=qJh-zcAZhh;wcW zBq_q?Y7kK8ao;pud7sQ4*yauG_3^EoJms;06(1n^L9?LaCO^Wl0Gs@$Dp3!BQfluh-3vL5DQDrD=%6sC6g@it$v> z;qXV# zS`F!|$ME{!ykIdBv99!6`EI_?70@=EJ|B~|91}CgXh-^?5ar$o z(z-d{?tt=7=+Tt+TGY2dtc$DvVK50X1Z|Yk!XCuA43x!4_|O{@L+8ylUIlEk%Q0fxV%yJ z-5+o}s=Bo)yN&P2GV|=O8>-{0|O#|>`;@V>^W_BJNa4d~8 zKxRAlhs8JmgKlCu|8yXK8dmlm7e)Gc)GFMfS`ey>3YHKuwRU9R#IF0*=TLK}&E35t zuG?RfE>p}L4GuNvHHiq`(2j@Th!?94>7zCB?xdyUk z+rBDbDm2Qm(m0wJP-qChYhUkMC$-L6Sv>JQ=_Uq7aX_otbi$k(SI~VvA5ygJ?v}ALqAk}5 zJ2eb)w$EKRJqBSc5bi-n1ZRgym^E#0uesD~P#i1yWk_^5YDvBKSd9zVKb=ItEK!cE z`FH9n))@FgHkSo?V@rRo(sCwH2*lbMFO+TK)KbcF=;#)s`72)&;`i=LRY*cQhXsH#iy?e z7qTzngAytARhqRb7%FS^%-u?odff9J@if=lu1j9CC10-t)>CiVZw7ob8*dl{{A+Ci zrcPDLQ8mDg$ms_=9kc||ea4moS!aih?lp#RMEW>B+V;COkGi%+7PR9G1Q-aGQ`% zWBpO~;Q1{Rf5GVyytXbhqVBhAbGt^AhMLnA#bD#j$>Rynp-#aIYnLp@RdP8_+glKz zQB_ouBM$azwC#)VQC-+%cQU9Kektteh${Wa3)gOldb}0CGF2`zbl4A3giiC5!_M5O zYAmDP&VLAK{&Tr>6u=-qKX(tBML;zSI;_A;_kk%`%!N%_=T zODjKwH%o#nMjZq@4rFYraP2_#V5T(SI6#K2OZ*vuF`yYpg3);5bk^Tlhg-y=Ew7at zWOKv{4h*Ys=s?4*RprktL^p+i58ELe`mKE>cAcbq^Jk;tTpqpUpIcHE3Wc!;ZhrAp z%Vd^yYJBOcZNi@xz%sUXJ1S}<8c9$7F9VMQczgZ@J^JY{=d?xlBvBeyejkV`0^Iiw zt>H!il7_t^KH}Czz@SWZ*o-c==_sJIt3Xi$Zj>jXoag9Q8{tLf3pfN)t zDkqsD$8T;>EOoVNjtGpy$!|*-seKhU_dUmvTtF9Oa|=Z6leK5_%a%-?+s_7X-zV^l zly77ao6^x^BR$rcW1%tp^L-rjVko^5#Y)|ZX9Hk8+)bi=b>nm2(doZN=wtp+)33V` z4Ea$`{HOPF`)_Y-97r8#ezQ}r(faZD<>K{{{FzYx`x@ie?^Yab;@NrGc~yJBR>m1h zDuxa)tr-_2Zrs4QT04`sJ*Z*cY;hE1uUZ^RsGz^ zf+mmOPcc5`iQ3Pwx10{xXSMO_dJxb6&rje>CN_ZK93Z($ww(aNwT%1~P1nODy~C8} z*{}c{<@B*b8CN@@3$9Rv-`3j6GK%rKoXvDdQk|^<%>p_X+a58>I~u+qj0r91`)A5< z=Bm^lONPI5Ye|1nG}r7FbLrCH2MyN)J8dTqLdBQ1El8tflLq&U&rvfYVo4o4B6+ugNFGC{))g)~Km%OMEe9eS^>z*!aA!XL20uO_D^qrj zvOgk;dA<%*B>2nC)9m*|1!<;;?N_2&`pbFqI72-o39>8VmSX2QM1~aE_SZDWwUpBL z_z$#aeY%2q5d~qL;U3EFkKp1@YwZvA`i)yTv?kE!96n7VLCXfoqB}+PPs|)y;L8ZL zWMQA7ddIcooT31Sz4k6xpf7t)jqPpc6TWcYnbaQe^-Gwf&-sqE1FC?m{w-u3j}tvEcPv7*KlloA`hdfPy|430nui&K+`;m+XGXq znr~VOC7*9uyx`0%lw6sJ;?zwiTG(X6&Zne&f113jrxxPiw?{R*flgu4yaa3zb!Y<# zR8KQSL&%+)O=`t9RxQ0aG6%77EGbzW2qG$vUD=2o(-!((`f6#e7dx4a3Blpoa>?cm z_27343e&0m*{aVu+s^Tz>F5#Dx~84bId9?24$qpl%ZXR4JCQNRRL?DccI+z&6)TMK z0xpsnxq`_+6kpF_qy959IUixT;_LLO8vf4U->>5*-f{u#4k}a$5`+>xT5!3NGK25V z66_Ws#{3dZl5N_#e8tUw`!@GyJ37Xw{MWe?j*AXZ!7N_?FMxGFgZ7jR_cHIW(|r?_ z`-N_+(Z%stkyU3vqw`M?7(AcIsGLRHDTno=t*jF#a!0#oIxRmMyiS z+>27hn-ik!1g15)_vb})=7O1ZHz8NTg9Tsxj^Ilk=D1~*G%+F~cQXy`mV1@F!<9`B zqtJs(I7~WD#Nl>;^SAq#-kF4Uv9!%!abmlvePYK~Yq9!}JlmZK$s&OXYiyrO)H^_w z>0RFaKS`q(SDRg$k!!ji>UFT%Iw#%QZL{4*{OS+h!OfmyE%DX}1SM6IG7sp9X;9s< zLKOQDA->n+#6 zxY%(Y-B@Urb7g}IATOVFsyLMBgfddT^67eC28F!^%(n`iSf3U4kWd}zKEPI~T z^k$RJ3R;y5{fxXoazZOdJgjN9EIfOtZ{k$j{sj3`A@uEgNrZQ{isp0zS|<)WZq>kC zn)43l39~C!X6FHag|rX^BYP;|n9}cj9J*dFdk6=O{HPeskRZvhaG%^U^X1aNsty0H zklQC^Sdd^_0=th}Fei6}##GdAxHf(-e1ep+|nEC0)Zlz0y^lO<09B|-8P-}r}Z{r3tL+y zoiYI;JEi@_X_6eLsF!Bpc`bFZU$~dtK9@~f``xpfFza^rXt{7)m*~WS-?r*zYbi`o z`Z>jPX5fje=m%ZWV+Y1Afn@#Wxnzf04}8R^?@iJ!!%+jAaTE$aFhiINC71HN@al~u zo`(wq&79|kTR)rtrSB(xqI$pQM@+R?fhF#lw=_Kp?rs@hTqqn;KJr0(ojTlxh%o>2~XbEHh3x#fZ= zuO=AVE`Q(S!MSs9zmmT({eD(%!DZtr6#!#M3gnZ54; z;M3j1jXf_BODivt)VuAnFW+)h2}iUEKm zFEYbOx6^+~;}odgEN2}BAEG+ZFHgt5z}K={;9=t4A+N$l@*<wsY zu;Vw{2MsDAq=%(+EIAT$-obW7>DEexV@V*l1i#96tvzgW2}b79JH$Fod^Q*peCgB; zlkIA9MmSSyU=mB3aNsQEK}K0+T`yJpB&W#ZGk{+`R_f%kfXnK0J;y_13ue9HgFxj> z`K7>{g_6rDPH9Y@k-+|m$&Vce6W}zTFGH1}*02HS(a1ZE`@`+s8aIEWu#d|ko5yGy z622ff3bRbhQm=r_q(&3np<}aFr9yGdqppg}J&Y?#sJhhaU}&B)r`m%K{tO){3h1x% zb-s2_*Wh}`T^U>4#Q#_N?B#1os)-MkxG-P?Vm}q&=(6>Mu2-7(?&LVeKglgTgE`^# zCk5=o*G$WbOC2vw#8$Uf1dmt`Q7!7f)@PFBC%U;FXw(}gku71VWW*!_eOzp3k6uI(1%*R=e^WAfNRe1P;k;#CVvpCO z`jYD&7xgo>c<15^`n7GwLR5*u;hlU|SI+slRzMd}Te+-ry= zI)Su2+|`-Psr1P3%}Abm896SLdFOV3Sjs{nFHV!sCbaDp5 zz1Gvb5nLV`_T;4GT)#aZXUolTYw`oL8kEIeT^HjHh~%J8{cGa2vB3|#;RD(2h7b-z zvxUN40-7}{k#ufbW zq1n_&J?)@MdDUyPl)8=T zt7VH0N>cfs0vMpFLpI4`zd@7qA|3bvNELb+PLZa zAA?g-ws)jL&P$%`+PrWZ<-B1frJ~2_>r_YE`ebyO)7;f0TGlno!O%BFr~Gbiw}@+E z*yO0#+PVA%={lUx7{Myme%6m&FOtgYc)Xq&yPlA((iFQpON1Zb(Pb$CR|=uHN8)rX zfmM!G6>uu!8{a0}1wDw7n>0@)k`>F>O2@VuD7Tz^evopErvugUwZvd0UNYAw^-_EH z%`>aG&c=zK7VjeHGI_!6B9T8*rlGEa=H2`8t2xa*Wc;=l+>WU6m^>9CWSMzI*g;9y?lyCYrWv-1Css;>-dD{9uQ;4MXqJHg%E zEy1n0YjKz0ZbgH8ad#_T+@ZKbad-Ede&?Kf&s{&lk37l4&YnGM*32vUKV54c^Et|^ znqHYD4dwZER13Z-wH_ufp_gJXo1M;V$m?1-{&VvUUH_uuAo(eO8|?O{ zb0l;+>F1PgS~fHM)d=Q-SsvF6PwvGg=hVdewT7t;?cM|D{;1?1Sd7q3OM7Ame}+n+ zBA?|$?yxkLgcSo>ljcF-FJNe*?chKNA1W^boiRNLf$?W!lq%BqB_5aztk$u_?aGYg z)0SpdeJEwK3URT+g5E?08&SDfaXiVi`~7c{r1z35_DOt@G~2 ztU7{>bdxQmp$3C$i8Qoh-OQSOWNzI610RQW`TbMpviAk~dgrJzE2JU?+CEubU~K=} zbbHZ*;wt&qw)M=klXnN3)A&(!jif0%)29#t)XlkWB$F=a@-dyuEvtOf)`hWbd1{R` zow=ijvHhIj=`dN)t|;TuYUHcCQtMDiXvj(-ZJoI7t>@la;{_ak^A5Da$TB4~Zn1&3 z!JFR4am?ER6M`b0cyTIyo%*Zj^>G?)nwIBIE{CkwHO(`O#d;)~GHlZ;-0Yd$&N|;b z2^NEdYc>X<&r9Wa0X2DtrNH4cwCiONmU$jEGD}&$!CSO}mXw*lWlF;u$+cn-;(b~t z1ywD#fuf;m>vY{;AIL(oRqij67^F21Wm7Nm2DZIf!YtB(mRW=>vqyxt;dv%HZohD8 z&E79IUk^#`@{+%XQW2Q{NaCl_m9JZ@bFF@0!k&HKxQOC&?c%u|o^E~k7;n8h%3xE* zaQD^0?T%NL$Ma{5qfr#(aY%l9Y+a*_yY}HEZtQMBD zku6IO>QX`ABy-x{^t$05Pl7`c2otd@&(VRXEo2a*t_S+% zP)$sS?AnUPg{8&?XMDchtL&N@0c(@ky4~9^XstodE=ws5b9HFQ(X;65{jBL6p2pgq zFB~>|giTGIE6!yV9HwcRF1O&u0llY%U2R*7Bl+dt4)F85s=b_AIYoIIbS^JY%1p-g zQFFFHywCj=p(I!D{3}Yxo{%oMWVz3_|GMH>;7njf{&Dfn+9+lab2xuBi~!{`a;c7_ zbrdLbj>jhg!KW2YqC=NP2yxalZo)a&oOMw$)gJ^-{vk zzYf6SX~&USIn;Z0CQD0WovKBXiHR}SR7acD*h|#_rcGKJX2uIFr` zM($urvPVH&bNK^5yW8Y=6I`ojzIt;Ka#ZEASeAe^d?$WK;^&{W(`ZAeOV-7a-Zsu# zdX&Bxy=;AyWTT+(_VMTdGWloK4EF8?6Z8=TFTVSmOWn8@YGDbb(DX1F2b&0cXvn!h z%P=0Y58*v(8{UFzKL(iUqGNG<-tQeBK2B%9&fK)VQZ-$PX*Vr0~+r*>6c(Jt#;x2{XI&EuMSx4_kQ7z--RR^zpOgYo-NKt-}k;k+iB}m zWLnkEj*%4%eEu)!k5F9@;%du`aCT0XWsi=de`%g7?lL903-wSWB?fIri(f)Lv&CmS6gP^A-;1mCPrqd* z=J`*>wk70RR^Z&+F~rAM);lkLXim)ZBJYt_x{UgK-C8fTLz|eFCL@g9prguwEGaf? z&8|VyYcbsX69I_P9P*U3Zv+rbSQEy=m7WAL;uAXeDoyGWds8Y8a?2AocX<(L9M>u{ z@`CND6Kds!2)rTKZv=hl??atGQ`;Q)lPO`=v^Xg>wov2IAahR+E^LAWBcjt`lP9_y zDe&k&(*|26(9sB*)~k{<6%?1V>xOK5yDwIEAB9N*d{`bAnG~WJTQ&+2#%Oq`WGKpT zKpF>gWC!{D^zAb%-bUrL6~(2`ds$)Qya%5q-(I)H^P`h!5S8)7gCoorr}}u~n1geQ zxfiIE5U5aExR`+g4w`7HShJ$_?m78?yslc}qMrZ=v(S@Wz)lIp%6{Cq}L zfR%b7rX+tTPKk0MC`$a1gv?;Shxc3OzQgndovN~GF#2lnx7TaSb2N21ZGLpz_tZmx zk0pl@b=fJMPbLqzly_TJi$@n5vq)7^35ii{wY(G@DV`{*L)0sJ-G^pEC3{?#@@*NX zUxD7OL)K^Ohh+y2!wIqdsglHLsXi>Cbn1NW2DQExj#R{Y0EXUMNS-yAnN}Lh1R~~z zvT@DEu4B(jf8gjY?lL=6UQ9ukmD$Ge@JFe@d(chErL;=lCLq?4_*8vyL+X{|z6|_L zY8g7;sP*3{Zi>3a(fjP=dyL(elLc?jD}ctNk`MB$H{){`im`K3Mbq^vd(NQ0$Njc?*G#d zyb~`ZLz9alhmQ6(AI&$m&~sGZcyW+XQ1}-Ab^U?)e^#wv9PQsRbq;();YTI(Jg#9B zTClpFsOn&+TJl(CfGVAJ@Rvq?C%`+5S@Ruy%Ddr8CmKs>k#`;xfp1n??#q{dsuqih zP}4Woaz4qntGL@(If=<~KOWzQdMJ{4oIQQ{!I{};Ti?*V?t1pZxRPP67b$q(fih@I z-^_A*&E`WmmchfeX#=nzhrDtkC?*2Zlc_cYKmkm{*^FxuW8a?{a zaWi%%akuK5Y=jp%-uk!xJJjiE^5u@7o-GHj-8}mx@20RE!>0M*c>m|eHDU%IIo>z} z;^)6zlOg!Fm{1S)(S3NKSCI3$l;B~%SAT=y0R$b{SP?qELVTU!*`Wan8!LBH1 zUPWrxJlePAlBsETF;OZUbB~=)8l_#V{Wc|##GqE5Zii0$40-iQXEw{wtW2nE$uye&&ZorYLY=fpSZle+z!8?gPVZ;hZh0J<%3}5*brg7EU!_$`L9Tg( z%NL@f^*rg3L_JrYFsK3Q%v7pdNz6LMl;*JlT?qgXdp?1?r~D~6T^nYjz@1PBg5mL& zZO7Jg$hvl@$%!`a_xJ&q)^l41Vq#%sJ{KiI>RZfl3=DXE*Y4L;o^IG>lhUMG`Viw=r zLubI+v@tZEHwEwcZmrg9;wPReYOH8JX+V@i(~m&sy%pbczf9?e8i86AdH@9hjHSQ^ z1v19^?3cghPzw$Gr+ah34Koo$JRh?DNlp;?U&BH9Da)`Ddtsw22x;u?fPOVCZ z`&oTKYQ{Gkz(}E(ZXt_oA0AVuh0O%i??q*ZQs&AwU1-rr(~*@`p+sltI_;rRg&ATZ%9&gLSzW(^zrJ4epSiTQLT4iV zWC|gP6h)u=Tbgz80$JtqjY2@e_jLNohqp~u44YL_~ zx~4e<-%wKM6)2VpeCy1@3orCpA-Ks2WlIHKvr9`9{?EgZ8qzy?yBNmO(jSnTZ^Mue zw2)xOclS>Ca)|UCmNqs`sy!;luQ`TC2glAHTSIIkDbyoLN$!$yR6Dk~$Jpu2gij4lW zg1Oa-x}g3&%TRnOAtm6b#XqzAXN-z{wGR(^*a7ko*AXcj2e*7s9RfvUYK^ytCO=7+{=IXZJV zv^i*K&UpPl{d}<&Sj!m2^|WTgNLbo-`k%t0nW@!d2k}Ov!1Icd-rcxwZB|^} zlJS)n2F|sf79z+Di)oEO`oeDj^e?lM7*!Pm(l*2FeP@Sg)HH#-tF{lvVJ;$MrYXrL zino!tdHp4W_upfmqqmXTzSztLybjy$XiK!|hi=G7LF7eyHLAvcOvLR-R5LR=ExJ2+ z;a-xGNp%+PV*+t84E@9%$7;iIEJmU+b$u2v2P!Dz;C~r=%A{+193l8QU(W=hEb^^g zd|CdUhir4WWVH;1A$UKXq;|3hqNI$dTX$Pt$Q;>Py)Ff#_=QyVd!Q*PE&z2qol6o}B7YZZ;I?4_*2yrJ7{l zC^`qTA|g64FMm&=$hiIZ(_j^=xJZW}rXb~Q0T`i*Km0|WML^vtvDU8GX5lja*&3BO z4Av!dr*v@W$;;X(u<{;N03W`gQG~MClh%AN9DYu1kfBzZ1X+pl#jn3aq9%1cWWOth#l}1&d=};`PKM$OJlAkRL!F1rtouk0 zBg)J!sk~9gvDA>F({n^*xLhxhN0nI+=&h3A*AN>Oww}pn@AKH)hS`G_3EUCIiE}F0 z1`C7AV(Y;~ws(V-&Ul^Lsg174VH9XimmhdkfBfkRPoV8IZ2*0kcNfl~4u=OX{H0#a zcU6jBM%+f%lvaS(_v-5+7B}M<6_CUwF-L`Mvhfs=JHlIskfXmai1V0m-O!TApta#rIxJ zitHdc&foM`8xt_?7b$+HZQGptUl0HsEY1tYh4!mCN)(v3O~pjQ5cO&KT1j6&C--;F zxpKWayVZ}VMc!e3#}3a&G5-aXa?6v~H-1-@P%Pu-&G(+YLzVs3i1IQv?LH0>NwfHj z==50G&^=$@k(H>FK5Ysj#hCyHj%rjhqLPgIYCI6F4wRs5uKCEWsIBexqHP=Csdxg) z4=Uf!aEOG@KBoBHEB@nImBJ+c0|yuC6|`=LE4z&ZKzayfiH2!7@KTpYd1q&08hX8j zz1}VU`1U}@(MPB+lmF?VkD#w#At7l2!ZGcrh0JhhivaTD%O}gfO*lCEJ!q zY&7(sDpjBt^X6(HD{IZ#q{~5ai($?esF_~zxE6(vHlpRML|DpNR}D;sPZ?bnJb;&F z#lu@ef9cYTlg<*muC_zJTzqKBO?CVXdu6fQI`~`c3XGP!B$z?M5Lz2&?XlrkXo!nv zQ27*-Ufc7<|68-mW9qKiQ@yw0JaASUX>3!8USZM4MRa&HWo(@lzSwSk{9s zdzYN{y})nvy~};tx5GS7U-yAq4^lypBs@HP=md?t(2Fw<)E(DFLe0l1Jt#^%Zaca% z&zId%&Hyooq69_?ji;w4+8Q!*xhmmvDvCX*i7yU3iD^*v@f7==z~Zxr-DOc{y5_4)*{?{ccc1Z&~J2`eu7d?vzedQ!gJ>9ORp{vX0jQhIZ% zNU`?6u9-9+E1%0y*HWh#mPjJ`|J;tPq8#=Bv5oGapvP~rvm+86$QWtK>i~REC zOE!bYLl__&pn;3C4oNDQTJQ~vwo+v1L)AH@2l_eTiS*a@mBSck(7uy~Hytc-|D%o` zMUn~Om=cr^{_6}get~lJjXzela$CX@6dXQwuBNIRYg8%L&D+jFZR3xMV6Br&uo=Wp zlQ5#A>hhqf#oF99!^J^DH;)VZFbb#W_HMflpd^0>!~M0Z!>#X3)G;Dc*Jb4YU0;V} zj~mJa?-Bh?=6#O0?Q^80r)O)j<=F3oB4-H@R&$(zV~`_MJU~@>XkO!<_eWx|!D<5Z z;~RAnRaB4ylTerkMlI&tykG)yz)dOXkFAio#99yy*9@>WHZILxwL8PdkGlT=<;xOk zvT%mHv$$~0s2!<43|115Tbgw#Y#d2C$Sb~0!Q8;F@sL)K6ts(h4iEm^lpog)un7+m z7e)mET#`N>?(fSYuK!^C`PaTfzDMkDAuh94RtO9>%zJmqOE6o}8X5>1!2e?SjpI0g z>DgM++q)fI@Y8s1?Ye~ye)XB!qZH2p_6@stQa0&Eku(7TfuN^qgD4X$Xqz+LhSF{I znTaBnusJeX8m|z+-jYtAvtNi2fKL7OX4yUiuj?zVlOj-@gdmx|g*={xJXQxa@e?oQ zrVBb!zY-<(p0H}ll_^`x6hIxY!$04opH89wa9KGu7kU3(@pj$LF7@VcWNIZT!6*k1 z>?~5WBB>-W{y*!U-e6sGo0FM6MOn`m04&q!@a zQ>zdv@;0N_V_=f1H;y)t*8il7ay%4AMxa(#-Z6jAZIBXlx%tktSGzGgBJ$IwNd&AI zjz2-?AB7z_tU-$x-k-Riq>a4;#YJ5pa{eX(&o5U?ox{7+T(fs1&83t@osJt7I6$+S z42Vgs=IvX5({_RRdZKg083N3;E->2fa>uda(@n}(3PR}5{cpWC{gp1c4yJErt6J?% zSh;u^;t1B&oeeNae8oK?4dp!O>8`XRvuko+($3BBC(fb5X0=Y1Bl2p0K} z(<|x_bXCz`+e=1G-#=7pMy(_?t~3~s0hiy-!Eod9nMtM^%O&SKp+Y_crZW;;$DCUn zzv8;_49krqteK`HoxEv3Sz^ze4R_tZ`?~LUoi#Hv{iYMEcd<4dZSkWSH6=kmEEZjVSX|z=5=$fP zoa0L_Lybb8?|)$^s)6n&ho%*Hlx#b$1ZmvQz(v~0G!DnpMJN&QsRjJJ9C_3qm6&>X zs@|Zipy^r7@Soy<$Ut{~+LMzCNZ_BNs?HAdk-cnRz3KB8x$btw)4%_BorA^CC?VpU zRN)#?`RA?q?HDF3jB+jwkCSijwC*;ZA0WjQALHnO-einj8sfYz(v})p>Dne1Y=ZB5IQIdCc}9O#A-3MdwCuhLoT8!3W=qVNdk%)w;{;cTO!?16u-+fk)4UEQNT)cBgFf05qvV#$rMxTL>170Q_iN3MkAu=K1M#dAoaEhx!VOQSvnG z`e2#5%K((i;{S|$Fkh9;|9YS2I4#FD1hob&QvrHhU<>|F7KA3kj^F#M;t+Dz=5hd^ zva-7IpdQ=+)0oG%yLC_Vj_2!y>HHc6VmW-dUJ4>Ppf)dsGCc@M+k1?B=ob1!>c%~Tg7n1Bz3ZJ|CC?fa$C9_10CXuI^ zGxDXazP=%FC3o9M^8;zz&A{g**+vz?6h3`kMRj(fQf=(M~(0Jh#E0QYc-NOI4pT}zR zgK0><)%#oY+Yn;yP*8_7yGnCF{xo=~sQ?gi`C+3ChMeMjFeNC!;bm@WB?fB{I*}q} zGn0*X$Qu|&q#}%YsSsv9+TjcJl93mDaOc@wFy6^@TZ>O+Yl?+(5Qd--Sz0Jd;LLQh zH{4cy>c4BCf3=KLxUi;r?m+=HmUvq7un0U68McmR%nS-@xQyC|VD>QG`1;1A0y|^j z5AXBoCgzhV`AmPAF)*c5xp=4L|bWNJ+`Ali6M0pJW{Whzsad( z@;Rp&{Snkh!$Iam;%tnMnS+XG@WJJnMh-NX!{|&Yc61DMnE8#2<)#$cT1x7HCQh2+ z9>fXsro$u=Bv~Zo8{dVK7;WbI!0eT(5PRK5g-N-Af%K43Z#XL6}G(g2HJ)%c~B%BzayHT`M?W0=fLm!4IA`UWYhgBO@$Vhy(NQS?|gac5HWeXCkS;?hn!gVU? zb2NmzYhr`Q-+N2d`o49bBf&cV5Eq5Wo3mH^e@`fKdjN0=We!UO#|8G=U!k{$80(e; zcAo7N_+F(*GvRyX7BAS9jkT~>9TiZ&K zD#Q_6SmNQ=HUjBdA^#?K#Yx0;GMcldM?K`4ni(D*%5|b1P z&jV+zm_Rzs$AmF+!W>ko&&WXP)EL9pQ-}W@b6q*fkwA2S8;le#4Qo*|x|$b65M3Zz z550^RZ|D+8{qg{me1Vz!e?i*Sm4l56daGB1fKGj<27d~*`}#@@?l_`HNzy$5;vG6Z z9sI9L`}>Dn@J@V6o^8hrYJ{7eIXrBC>a_hw0S|=0GyJPIZYXPzvS^%@>FCHpd}`g) zwx#U<-L;;U5IvTLM3bp#0v|jhAlbdelved84Z-QE<4o!9|0%TplM7sM+bu2WM3gNM z$+oy12jf7|!mQ(+2q-;jlAl|dR(ejWx9ufVj0yjD$Z8}{T460a{8yd(U$6IG20K^W z|0_R2Q>2&u|Mzo2&xwD-{-^l(uk26T^}qiYXlD8bRh@%YjsI_z!AJrAzi(AT)E6ex zytK)N)8qAlDHsV=^fFcL2J0}V%boRoJ*i|GZPMo1rztbMgJgBu*0%^ z&LiBQ^v&HcvG^-Nm0UGPyS~ zK(~0K&~!w|H@n5p$<&GX-`7gqwLo8Y6O`4ho-o&ybC)-d0Xi~B8}kkH)SibiEA#te zHEXeh%`qm}bNP4#n-Vnu=}O{wO0?fvn(CW1W-1kxM>r+P5K44TOEy)@MGIMQRGLn4 z<{y8$tg%-qHJcZLF-Fs)NjBiE+Lm@NFwt+B4P|J2Y9vrg7+h`&Ra=QjIK~VD3sI7y z(BjUaQit|kMA8b>?05>T*%r`&%N<>+*7?jbh7U|D>wD;uyYLj8nT$DplX=khOO}&# zAq9A!<0&qB1lS<^v|St-6Cr_;BX9S@QP{<9`dd>SH4lHQo9yGCYt^@+h z^nX_*Z2b$)>K1B|2{TsQ{n=9GF*6HXZSg?V`fc|XhZH&%sdO|@X<@}P?{)sXio;l z-B6rj1-mh+y1ziAQ5rV^BmK^p%y}SGdVA^P50%_ay4Kod6&$6-_g)uESWG#0TgwM? z`g$5?5(?(ohR0)Bn_e4Bu2XJT2*pcMuSeOwr4(t`3#e-<2mcAfY@%RMktPFX>I-+B z5B`4W5|BX+`oe9<_wV0hjcSSyQnE-UpX_WiGc&amSW{;n^CpWSgO86M$of{rI0Wl< zG1Y2&7#J1r#*KKqST2G|AR}C4eiho(fr79pWisPLSELet>2CX7zTYV{z?yK0&h$-I zjId&*i^(xnKV=9T>3ts+23xhLbHr(Zbv2Jf=@#VAh~`IVD?c`Udp})Oe4W+PI-M%XqdfhGmt{~|& zQh`oEgdm~l0&Sm>dGlUWnF`fqIs5Wq!c+5y31tOyONkAbZn_gr3))aq0;eZ&m@3P^LXW^1fPI zf|AgI^{nhrkTcrRvYC#1cULY<$9RG0n*%MMpz1bztH5nma(_~RZ*|4_{f`jFs7?Q> zrB26GCWYua=m;x&&&41-ZI{3Z~*ed_5c;g=pH~RjmvH6k;7Z19)&kql6M2J7dpXM3Z0lr&I)) z+dN}ZXeJXs{%r|8MR16?hyYN5E-(}jO&$kGhGK(#P3p!t z%X15 z+bDo8+#n~$zC!7kt12|5QOvDb&tHeyjbHC$<|(b?R(~`MBs%TDI-gAH%yNGT>V*JPv2KnhQpM3 zm>`t25p4ONvtPAYb)GLwQPYyQJjF{VlwtS)l^LYhe_EQ~&hk8s6GIVDg$nuNQ>0`p zNpC)^ulQWXXAhbt>r%R{fs5uqi;NxjMu{=Cl{A8rf@;=z>wc2;Gm?0Z}I_z)}Qvm(q;Vwsp8TLA!w(3fsN#D{h4AgRAZtdVRRm0h; z_?UQbGEK^1K%>TxvQYY=xOd^M(OKH`TlhJJRo&LhWAqE*$af+)x&}x^ge6kp{G~vs zwp)!$u-q9_YPtYr>1CyE^%q+Kkl7Bi0g}-3)KcEgGTcJsDp^^V)dHvf!>gM8I@6Y8 zZG|kOzF|viz_rz9ZN`nVDn2!O-+8u+1A{A#>jXE6oyVSLyR&tT7#o((T~fscwOx*# z%d@3Z<$q@%7g$%VGT-d%rC*1oW!q4WX*^WWNd`(x3>~Je1h~8IsPTQh?L@95klB=8 zXNjg(uy+o#k8dS>3nVD z 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

    %7dIMjljYG6@KRW5mhnmG3_*ByoS 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%0API4L=d3Y6ulM~qTWN!v~!jMx?+Gz7Sr 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 z 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%0DC(I>EZjE(5Da^IQr%F0@ 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 literal 0 HcmV?d00001 From 6eecb1efdd967455baaa929befef2d640f027892 Mon Sep 17 00:00:00 2001 From: Bill Mcilhargey <19168174+computeronix@users.noreply.github.com> Date: Wed, 25 Apr 2018 17:14:03 -0400 Subject: [PATCH 199/212] Update windows-defender-exploit-guard.md --- .../windows-defender-exploit-guard.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index d1beef5882..8840fe99a0 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -63,10 +63,10 @@ Each of the features in Windows Defender EG have slightly different requirements | Feature | Windows 10 Home | Windows 10 Professional | Windows 10 E3 | Windows 10 E5 | | ----------------- | :------------------------------------: | :---------------------------: | :-------------------------: | :--------------------------------------: | -| Exploit Protection | ![supported](./images/ball_50.png) | ![supported](./images/ball_50.png) | ![supported, enhanced](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | +| Exploit protection | ![supported](./images/ball_50.png) | ![supported](./images/ball_50.png) | ![supported, enhanced](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | | Attack surface reduction | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, full reporting](./images/ball_full.png) | -| Network Protection | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | -| Controlled Folder Access | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_75.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | +| Network protection | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | +| Controlled folder access | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_75.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | > [!NOTE] > ![supported, enhanced](./images/ball_75.png) Exploit Protection - On Windows 10 E3, includes advanced exploit protection for the kernel mode via [HVCI] (https://docs.microsoft.com/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). From 33a7af6cacb801c45aaa10f40683ca9aee084e56 Mon Sep 17 00:00:00 2001 From: Bill Mcilhargey <19168174+computeronix@users.noreply.github.com> Date: Wed, 25 Apr 2018 18:06:39 -0400 Subject: [PATCH 200/212] Update windows-defender-exploit-guard.md --- .../windows-defender-exploit-guard.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index 8840fe99a0..08cc20ad7b 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -65,8 +65,8 @@ Each of the features in Windows Defender EG have slightly different requirements | ----------------- | :------------------------------------: | :---------------------------: | :-------------------------: | :--------------------------------------: | | Exploit protection | ![supported](./images/ball_50.png) | ![supported](./images/ball_50.png) | ![supported, enhanced](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | | Attack surface reduction | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, full reporting](./images/ball_full.png) | -| Network protection | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | -| Controlled folder access | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_75.png) | ![supported, limited reporting](./images/ball_75.png) | ![supported, full reporting](./images/ball_full.png) | +| Network protection | ![not supported](./images/ball_empty.png) | ![not supported](./images/ball_empty.png) | ![supported, limited reporting](./images/ball_50.png) | ![supported, full reporting](./images/ball_full.png) | +| Controlled folder access | ![supported, limited reporting](./images/ball_50.png) | ![supported, limited reporting](./images/ball_50.png) | ![supported, limited reporting](./images/ball_50.png) | ![supported, full reporting](./images/ball_full.png) | > [!NOTE] > ![supported, enhanced](./images/ball_75.png) Exploit Protection - On Windows 10 E3, includes advanced exploit protection for the kernel mode via [HVCI] (https://docs.microsoft.com/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). From 92924204dd88dc7e58ba916c8921d20d0bf1e1a4 Mon Sep 17 00:00:00 2001 From: Maricia Alforque Date: Wed, 25 Apr 2018 22:09:06 +0000 Subject: [PATCH 201/212] Merged PR 7498: Office CSP - added link to Intune topic --- windows/client-management/mdm/office-csp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/client-management/mdm/office-csp.md b/windows/client-management/mdm/office-csp.md index f031f91a4b..5386096239 100644 --- a/windows/client-management/mdm/office-csp.md +++ b/windows/client-management/mdm/office-csp.md @@ -6,13 +6,13 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: nickbrower -ms.date: 01/26/2018 +ms.date: 04/25/2018 --- # Office CSP -The Office configuration service provider (CSP) enables a Microsoft Office client to be installed on a device via the Office Deployment Tool (ODT). For more information, see [Configuration options for the Office Deployment Tool](https://technet.microsoft.com/en-us/library/jj219426.aspx). +The Office configuration service provider (CSP) enables a Microsoft Office client to be installed on a device via the Office Deployment Tool (ODT). For more information, see [Configuration options for the Office Deployment Tool](https://technet.microsoft.com/en-us/library/jj219426.aspx) and [How to assign Office 365 apps to Windows 10 devices with Microsoft Intune](https://docs.microsoft.com/en-us/intune/apps-add-office365). This CSP was added in Windows 10, version 1703. For additional information, see [Office DDF](office-ddf.md). From ea8dad120d72754ad6a46d07e01a0902675e113a Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 15:39:51 -0700 Subject: [PATCH 202/212] fixed lin --- windows/security/threat-protection/TOC.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 45f6882afe..f83cf3584e 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -311,6 +311,9 @@ #### [Evaluate Controlled folder access](windows-defender-exploit-guard\evaluate-controlled-folder-access.md) #### [Enable Controlled folder access](windows-defender-exploit-guard\enable-controlled-folders-exploit-guard.md) #### [Customize Controlled folder access](windows-defender-exploit-guard\customize-controlled-folders-exploit-guard.md) +### [Memory integrity](memory-integrity.md) +#### [Requirements for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +#### [Enable virtualization-based protection of code integrity](enable-virtualization-based-protection-of-code-integrity.md) ## [Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md) From 542ee4aabb0f4c22a185ba44b79bdd8207e292a5 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 15:47:53 -0700 Subject: [PATCH 203/212] revised intro --- ...nable-virtualization-based-protection-of-code-integrity.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index bfebbbbc6e..354c6831e1 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -16,9 +16,7 @@ ms.date: 04/19/2018 - Windows 10 - Windows Server 2016 -Virtualization-based protection of code integrity (herein referred to as hypervisor-protected code integrity, or HVCI) is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. -Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. - +This topic covers different ways to enable Hypervisor-protected code integrity (HVCI) on Windows 10. Some applications, including device drivers, may be incompatible with HVCI. This can cause devices or software to malfunction and in rare cases may result in a Blue Screen. Such issues may occur after HVCI has been turned on or during the enablement process itself. If this happens, see [Troubleshooting](#troubleshooting) for remediation steps. From 230602a1f226f6c214e060f6d5832b36b384416b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 16:06:45 -0700 Subject: [PATCH 204/212] fixed links --- windows/security/threat-protection/TOC.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index f83cf3584e..0dbf7d5f4a 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -295,9 +295,9 @@ #### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) #### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) ##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard\import-export-exploit-protection-emet-xml.md) -#### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) -##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) -##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md) +#### [Memory integrity](windows-defender-exploit-guard\memory-integrity.md) +##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard\requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard\enable-virtualization-based-protection-of-code-integrity.md) ### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) #### [Enable Attack surface reduction](windows-defender-exploit-guard\enable-attack-surface-reduction.md) From d50ddc22c736ea9f8c3c7a43db0a441ac711b75d Mon Sep 17 00:00:00 2001 From: Javier Aranzales Date: Wed, 25 Apr 2018 23:28:09 +0000 Subject: [PATCH 205/212] Merged PR 7494: Updated itadmin-tib-get-started.md Updated itadmin-tib-get-started.md --- education/trial-in-a-box/itadmin-tib-get-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/education/trial-in-a-box/itadmin-tib-get-started.md b/education/trial-in-a-box/itadmin-tib-get-started.md index 45008bc831..08c14e499d 100644 --- a/education/trial-in-a-box/itadmin-tib-get-started.md +++ b/education/trial-in-a-box/itadmin-tib-get-started.md @@ -231,10 +231,10 @@ The Microsoft Store for Education is where you can shop for more apps for your s Update settings for all devices in your tenant by adding the **Documents** and **Downloads** folders to all devices managed in Intune for Education. 1. Go to the Intune for Education console. -2. Select **Group > All Devices > Settings** and expand **Windows interface customizations**. +2. Select **Group > All Devices > Settings** and expand **Windows interface settings**. 3. In **Choose folders that appear in the Start menu**, select **Documents** and **Downloads**. - ![Choose folders that appear in the Start menu](images/i4e_groups_alldevices_newfolders.png) + ![Choose folders that appear in the Start menu](images/Bug.png) 4. **Save** your changes. From 20fb52b3581288c29318c880b97d8d683239bac8 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 16:29:02 -0700 Subject: [PATCH 206/212] fixed links in toc --- windows/security/threat-protection/TOC.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 0dbf7d5f4a..21fe7ae7a1 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -294,9 +294,9 @@ #### [Evaluate Exploit protection](windows-defender-exploit-guard\evaluate-exploit-protection.md) #### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) #### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) -##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard\import-export-exploit-protection-emet-xml.md) -#### [Memory integrity](windows-defender-exploit-guard\memory-integrity.md) -##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard\requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md) +#### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) +##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) ##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard\enable-virtualization-based-protection-of-code-integrity.md) ### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) From e001ce851e7bcb892342451b981c9f076efbc2fc Mon Sep 17 00:00:00 2001 From: Jason Groce Date: Wed, 25 Apr 2018 23:45:40 +0000 Subject: [PATCH 207/212] Merged PR 7503: Added screenshot-bug to replace Bug.png Added screenshot-bug to replace Bug.png --- .../trial-in-a-box/images/screenshot-bug.png | Bin 0 -> 301184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 education/trial-in-a-box/images/screenshot-bug.png diff --git a/education/trial-in-a-box/images/screenshot-bug.png b/education/trial-in-a-box/images/screenshot-bug.png new file mode 100644 index 0000000000000000000000000000000000000000..319982163188b19b00d4ca76375d36f084463dac GIT binary patch literal 301184 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ℜc?w8ewOxFSmbPeTwr--~~yLvnZN@=A&28 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 z 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

    %7dIMjljYG6@KRW5mhnmG3_*ByoS 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%0API4L=d3Y6ulM~qTWN!v~!jMx?+Gz7Sr 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 z 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%0DC(I>EZjE(5Da^IQr%F0@ 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 literal 0 HcmV?d00001 From b273abc8b1941722ba3a8731511690a4ab3f27df Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 16:46:21 -0700 Subject: [PATCH 208/212] fixed links in toc --- windows/security/threat-protection/TOC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 21fe7ae7a1..b7ebeca50a 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -295,8 +295,8 @@ #### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) #### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) ##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md) -#### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) -##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +#### [Memory integrity](windows-defender-exploit-guard\memory-integrity.md) +##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard\requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) ##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard\enable-virtualization-based-protection-of-code-integrity.md) ### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) From b534ce47f324569a6bafd751eb1ade6f79571103 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 17:00:21 -0700 Subject: [PATCH 209/212] removed broken links --- windows/security/threat-protection/TOC.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b7ebeca50a..0b4c04b285 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -295,9 +295,6 @@ #### [Enable Exploit protection](windows-defender-exploit-guard\enable-exploit-protection.md) #### [Customize Exploit protection](windows-defender-exploit-guard\customize-exploit-protection.md) ##### [Import, export, and deploy Exploit protection configurations](windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md) -#### [Memory integrity](windows-defender-exploit-guard\memory-integrity.md) -##### [Requirements and deployment planning guidelines for virtualization-based protection of code integrity](windows-defender-exploit-guard\requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) -##### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard\enable-virtualization-based-protection-of-code-integrity.md) ### [Attack surface reduction](windows-defender-exploit-guard\attack-surface-reduction-exploit-guard.md) #### [Evaluate Attack surface reduction](windows-defender-exploit-guard\evaluate-attack-surface-reduction.md) #### [Enable Attack surface reduction](windows-defender-exploit-guard\enable-attack-surface-reduction.md) From 72ba6f999fbb509e400c5cf5e1af9f8b8579f86d Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Wed, 25 Apr 2018 17:18:38 -0700 Subject: [PATCH 210/212] removed broken links --- windows/security/threat-protection/TOC.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 0b4c04b285..2cad540881 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -308,9 +308,9 @@ #### [Evaluate Controlled folder access](windows-defender-exploit-guard\evaluate-controlled-folder-access.md) #### [Enable Controlled folder access](windows-defender-exploit-guard\enable-controlled-folders-exploit-guard.md) #### [Customize Controlled folder access](windows-defender-exploit-guard\customize-controlled-folders-exploit-guard.md) -### [Memory integrity](memory-integrity.md) -#### [Requirements for virtualization-based protection of code integrity](requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) -#### [Enable virtualization-based protection of code integrity](enable-virtualization-based-protection-of-code-integrity.md) +### [Memory integrity](windows-defender-exploit-guard\memory-integrity.md) +#### [Requirements for virtualization-based protection of code integrity](windows-defender-exploit-guard\requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md) +#### [Enable virtualization-based protection of code integrity](windows-defender-exploit-guard\enable-virtualization-based-protection-of-code-integrity.md) ## [Windows Defender Application Control](windows-defender-application-control/windows-defender-application-control.md) From a0f04847bf6a0d67c31a35772d83b5902ca4f991 Mon Sep 17 00:00:00 2001 From: Trudy Hakala Date: Thu, 26 Apr 2018 16:31:36 +0000 Subject: [PATCH 211/212] Merged PR 7513: MSfB April What's New Adding MSfB WN content for April --- .../images/license-assign-icon.png | Bin 0 -> 8133 bytes ...tory-microsoft-store-business-education.md | 11 +++++++++-- store-for-business/sfb-change-history.md | 10 ++++++++-- ...-new-microsoft-store-business-education.md | 18 ++++++++++++------ 4 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 store-for-business/images/license-assign-icon.png diff --git a/store-for-business/images/license-assign-icon.png b/store-for-business/images/license-assign-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5daa933c4108ebba8eab76db9d2d416012a794 GIT binary patch literal 8133 zcmd5>2UwFyw?=UlTvtTwD1-n;g_uGTNH8Ep5fzXcnqV3bA%!ILricYl>DVX&DpdqD zh*S$A9YuOoqzDM8^nSmHZU5`u-P@jf^FT7+oOjNgIpv)b@IR)j^~dUMs|5rE{?I<8 zX&@l5>dR_|6L|b+;ULu7_ zqV9F2vjDV!z&=%17LjaE<$_35TN(oo9?2^LgJ={yn1I%S>##JacC=F@$%Bw^gdz;C2tz19;RqZYgHynQzP`Y~ZfuGT&Or0v*S&xz zJlKxQW#M2j7Z;bkE(&{@Y+D!ti^am=NEi|c1rSh<8-q)9g)%tO-!y1aIb=4C#icPB zAihQ-iRr|}g8@sIjzDL9SIgjhbraw)m@AP5L+pj~kMsq|vSV_Y96RP;z`u+Cw1`6f zuAJq>cKBj3g$$!QQ0Y_#mjhrC-!}kUtE2NB{!3fv^zUd6_kc5SjIR#)C7NU8#-hRu zs2rvfn@m064D2ZV?KB*&0riJJ|G{zq{(Ui*X7d+o`I0|5fa*&73n*Xm9m>LKu&G2Y zlWoLgI(*BWW8XXu($E0yBG4EVrVD2`{{&y*R81n6iU$K}qy&W{fgd9Tnx95UAfJ?Q zaQG5b2S`i`kxTp;jDjNIMsO?+r2yceaK#^BCWU6>_P5aQ(Z*>o9hht#CIzrV0Suy$ zaW+ggod`sRMkm@*VJwF27b|phaM}zGm&hPfwKefz;0SwZGzyNS07ok-QmIf3QV9bk zVNq}>2}x0eqEKig8iOQJ6|mHA>ou8VCw|uO*DqBag-Hf<{ICU1M54(=I2wvpz#^d- zI0^wJDPoCGDwar8qN34CR1Eo>Ha#{CD14&B&szCbQ2>oZ8;pVyiiCh7$qHmZ8A<_) zMWC=yB@Bv$MFVqi1r!*>k2MZZ1DHhQR~H_P_&RCI&p8LDrAb939C*PH{P(YNv%iu5 z5F0aSfGd$;5IerBKgel z!)ZoTSME`w8p?f-?0aEEAod)&Ud!;tFu!!cj@2S+3?1)0pRUMd9)TAHT)BGvy{QZ21_ zv7-X%^dHpq5{$#N;kppnR5e>52mgjO_)*~p1&HaNP3I7u|6{`uSPT}fL{xxMh$JN_ zMFFTPA{j%0A{1@NfZMTfI2ov_Um1=72nm5hqHsunpOy&eKX3R~&15?w!e1bqwQBbTBLO~I(KqgYiioZI_FX{519)%yqpXqyP-9I@G znaOabvVY1e7Lg4UAQz}rJlKZKq=SeomIICag??bp49eH*`+I4DxJ=Lw9{x+eQK)R% zPf76eF5gW6{SWTBG!GxPP*MWoAC28(q$kOjvStyqA2)XqY z-gXTYSFV)bcsLZ<{<1d9X@p^~C|4C>-+%mdy3y72ZOa!x-rKtOuUjJ|xE3y`u!ggE zq7j3&jUjr&MfSx`#@1Zy!@lygi5cD3=P9yzZpv}Ffb+C#o}fU20DJjk5$v)z=c5EZ zYUm0~NkIhWg2e>9ON9kgyH}i&{C_6)ENEZGG6+S2WWg-+rkoRx?p1bPSw})nS}U3t zHf}w#EjI->li&UX@f&ul&YWjXgm(FJ+VyT)dB(bH(Jq*W;xM1ig~qPlGd)8ltrwhF zm0iA)s>4Gn0;&;4q4!zkpC1_-i7h`jE@Gj4bd_Fxfm2r8-I{^8LjPrKFn9gsZutwY zp9^z7onFvYtZiYBxC-l3gZ=DsEieq<9eRNbvD5(iBlszE#;lX3aw%%1?Eo;0y zU=JTHs-BR4s$^vvYP>9#UMPL2I-f@!mQ=E8%8;}6h^wb0MjP=Q+Mg!L_J=HZuW#_k zz1aKwUi9;f4$)HoQ-_q;I9pxt>~O>F>)Cx1geVu+4Jyh$)6ZW8BGR!q&#j9vTvr1Ei^Pvx@_f6yVN(CDoPy!s7v zT1%vP>9M4DAuUJHV|fKdhN44*Et2}IjkKe8xkHW4ptCNQ#( z*=VF}%=(}?Bd~I%6vQ`!8+p!s&W@;|A6PJ3^vs}+gfnk~r>%Vq>egHrny6n`O~$U7>3(qtmmUid}n({e`#$7$1RwsMZ zpd&$$jw_qCYT~UtpG$`wHm%CaUA6)%>PveYE-9vdh}Q0;7j?N_K2>~wu$a^q*kppl zz1nftE^eBQS-XI5l+fvmnWYrgri|9i>k&r~Zc)P6Pbzr|@72}?i;WB-UlqO4=#iNA zwMAD9tX$WvDYWL`%!W5Wp2R5aNHsH2JOzTNvv_A!GGex(JH!&n-(c0qNT15fe-&WFE9gqnJ!D+5K4GIq(8KpSEqg6p5P+MGS?ahQtafZWmu5E^ zW2a$);uUJ@kE4O{MK#?OQbiBWx_j!ocW?~E1OYaK3u{p!LApVm9}iI(ouvoqc4 zhglWiJ;GXSg6!0+!9vhr%cWK2E$yt!nZIL2SEOFrjx*Hr+AV9s8(lDM)XOBBtx5e@ zo@ncnvF2uP0KU}!*avyL_wVDG!}oD=y|>SX9jAF#w1+jeX^2>85jtBTKCIi0i2XZ+ z1)I^iTkwI@hc(Ca#`->|jz61kxx(tcJ4=o+$3>5yd$^V`Z+%y5=guHmpbj=H zyyVH~Z^WJUhAFw3A2NxGKioQ<@Ju$pwk~U4?^c`g4HajIpHaPwN^a5mE0+1eV#_i` z4NP7a&P@mn*xgtcuU~$@Pgi$M2HykjjNQp2yls`TNRlGOH3u{Vs+yYP#AhWYCR8dr` z+Lo%6nD}t<>?EvU^iuUDdcd-nSRulx*jugb_Ui6OBOOgUl|8q_3hAFaSUCSyMp-;A zCrLfErkUW~t0k}GxFJ1nh3#O0eygPRwWP69Qifh;516-CQD6^_@ zr)u!lA-PXe;~B;0Zz$kV3VWsknHC;1pKgV$O3yn7)!rJsUQ`L{V42b8l5y*p3$y5n zT{69Y`cCzmv6G3eXU86&Gkdj7D-dZuvx@6ZHq6Uxr69)5gr$(lGKYE<^>>R9%6I6s z)bD)uEDsjWBVRe_5iE9oYMLb%79RK-RrWfZC^gZrWniqNYan~BHd2r}bXo7Ij&X&G zw~e#X-SUq**IV3I?;X@7@OIoCh9fbaLKCBpV7drZD>vJ$k`N4VQHTuh8<{XKAq%sg zYRE=(%SUB-4sWRUJ4Kw=i0*Km`XG|0i$Q&gNDU+$3UWC7aPf4u=w}_biWnF#*2pl$ zt~HZ%u(TyDnf6*^NcF<2{!10vn@yZvLgWS6Pi5X7s`kAA83`1ZEN#1eod9HM-ixA& z`P>j*V-RkC=wjQ@1nl9S2Q!^J(kkx_vU9~JHCGjd9LUZm6v64$x z$?FBdEe8vm=I(24vKYDK4hl2d9iPebs7mkh>dduuStTyz^LkrAg?X-8Ma;WnkJlY&;%4IU>J@ z&KadAxu2OfbsY802|iZBl9N5?Hq0K)a8BMV*xhZ5sfr!zDwmn%v_zLUT9&Ng#U_tD zXxJ|_U6I>rDk7FTpnPRmzN=u_o2bFw(?yXe*hPXtLYLep?TbP!9>ZFCQSM_;jbdZd zv`y&V@UjI5=f=(64wf-5>t2b!fe>|$&>V)Uy%UQQ-t{+F*-t3TzTng*H%68r%3s)? zolo8p5#a4Rd)$Zbafi_zYV6*-P|o7xPfyPspEjSZ*=kUq<@9?(_|##bh@4ISpuDP4EiHy80@!BSZggldRv)9 zj&%yngW^&)QiE=`rXLZa4fij0W@Q_0z7Yyuo}3r9UVYBXYdLkSD%IK3U|K&}E1SAK zrQ<~8#I=z_$3(nn>Ng*ZniCK^4=)Jz){Ci^7TFwZx)wF7<~?*=IiO~6m(zRG0P~|R zL%TXW;%!XZladCT%;E9&YaVVw8P&a#v`nwOxUDQkXggco$e=7NkV!0m-A<4A z-U!(7lx34A)y|wL+9O-vsB2e{asR3C-8erJzZ=pr%3fWilUi4cW5k5DvbJvCa^++T zMk3j1euH>WomI+PNp}7XpZakQ_Po-X=qK@~mI zFrmP}A=4$6(8#Dvt;>5$(Jf1@GfX|DMe`;3M#r{dA}`<}M{H?HFM>8d;S z{dRE$%iN#z*tkSjVC&Yh{N%Ms)p)UunSC;D+j=-B?l(L8==XJq4K2i1+mILbMW=uM zoV_}2ZRLfrQi+g+%SoK|_ks;19m8qLZH0FI>Z!>`j}!^EGIuCBQ(aRJw+%N%T=pJ( z{PLY4nsH+dF2x@Qp@obYOFk#;`+O^?J}tf7F5{R=f^^x5tvA=|*IkT%Ly{hdI!bov zH!<%E@$X5qxnU>yGDK_W99Za`tGZ@P*eCW(cgUV-tzP?#>qAIk(t2f{c-l0YzpQji z;L&t98+GN><|ik2TWJlgeBsDw-obt#HlFVuRDVV?X4opIn4J?dePlc^*1K=WN+>*u zQ%jBa*{{)4sC(sYmb8)XqW%3`#M73UH2Tvisu)P$+GXn&cY&_K4 zXP|!6O@9HF%$Td11zT zvy@EH1FCjOcifB3x3#LLvlyoKUPD*;jf8GzF}}!X7ga|hCb|4VLgngq&s!$UO|xF` z%s$HEL;7L^W4pOvYiA?G#rP?Z_s6Y$!EX-@r>q#j1m-%wJB@_ZY$%kH)_wH3I$0yA z&)a(=R&>_sO8vpL(aDL0;p^SIOF=Ts$Tb#2$rj#t{926UF*Nc2ggglB^N(y9ZdPrggTUeum4qMd9e zh}&j*YYRyM4B4uOUVHD#8+@s-)EQoO2W*H~qjl8Z*lVIIUqs^ilUYkyW9aON@uyhk zwHMpM)~N&SMQpo8K+3Iz3r!;~?Z@g!EuY`^C`ufmZcLq=95=(bloz!jnxEs^1Tn2g zBqKIqekaj4DG6bx%RDyUJKGzf8XIlbcc$9WvbHYxR&pgcb)wlJd&l`b3!ZWH%__bw zAc*QH@J-1tIBKK+dJ%`yNcf40Dmlr0zg^s0T2^JXnEUB^+(^Xvuou7Oj0U}a-CET1 ztYYMNv3!KS@H^K4M}tlYmwRR-2(uFHPj^w~QV>-Im)aaoO_dwf3CX*fB3HM%SuQoK z2Cry4EE6QZTrfyo*ZcDTEMaXCT=8^)Xu#n5cnx4YS#J&85*ywK1CH?n8ju$axAzsu z$KWhp6#!HjW3_2`zq0@Wk_UBA=M6 z{M28V&02~$@yb4a9R8g;#ORowiOsxIZYZl~SgaS9CNta3bh0^LVXPAJB5D~b#UBqz zKG}SJ@O4saN5`$?yNPeIhPlSAuLjmizcX{sh^_H*44D2@t{jHe=o=8JZy~y~`rIBi zA`9OJ$#o?e_TX*j#A1WG`ww1B8hKo-^Ko(NTJwbJON@HqZf5i7?TN6H3kJCBGaX z4sYdr~!);O;nAKHP7K8TB6s?@mD6p{~ev);u zZFJh{czRTiUjrQWkY!=z2J_H9akO{}U!=qCk$*!2SCtiY;-@$7uGGPaTjUWOlqXxX zCy&B2TS^;z&uwh2MrS+U?+C*hzU%UZf82%Wr8r-8Xs_*0BLJ85X1d(I`qH_h%6&%U z$$0u%Ah**L_wgvWiMUPjh+dh=xMBgH8P}UBg`EEC_!&mfhPsrIZ25Mx;()`ain>(^ zvhH2^Z*Z^LH(TAf)3IQ>XZ&_a!|;LD)%Xpe;&)ce?5NSUZTGKs8|jJ-Xg5jTRcwv4 z8hB558+jX1(Rbhve9U;B;a&XY1)Y+URVt3{nRc>h z+$RmJbXSfm(%ZcilJ~MyJLWGoscFz$Nb_=|?+9c)CF0{k
    We've made it significantly faster for you to update the private store. Many changes to the private store are available immediately after you make them.

    [Get more info](https://docs.microsoft.com/microsoft-store/manage-private-store-settings#private-store-performance)

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | -| ![Private store library icon](images/private-store-icon.png) |**Private store collection updates**

    We’ve made it easier to find apps when creating private store collections – now you can search and filter results.

    [Get more info](https://docs.microsoft.com/microsoft-store/manage-private-store-settings#private-store-collections)

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | -| ![Skype icon.](images/skype-icon-wn.png) |**Manage Skype communication credits in Microsoft Store for Business and Education**

    Office 365 customers that own Skype Communication Credits can now see and manage them in Microsoft Store for Business. You can view your account, add funds to your account, and manage auto-recharge settings.

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | -| ![Upgrade Office 365 trial subscription.](images/office-logo.png) |**Upgrade Office 365 trial subscription**

    Customers with Office 365 can upgrade their subscription and automatically re-assign their user licenses over to a new target subscription. For example, you could upgrade your Office 365 Business to Office 365 Business Premium.

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | +| ![License assign icon](images/license-assign-icon.png) |**Assign apps to larger groups**

    We're making it easier for admins to assign apps to groups of people. Admins can assign licenses to groups of any size, and include subgroups within those groups. We’ll figure out who’s in those groups, and assign licenses to people in the groups (skipping people who already have licenses). Along the way, we’ll let you know how many licenses are needed, and provide an estimate on the time required to assign licenses.

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | +| ![Private store icon](images/private-store-icon.png) |**Change collection order in private store**

    Private store collections make it easy for groups of people to find the apps that they need. Now, you can customize the order of your private store collections.

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | +| ![Office logo icon](images/office-logo.png) |**Office 365 subscription management**

    We know that sometimes customers need to cancel subscription. While we don't want to lose a customer, we want the process for managing subscriptions to be easy. Now, you can delete your Office 365 subscription without calling Support. From Microsoft Store for Business and Education, you can request to delete an Office 365 subscription. We'll wait three days before permanently deleting the subscription. In case of a mistake, customers are welcome to reactivate subscriptions during the three-day period.

    **Applies to**:
    Microsoft Store for Business
    Microsoft Store for Education | +

    ^cr{RsHI>@hXn1`xMh_U@6{j_ZX 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%0Dl^H(V5Lt(r8@Y3%nf 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