From 5584c886d44018c0537f49f3fdc91cd65f810a1a Mon Sep 17 00:00:00 2001 From: Zach Dvorak Date: Wed, 21 Mar 2018 11:17:01 -0700 Subject: [PATCH 01/30] Update windows-analytics-get-started.md --- windows/deployment/update/windows-analytics-get-started.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/windows-analytics-get-started.md b/windows/deployment/update/windows-analytics-get-started.md index de69f455fc..32e36d85f3 100644 --- a/windows/deployment/update/windows-analytics-get-started.md +++ b/windows/deployment/update/windows-analytics-get-started.md @@ -53,7 +53,8 @@ To enable data sharing, configure your proxy sever to whitelist the following en | `https://oca.telemetry.microsoft.com` | Online Crash Analysis; required for Device Health and Update Compliance AV reports. Not used by Upgrade Readiness. | - +>[!NOTE] +>If you have SSL Inspection enabled enabled on your proxy server, you may need to add the above URLs to your SSL inspection exclusion list to allow data to reach Microsoft's endpoints. ### Configuring endpoint access with proxy servers If your organization uses proxy server authentication for outbound traffic, use one or more of the following approaches to ensure that the diagnostic data is not blocked by proxy authentication: @@ -150,4 +151,4 @@ For more information about Internet Explorer Security Zones, see [About URL Secu ### Distribution at scale without using the deployment script -We recommend using the deployment script to configure devices. However if this is not an option, you can still manage settings by policy as described in the previous section. However, if you don't run the deployment script, you might have to wait a long time (possibly weeks) before devices send the initial full inventory scan. \ No newline at end of file +We recommend using the deployment script to configure devices. However if this is not an option, you can still manage settings by policy as described in the previous section. However, if you don't run the deployment script, you might have to wait a long time (possibly weeks) before devices send the initial full inventory scan. From 0050637d8f98b5d39c6110f706ecb51cb1047c05 Mon Sep 17 00:00:00 2001 From: Sarah Handler <32965347+cloudhandler@users.noreply.github.com> Date: Mon, 26 Mar 2018 14:35:08 -0400 Subject: [PATCH 02/30] clarify wip doc clarifies selective wipe capability as specific to mdm enrolled devices only --- .../protect-enterprise-data-using-wip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md index c68ad8e70c..20431799cb 100644 --- a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md +++ b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md @@ -62,7 +62,7 @@ WIP provides: - Additional data protection for existing line-of-business apps without a need to update the apps. -- Ability to wipe corporate data from devices while leaving personal data alone. +- Ability to wipe corporate data from Intune MDM enrolled devices while leaving personal data alone. - Use of audit reports for tracking issues and remedial actions. From e694bb01dde5b620ac85cb96d8fe7c70c6e9d71f Mon Sep 17 00:00:00 2001 From: Zach Dvorak Date: Mon, 26 Mar 2018 16:55:54 -0700 Subject: [PATCH 03/30] Update windows-analytics-get-started.md --- windows/deployment/update/windows-analytics-get-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/windows-analytics-get-started.md b/windows/deployment/update/windows-analytics-get-started.md index 32e36d85f3..1001aa243a 100644 --- a/windows/deployment/update/windows-analytics-get-started.md +++ b/windows/deployment/update/windows-analytics-get-started.md @@ -54,7 +54,7 @@ To enable data sharing, configure your proxy sever to whitelist the following en >[!NOTE] ->If you have SSL Inspection enabled enabled on your proxy server, you may need to add the above URLs to your SSL inspection exclusion list to allow data to reach Microsoft's endpoints. +>If you have SSL Inspection enabled on your proxy server, you might need to add the above URLs to your SSL inspection exclusion list to allow data to reach Microsoft endpoints. ### Configuring endpoint access with proxy servers If your organization uses proxy server authentication for outbound traffic, use one or more of the following approaches to ensure that the diagnostic data is not blocked by proxy authentication: From fbcfc97aa1b42d999c059d51493bd7fb86a5c235 Mon Sep 17 00:00:00 2001 From: theznerd Date: Tue, 27 Mar 2018 10:40:23 -0600 Subject: [PATCH 04/30] Updated link to latest version of the Invoke-MbamClientDeployment.ps1 script --- ...cker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7234d14a83..f317d69860 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 @@ -59,7 +59,7 @@ This topic explains how to enable BitLocker on an end user's computer by using M - Robust error handling - You can download the `Invoke-MbamClientDeployment.ps1` script from [Microsoft.com Download Center](https://www.microsoft.com/download/details.aspx?id=48698). This is the main script that your deployment system will call to configure BitLocker drive encryption and record recovery keys with the MBAM Server. + You can download the `Invoke-MbamClientDeployment.ps1` script from [Microsoft.com Download Center](https://www.microsoft.com/download/details.aspx?id=54439). This is the main script that your deployment system will call to configure BitLocker drive encryption and record recovery keys with the MBAM Server. **WMI deployment methods for MBAM:** The following WMI methods have been added in MBAM 2.5 SP1 to support enabling BitLocker by using the `Invoke-MbamClientDeployment.ps1` PowerShell script. From d025642c15b5e8ad64e061ed47adeb586d7f731c Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Tue, 27 Mar 2018 11:03:42 -0700 Subject: [PATCH 05/30] Change "1083" to "1803" --- windows/client-management/mdm/policy-csp-experience.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-experience.md b/windows/client-management/mdm/policy-csp-experience.md index 3f96460055..f1e51391bc 100644 --- a/windows/client-management/mdm/policy-csp-experience.md +++ b/windows/client-management/mdm/policy-csp-experience.md @@ -1027,7 +1027,7 @@ The following list shows the supported values: -Added in Windows 10, version 1083. This policy allows IT admins to turn off Suggestions in Settings app. These suggestions from Microsoft may show after each OS clean install, upgrade or an on-going basis to help users discover apps/features on Windows or across devices, to make thier experience productive. +Added in Windows 10, version 1803. This policy allows IT admins to turn off Suggestions in Settings app. These suggestions from Microsoft may show after each OS clean install, upgrade or an on-going basis to help users discover apps/features on Windows or across devices, to make thier experience productive. - User setting is under Settings -> Privacy -> General -> Show me suggested content in Settings app. - User Setting is changeable on a per user basis. From c513ca61e1c05dc5e85ad1f9530c4aca5cc13fe7 Mon Sep 17 00:00:00 2001 From: Steve Burkett Date: Wed, 28 Mar 2018 10:24:13 +1300 Subject: [PATCH 06/30] Fix couple of typos Fix couple of typos in the 'Can I deploy Windows Hello for Business using System Center Configuration Manager?' section. --- .../hello-for-business/hello-identity-verification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-identity-verification.md b/windows/security/identity-protection/hello-for-business/hello-identity-verification.md index 96d449f9d3..10129cc2c0 100644 --- a/windows/security/identity-protection/hello-for-business/hello-identity-verification.md +++ b/windows/security/identity-protection/hello-for-business/hello-identity-verification.md @@ -72,7 +72,7 @@ The table shows the minimum requirements for each deployment. ## Frequently Asked Questions ### Can I deploy Windows Hello for Business using System Center Configuration Manager? -Windows Hello for Business deployments using System Center Configuration Manager need to move to the hybrid deploymnet model that uses Active Directory Federation Services. Deployments using System Center Configuration Manager wil no long be supported after November 2018. +Windows Hello for Business deployments using System Center Configuration Manager need to move to the hybrid deployment model that uses Active Directory Federation Services. Deployments using System Center Configuration Manager will no long be supported after November 2018. ### What is the password-less strategy? From 2be65c405ceb06afd35feaff3b0d4aec842c520c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B0=E5=AE=85=20=E4=BC=B8=E5=95=93?= Date: Wed, 28 Mar 2018 23:35:43 +0900 Subject: [PATCH 07/30] Update policy-csp-power.md Footnote "3" (Added in Windows 10, version 1709) to check mark. --- .../client-management/mdm/policy-csp-power.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-power.md b/windows/client-management/mdm/policy-csp-power.md index 5bee576aca..fc85260394 100644 --- a/windows/client-management/mdm/policy-csp-power.md +++ b/windows/client-management/mdm/policy-csp-power.md @@ -171,10 +171,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark @@ -235,10 +235,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark @@ -299,10 +299,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark @@ -363,10 +363,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark @@ -551,10 +551,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark @@ -615,10 +615,10 @@ ADMX Info: cross mark - check mark - check mark - check mark - check mark + check mark3 + check mark3 + check mark3 + check mark3 cross mark cross mark From bcf34f4ca4908f35aa601e6cf09e6bd5aa827059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B0=E5=AE=85=20=E4=BC=B8=E5=95=93?= Date: Fri, 30 Mar 2018 00:28:28 +0900 Subject: [PATCH 08/30] Fix Conflict and Fix Table Layout What's new in Windows 10, version 1803 --- .../mdm/new-in-windows-mdm-enrollment-management.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md index a7eeb7a2b0..b0f80a167b 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 @@ -1329,16 +1329,20 @@ For details about Microsoft mobile device management protocols for Windows 10 s -<<<<<<< HEAD + + + [AccountManagement CSP](accountmanagement-csp.md)

Added a new CSP in Windows 10, version 1803.

-======= + + + [RootCATrustedCertificates CSP](rootcacertificates-csp.md)

Added the following node in Windows 10, version 1803:

  • UntrustedCertificates
->>>>>>> 2aa0839b99c52229c7cf43d58f467019b1284a6a + From 3c8b7b66b9eaca6a2cb57c5c2512f00c8388c149 Mon Sep 17 00:00:00 2001 From: karthigb Date: Thu, 29 Mar 2018 11:10:00 -0700 Subject: [PATCH 09/30] Update policy-csp-systemservices.md --- .../mdm/policy-csp-systemservices.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-systemservices.md b/windows/client-management/mdm/policy-csp-systemservices.md index 9dd4ebd067..1efa6419f1 100644 --- a/windows/client-management/mdm/policy-csp-systemservices.md +++ b/windows/client-management/mdm/policy-csp-systemservices.md @@ -80,7 +80,7 @@ ms.date: 03/12/2018 -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. @@ -129,7 +129,7 @@ GP Info: -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. @@ -178,7 +178,7 @@ GP Info: -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. @@ -227,7 +227,7 @@ GP Info: -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. @@ -276,7 +276,7 @@ GP Info: -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. @@ -325,7 +325,7 @@ GP Info: -Added in Windows 10, version 1803. This setting determines whether the service's start type is Automaic(2), Manual(3), Disabled(4). Default: Manual. +Added in Windows 10, version 1803. This setting determines whether the service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. From 73519b17a6381db7a1e0b4fc4aa0be54724dc0bf Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 29 Mar 2018 13:18:59 -0700 Subject: [PATCH 10/30] move azure up --- ...ows-defender-advanced-threat-protection.md | 123 +++++++++--------- 1 file changed, 64 insertions(+), 59 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md index 67f8c2bdd0..0ced4ceb82 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md @@ -40,6 +40,70 @@ For more information on enabling MDM with Microsoft Intune, see [Setup Windows D For more information on using Windows Defender ATP CSP see, [WindowsAdvancedThreatProtection CSP](https://msdn.microsoft.com/library/windows/hardware/mt723296(v=vs.85).aspx) and [WindowsAdvancedThreatProtection DDF file](https://msdn.microsoft.com/library/windows/hardware/mt723297(v=vs.85).aspx). + +### Using the Azure Intune Portal to deploy Windows Defender Advanced Threat Protection policies on Windows 10 1607 and higher + +1. Open the Microsoft Intune configuration package .zip file (*WindowsDefenderATPOnboardingPackage.zip*) that you downloaded from the service onboarding wizard. You can also get the package from the [Windows Defender ATP portal](https://securitycenter.windows.com/): + + a. Select **Endpoint management** > **Clients** on the **Navigation pane**. + + b. Select **Mobile Device Management/Microsoft Intune** > **Download package** and save the .zip file. + + ![Endpoint onboarding](images/atp-mdm-onboarding-package.png) + +2. Extract the contents of the .zip file to a shared, read-only location that can be accessed by the network administrators who will deploy the package. You should have a file named *WindowsDefenderATP.onboarding*. + +3. Login to the [Microsoft Azure portal](https://portal.azure.com). + +4. From the Intune blade, choose **Device configuration**. + + ![Image of device configuration menu in Microsoft Azure](images/atp-azure-intune-device-config.png) + +5. Under **Manage**, choose **Profiles** and click **Create Profile**. + + ![Image of policy creation in Azure](images/atp-azure-intune-create-profile.png) + +6. Type a name, description and choose **Windows 10 and later** as the Platform and **Custom** as the Profile type. + + ![Image of naming a policy](images/atp-intune-custom.png) + +7. Click **Settings** > **Configure**. + + ![Image of settings](images/atp-intune-configure.png) + +8. Under Custom OMA-URI Settings, click **Add**. + + ![Image of configuration settings](images/atp-custom-oma-uri.png) + +9. Enter the following values, then click **OK**. + + ![Image of profile creation](images/atp-oma-uri-values.png) + + - **Name**: Type a name for the setting. + - **Description**: Type a description for the setting. + - **OMA-URI**: _./Device/Vendor/MSFT/WindowsAdvancedThreatProtection/Onboarding_ + - **Value**: Copy and paste the contents of the WindowsDefenderATP.onboarding file you downloaded. + +10. Save the settings by clicking **OK**. + +11. Click **Create**. + + ![Image of the policy being created](images/atp-intune-create-policy.png) + +12. To deploy the Profile, click **Assignments**. + + ![Image of groups](images/atp-intune-assignments.png) + +13. Search for and select the Group you want to apply the Configuration Profile to, then click **Select**. + + ![Image of groups](images/atp-intune-group.png) + +14. Click **Save** to finish deploying the Configuration Profile. + + ![Image of deployment](images/atp-intune-save-deployment.png) + + + ### Onboard and monitor endpoints using the classic Intune console 1. Open the Microsoft Intune configuration package .zip file (*WindowsDefenderATPOnboardingPackage.zip*) that you downloaded from the service onboarding wizard. You can also get the package from the [Windows Defender ATP portal](https://securitycenter.windows.com/): @@ -117,66 +181,7 @@ Configuration for onboarded machines: diagnostic data reporting frequency | ./De >[!TIP] > After onboarding the endpoint, you can choose to run a detection test to verify that an endpoint is properly onboarded to the service. For more information, see [Run a detection test on a newly onboarded Windows Defender ATP endpoint](run-detection-test-windows-defender-advanced-threat-protection.md). -### Using the Azure Intune Portal to deploy Windows Defender Advanced Threat Protection policies on Windows 10 1607 and higher -1. Open the Microsoft Intune configuration package .zip file (*WindowsDefenderATPOnboardingPackage.zip*) that you downloaded from the service onboarding wizard. You can also get the package from the [Windows Defender ATP portal](https://securitycenter.windows.com/): - - a. Select **Endpoint management** > **Clients** on the **Navigation pane**. - - b. Select **Mobile Device Management/Microsoft Intune** > **Download package** and save the .zip file. - - ![Endpoint onboarding](images/atp-mdm-onboarding-package.png) - -2. Extract the contents of the .zip file to a shared, read-only location that can be accessed by the network administrators who will deploy the package. You should have a file named *WindowsDefenderATP.onboarding*. - -3. Login to the [Microsoft Azure portal](https://portal.azure.com). - -4. From the Intune blade, choose **Device configuration**. - - ![Image of device configuration menu in Microsoft Azure](images/atp-azure-intune-device-config.png) - -5. Under **Manage**, choose **Profiles** and click **Create Profile**. - - ![Image of policy creation in Azure](images/atp-azure-intune-create-profile.png) - -6. Type a name, description and choose **Windows 10 and later** as the Platform and **Custom** as the Profile type. - - ![Image of naming a policy](images/atp-intune-custom.png) - -7. Click **Settings** > **Configure**. - - ![Image of settings](images/atp-intune-configure.png) - -8. Under Custom OMA-URI Settings, click **Add**. - - ![Image of configuration settings](images/atp-custom-oma-uri.png) - -9. Enter the following values, then click **OK**. - - ![Image of profile creation](images/atp-oma-uri-values.png) - - - **Name**: Type a name for the setting. - - **Description**: Type a description for the setting. - - **OMA-URI**: _./Device/Vendor/MSFT/WindowsAdvancedThreatProtection/Onboarding_ - - **Value**: Copy and paste the contents of the WindowsDefenderATP.onboarding file you downloaded. - -10. Save the settings by clicking **OK**. - -11. Click **Create**. - - ![Image of the policy being created](images/atp-intune-create-policy.png) - -12. To deploy the Profile, click **Assignments**. - - ![Image of groups](images/atp-intune-assignments.png) - -13. Search for and select the Group you want to apply the Configuration Profile to, then click **Select**. - - ![Image of groups](images/atp-intune-group.png) - -14. Click **Save** to finish deploying the Configuration Profile. - - ![Image of deployment](images/atp-intune-save-deployment.png) ### Offboard and monitor endpoints From dbb55cad2f2758c5f8c381cfa31b8ce7f44420dc Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Fri, 30 Mar 2018 14:57:31 +0000 Subject: [PATCH 11/30] Merged PR 6780: Remove link to unpublished download --- devices/surface-hub/surface-hub-downloads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface-hub/surface-hub-downloads.md b/devices/surface-hub/surface-hub-downloads.md index 33ef0f983f..71706b04fe 100644 --- a/devices/surface-hub/surface-hub-downloads.md +++ b/devices/surface-hub/surface-hub-downloads.md @@ -31,7 +31,7 @@ This topic provides links to useful Surface Hub documents, such as product datas | [Rolling Stand Mounting and Assembly Guide (PDF)](http://download.microsoft.com/download/7/0/2/702485E3-B55E-4DE8-B5DD-3B56F90DCF5D/SH-Guide_WACG_Rolling_Stands_EN-FR-ES-NL-DE-IT-AR-DA-FI-NO-SV.pdf) | Detailed instructions on how to safely and securely assemble the rolling stand, and how to mount your Surface Hub onto it. [Watch the video (opens in a pop-up media player)](http://compass.xbox.com/assets/1f/94/1f949613-3e4a-41e3-ad60-fe8aa7134115.mov?n=04.07.16_installation_video_04_rolling_stand_mount.mov) | | [Mounts and Stands Datasheet (PDF)](http://download.microsoft.com/download/5/0/1/501F98D9-1BCC-4448-A1DB-47056CEE33B6/20160711_Surface_Hub_Mounts_and_Stands_Datasheet.pdf) | Specifications and prices for all Surface Hub add-on stands and mounts that turn your workspace into a Surface Hub workspace. | | [Surface Hub Stand and Wall Mount Specifications (PDF)](http://download.microsoft.com/download/7/A/7/7A75BD0F-5A46-4BCE-B313-A80E47AEB581/20160720_Combined_Stand_Wall_Mount_Drawings.pdf) | Illustrated specifications for the 55” and 84” Surface Hub rolling stands, wall mounts, and floor-supported wall mounts. | -| [Surface Hub Onsite Installation and Onsite Repair/Exchange Services FAQ (PDF)](http://download.microsoft.com/download/B/D/1/BD16D7C5-2662-4B7D-9C98-272CEB11A6F3/20160816%20SurfaceHub_Onsite%20Services%20FAQs%20FINAL.PDF) | Get answers to the most common questions about Surface Hub onsite service offerings and delivery. | + From c13a02748cf5c8989d0f9b0f9a429b992e7fd779 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 30 Mar 2018 10:03:54 -0700 Subject: [PATCH 12/30] fixed how to open GPEdit --- ...group-policy-management-console-to-windows-firewall.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md b/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md index 7ce6c1be29..c7078281bc 100644 --- a/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md +++ b/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md @@ -18,10 +18,8 @@ ms.date: 08/17/2017 To open a GPO to Windows Defender Firewall: -1. Open the Active Directory Users and Computers console. +1. Open the Group Policy Management console. -2. In the navigation pane, expand *YourDomainName*, right-click the container that your GPO is linked to, and then click **Properties**. +2. In the navigation pane, expand **Forest:** *YourForestName*, expand **Domains**, expand *YourDomainName*, expand **Group Policy Objects**, right-click the GPO you want to modify, and then click **Edit**. -3. Click the **Group Policy** tab, select your GPO, and then click **Edit**. - -4. In the navigation pane of the Group Policy Object Editor, navigate to **Computer Configuration** > **Administrative Templates** > **Network** > **Network Connections** > **Windows Defender Firewall**. \ No newline at end of file +3. In the navigation pane of the Group Policy Object Editor, navigate to **Computer Configuration** > **Administrative Templates** > **Network** > **Network Connections** > **Windows Defender Firewall**. \ No newline at end of file From 18115b73deec52db0ecd4129f45c0dec15283756 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Fri, 30 Mar 2018 10:15:39 -0700 Subject: [PATCH 13/30] fixed horked table; readded missing text; fresh screenshot --- .../deployment/update/device-health-using.md | 4 +++- .../update/images/app-reliability-main.png | Bin 62615 -> 62615 bytes .../windows-analytics-FAQ-troubleshooting.md | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/device-health-using.md b/windows/deployment/update/device-health-using.md index f14b1981bc..19e2365401 100644 --- a/windows/deployment/update/device-health-using.md +++ b/windows/deployment/update/device-health-using.md @@ -4,7 +4,7 @@ description: Explains how to begin usihg Device Health. ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library -ms.date: 03/21/20178 +ms.date: 03/30/2018 ms.pagetype: deploy author: jaimeo --- @@ -169,6 +169,8 @@ We welcome your suggestions and feedback on this filtering process at the [Devic #### Why are there multiple names and entries for the same app? For example, you might see *Skype for Business*, *‘skype for business’*, and *Lync* listed separately, but you only use *Skype for Business*. Or you might see *MyApp Pro* and *MyApp Professional* listed separately, even though they feel like the same thing. +Apps have many elements of metadata which describe them. These include an Add/Remove programs title (“Contoso Suite 12”), executable file names (“ContosoCRM.exe”), executable display name (“Contoso CRM”), and others. App publishers (and in some cases app re-packagers) set these values. For the most part we leave the data as set by the publisher which can lead to some report splitting. In certain cases we apply transformations to reduce splitting, for example we (by design) convert many values to lower case so that incoming data such as "Contoso CRM" and "CONTOSO CRM" become the same app name for reporting. + #### Clicking an app in the App Reliability Events blade sometimes results a List view of records instead of the App Reliability view diff --git a/windows/deployment/update/images/app-reliability-main.png b/windows/deployment/update/images/app-reliability-main.png index 18a1bd7f3148c0acb1608b777c7d7f20fc1eb899..abbcc72690a1649dd3a062e892372d1c28345aae 100644 GIT binary patch delta 55567 zcmcG#cUV)w*De|hf}nyTg3=Tz(wp=Wl@1C@5dk4c6+w{R*`OjKT|hcf=^$M?B!bdQ z=sh4c^iUE4sWg_445AC3R#`G zelGtUZE5NkriU*t^xF%6AItqBOY`cd#z>Da?-!(cQ|Y6znn%+=&euE)xF762`2*sf!Z#8 zH2!zNrh+EV9K4SJ?X8g9nN3hn32mp9*cO&mxE zMCZ1yxNf#Vz+Y6}#ajXaM`7T=_t0&NaCnP~emxDo#m;Ice?_owZ`CL&WWJ*%$?s*~ zW>=j5`?vWu;OWcddg+`G_MvbA6W3}Gi$(Yd@Y#qs==-cHOPu7TV%9M`7g1f+tVB4D zCV@puee}d*`A`-{#WP~8_AdtCE5bw$ihk)^<)L=sqqs8p3?lJ1-JoNUTvQGmgDvyYU{!)r@3jCZC#db?DktFz3SAP| z{bu4^^E)pCmY6xT_&N&+2%vqGA(z)U&eqVp(Rx7aEjuf&?g3Hp5&gIT$<}Til+)3J4_c}PcLcS%S*LKN07M= z!*J(5z_u6Nte6a@gR+~i;yJv4QBgVk{aIhvr`eyk6u7`Mn^}(daY?<=ANssrDXIsL zIA0$uwd7XF8Sw)pV;bB$c4TF&#$>ataB%%dGz5j-0!a`D*##t*9Lf>W$*ObrlYRxB zd4T>ZSe>#-lgL%vqKrJ__qMNI#d8|E>EB1)JT*$|!YzfXqep+_6phU~c3deDe)-6U zGCw~mOJosnW}|+FZaDIhqZG-(&0s_*Z_0CfUR*931Ms2Vb{qZZneax`?mj5 zXiRMm_;ByMoaCJHS668fhw*^}hhXez-<)VufLTXw1|p&|EGgq6za3CfaNm2+C}fl? zkf^_45My;7a~@fjY2<|{+==_RlVd*-fvoLLOoPJ@PJ`ImF+7H8`%CCE0Gh2B6=cQM z50I)OFL;w0yoNZz=3Wt%MyumOJI6U1EnpzXWa)h!f8Y{M( zo)#FBzbPd)d1*~FyX7iFpMUM@<>I3~}a-xn{wPp=OHiMXJfCqwgA6a@iq-+}36W z@YrE!YWnL+9 z*2#^Y9Weogz6cj$i+lAX@GpWZ3wF2ZU0=4)93}ubUh4OqAM7hL8Qq?#dg%5utWJAy z#>feN>GZd;XW;iY8)+Y>(#;W@z%AX& zw>f14O8m)BeQyHs+V)SGyx;SaSj2fr!zr3?x6D>(2v!Kerygypm`KFq!BtL+cS9+p z+phbg)+}!}-i8MP++X(+GLpu-L$2PJT=AHJUCO!Dptc_0Gl<5^K8+aSX zuz0XjZXKbQWBkoGAXQ)rtrh8Zl*;RrdJ7(x>gD-klZnLiHVi;b)bxl#6d~p%Uz~xu z7vEJrxq^(ucf)eSR`u3B2c{;xGlr_>9Q@vV^QHs+)c_@IjKnhgT7H%}%Q@pXo2>wp z3|H%J=jQnc8ujPlYXdDU;Gy&~8N=2En0YC*!`H(d`tLJ<^G*C9L`Y1@*(!tQkI7QZ zcuREA!#aQV>%Z&tQ}@PlyookQL+=c-#Vm+TGbljV(9*_5eTTbc7Q*kF*?m)E9RK6l z^<<@i=8P~jY0|ClyUnTv?rQndgir&~aqqd6QdN^h7&9edpAH+$d$?emF&lp$EVL|Q z>=0)^l34;2Uh}GP{xRVh=dCBBeD2*1ZF&%!$yw<%Fw;@r04M()X(w9e6dF*pdE24; zLbWRuU}2;hx!2YpTH&qv2YKGN*pe@R*jT!(N?T>9*%Mip@@S=DJ^2V4)QaU$;IX7n=fjQ`84XjB zBU!<7HQH-k0(+MF_1izDA9WJ~@R)Vm&e-#EAkf*rM|(?vBO*JQoug4lW#!z74c}NU zm5n?j89kw~qJJj#WYP^2==G@ZGc@e)#D9(C-Vx}33;G0sfd3wS{;!bi1xBTkoiu6j zM>v8>*6fJD26uMK;Tw4D7HddiN#NaWf{A{^5G<;8?~Pe-D6bhqLq)?Lts)|0j_BWj^CdC z28BL8L!Bl%28UJE8qyF=EGpueOIXO0iH&-`^>6;)lp#tbfUKgcSx|wc>xWN$Q1>yt zN`YY8RRVXtiSJ7mShindP0L`3_Rma%bb}8{OiPJk%(0q10`*-YyuUkChCv=lLApqQH=UdEv$KmrhxzZu%D}ImFh?z036$iKEgQX-*BFxAqJ7 zs972lHA}m9wBQmPjC#v05%!>R-oNv-D+U$Hbv4GmxkvwB7t85}v|WodR=lYG?HTmh?F z5_RlcpFMlksr9JdCg$$wI68EF&roBjHMA6wog+Ttw6m;<5BPDoO1PF@2lNVb zKW9@HwZC7)bJmRSC4NRk)U7P@m3b?Xm;8MEgXzzo1H#E-Z5U$u4J|V{n|vEo&5h{# z@uGrbFc5#KhBLEfJ#eb{`s^>_#&7dEAEEE#?B?@a1s zz8GrHO`mCb(J=(FQ>|aHs=~vAO+-L9ABLSQNrvgc>zkv_e$+L#U=IdfK&u6U-!%^{ z-mP&?f61C}?!`=3F^^DRs;MY53CU4KXcg!tKdtkY)8mmA+#DNMEWUA3u?Rx#9dPU2 zdvA@eT9UW8e(HPg%@O$hJy4fI*6v(pmKHFHU&d0%Icb)O zQF=83g$Ku|!YG}GmJ#}42gecieXIN``NKZ1gB(({d2X+KK_Zk9o#!vc|7BQ_vtt@1 z=?a$HbYX5}j$PBv zP=t35mXw>fFrnI`Wc{+Hm2qN#9B4p(qOugHtP>P4I1c`CiD+|bc~XR4xa${K83cOw z&yOBGwunLHsYsW45T54E@Knwpi?Gw??3je}C#x@ynK$W3-(`Puo8Q7dV)ppliw;@I z+xgMzJ~}@Ei;q`4Z~1>@?3Zl2yGT&K&M)JA!ynN^DGBxVkcr)4e7GCF&pymCmtY(l zUZ-!;)BC|nC23uHS#PO0dBj|UxOH&P@dp(x`lcVYmX?pNE1xedODmSO+`YKZe%W!M z%$_|LnZ76|N>iF~N)5s@r=nIG!-qYPTe}2boh#}GW`TjM&8;}q73p_lqw7sc&e1f3 z`J>3XiGrJ;P>I_cy9>WD@R0%oZbh%I+D5&j)1XkWa!I}xwP|Q{zkV=~so=RaSvfiR ztl?rC9m>;}H`C&_X955NyId2 zO#yW=-Hw{&NBz`TG&x!Ah{)AR?1<$Qu6vxiywSD&9w6`Ovdjs_}c1m%Wd6U*PB0M+z7@740mLd_ku`zqqqaMsjj;fSm8& zmt}7`Qm4^p>zRwokJ)n|^|SWVmJgq1CC4)Dc^xJWYjh!HaJmy8`8V|DKZ`vW*g3BD z3i~?s|Cy|R1EKq$@?^KY<4C*y1zwDN-f?-VPX&c@#`cXYzD^TBw^P-SA>FttX$vI{f8S& zjc>T)W?B;epww=i(`RFH_8!;ESFeP!pELlGJB5KRX@P>sTw)T<=9vtgD^U?w3u>i0 z75VtWRBc=xms`_RFcTNoH|r^lm=6#m%du&RoYdFkFbBkX%S1>g_a{~>>ijtMr+fRG zisqj3e%jmEIc}lxH_z2PwGTRMD?8>s4|OnX&)dqA9QkPPGj3*qEiPwlhWF|^#{&74 zTN73E?B*8@AE$6(nOcE#GaOs#?Hz>1#7&!Zrb_pqVl8}0p_Vi4 zG1pS!tysb_ca_bM^i{+EdJ!K~1hbs9PzRejpC9`&gg>n@FaHi?SvFnMrKsM%l)Fb4 zq2kj~CT1dYtSKUgbp4#odltCb&yM^#zZdG=Vl#3u)teRa)kz}fR*s*vK}KiI93CY6 zO-$(1On-kxl6`W<8LiEf62G9InQix@$`D^ARX$zFE065U4ZjOb16yw7PpvvUnr~@) z9V-?ySE9A(8SV5LZF;RKWn=kG*MGR&P{Bi`FQ3Oz7VHjed^zuhfU^Dof@9Y%yQGQF zC(_W=^e@@8MR<>VwczJHex6)lZ8XX~;ikzeqw zJhE}TU)sh=RT|Ls+yfnBZM_`=Nw!Z_&)9kE7bO3VlGSC=qnc@<9`v$yJ`+s zid?iIc4B=}0AT*`eR!o?uwkGEccm46676@h<$fwS#eF7g*tROwTWfbpIL<~Qr=rrJ z_^ysrs@Z3p#F3N3D$flXXF1cH?@BCzqP9%AZ0)Jp7`wGsZ*gj0kC)kdk978?N^VO# zeW(m9a>G`TIf%Ouxh{!0+B6Q^Y`ay1iAo{*ZTnDr;K?aa@Y&w)rzIZHIhYw2p9UUr zNzlWre^nI@)4V-L{erp~Z{A5Aay3&^MCYFWHFyH4sg2nW)d^#Na*FQq%N^Pmy5o$f z(dSCp@wRZQvAwSt20l2xyO~zxJqP(NA%)_l4L>EZxlzXbTsb_R6Klb2l^k-LP5fhy;63|83Can8e1 z&)f^c+6nR7LxYbZFwtHg?&bRU`a%IkmUM>mAc?yVvz7g4>)k!hgu>pb7QJXog<1ip zj0%$?hxC}kg}+CpznQBSE^l7+6}~b@A+MxpBko&|W0XoU_?UFBb`5YQAL&C9yJ#Kc zVY``eUv%$VHo7-DPBxfaNxQB0=NZbl|CnEY5k%bUZ1P2aVW&=@rf@~>C0byK%F8>X zl?L79m_KMeHc;2?*VEf*EjxqQQM^T>Yxp}H38~hEcrUP#k3D^GhrUa)6`QYaMtkXP zq!vv)B9%w$8Fh#03H^M@^R~4%*DxXA@2{{lX~&-JE)-^6S_@1du2mx9LVSo_LrbH< zha&7c{S=8m`F}-70vxJ=7lGD*DLv%YSxH*(6TCGlmfN>GmqD!I4*s*w5G&-WDDf1? z+V8$6@JwRc0 zUP#8TIlpgrhP2U%0g+3r(r!)hLaGL%z=PZybZQ9!`=jeQovHQ9z=K3`^3Lti*1Up6 zx5*NsN(j+&J4$SpO`3n>bClTESILxAj~0wgV|Q@sCmH!=Nf1ba?q2SPGbmNFq}?Uq zXKtea(tW2q&0M7^hwOH~JUfB#I~~N6?6FfGvOh*EVq5sqiLAGIv1j%d=?ssI%k@({ zH7_=2BH|3~*Gu`m0oMjWyERsUfa7IFpsisD1!Yy)YhF7L*oC(}qUba2FchlQ`S!65 zeQx`a@#>Lor`cGiOZlpN3I1{4+eixbvM#MCBJ7=(s)8Sec@G!AXzjWx?{}0+S02IT z{J5+y_>}3-zFWcdeR-E;G(aG_D<4NC{`Qop9swzjm=)0ofVJgdq#MGerjOl<6Gk$h zH{`3(=3{mx^f*GmP(>d%K*{y@lZ7epO~c<`F5fg1Z**N>$boiW98eeHld&%<(!t~2 zMxqEa?G&l&0RsxRivh~|h+|N)Foko0+;_`vry!!w&9lYYgfqn|=+;d0$EOPos4OLN zvuEcc`8YDbiJ%zb8kRb;Z^zMsqE$aU$juhb5U^C!9xW~%W;x6a0WZW%p|0$=M^VOL zez;T!X&Fx|g0ZI@Gps1>{1smNAlLHI*h7yv6&;BIK90_XYGZquK8{*)dvU9JJTF)3 zj1F5V2M-z{OhhKi186-*vP#fpR(HE%w=?KSJZIjsoZUlfK@ju|V8&G_6K*LNo)wGngE?(ie5cNbqrsa6` zIzrwVPHTyp~|F_){a}40_~^^FBP3fM`_{7%qvXBsg%i*s z1H>M}F&gXi9cras%+pGe#TisQujHTE@1NXD$?nuN%Q{*#Ms#Xr&o^(*2Ujf^Jf&^zpa#ymHao;D z*7$~pq$g*86%=~k;iLM7o*U&8ti8iDF~yH&|LP|H>`s28ucx z-FoWgRWy80^Eom$Hhu2J?IdNK&dLl}P=B4httspKnbi>oBaz1tT)PQ2WGc_w*-k_t z%KLIZ_XYhOO~trDa0SZ;0%<>^vXKOR)D}1>H?Fdr2Rp#c|I|t;mdm=0wKK$WZtrh| zhaS^gbIuD1cqrlOQe#C;uSx*GKYIm`w_SYZk-t(tvpRNB&D7zeG1H|?MekKlp=Sp4 zD*^il2)H$1kV%Xdnnr||v3xrG!}{QFcKm7FkM3-xr*|86SDO}=}sqj{&25oE_xF{l?i4BLmrMwh@Fu<%Y)^n z97VJ*8uXrF3Q$!dhf7)S9N0oDPk9>maw#3su!C{eks5Mvc@K;{lJ88=p+a)kzBPA8 z9J|t9kgU1u;xS5d1kOBQf;4W;Rtni_K*cKga%{er2q8`$bQrBcHn@Cu8f=T;lN@pb zsNV|BmB5rsY9IH7v(%m54iPT3u~IoA??eFwYb>0G`dJErulmyJD7dVol$h6prVpLP zD|TfM5fDF*PR{i0M+ruldmdGX?RBsQ+KHTuYLB%w_eASY#3U19#ZSMu5VEeW=8Vt(k!^U3$8pUs+er&o>Ca9E@7;L`<+Wwrg0_d_n zL*;3c5)1S>sh%&@c4hu|y3!f?(%T9e9&h<4`C8blH@cVkLh@OYJwC;sL8EKQWt|hNMbmT9=kzts9kU6VB#Gs= zBEtAIimyAyag+Oo2A#&^jBZf$IgjovRa!n8Hi}4Ecbu_uOKZ}=V{;6O1$CF|Z+Z0G zbM|J^C=Rd+isOmYb8yS>v1=%=t#H4-qMvE0C$Y#almx{?7~7GQrZf1-K$ua>jrtdN3Oz);MofiBi^ zxWo6nJDr=VcreViXC*P;o%@VHoGPVi-92}G>>b69q7~d7pnzKg7sPS_fgU9AwTwH) z=4Gi#y=h;kYDQjve=PXAv;JXJ)t?U`+k;EonMWT<+}^Rr%d(`>vDVymO6)HEb?ClK z`GLnmv2f7?zJdT%(Hkq9AAD4Uf0L}#4sPrew59#V-JJz~k7U^}f?oXobAV{VEHdQl z!@N2$g2o~PF;Gbg-r4OTKzcPUSB5xVz3402bF?>1Lj!Kcwyw;RS4i{1!Mg)v?Y>~_ z<_ZFARpIn{0WwYsMB*bdJM%AT*o zu3N?!z*_QbW_scNOK{3k4JwM$K;;?f4_wvs3#Ey2@;Dige>P$B>T5OEcb^jXpbq>XesF#f}dg_ z!z#flqumj1j}$4-VVojJ^j5TaO)@D2W~(zY6gLoGIWz=59&+h4?JFx3hawbNm^`o( zSDN*q`#|FORIhku7lj*yg39^UuI&Ag@1!)9)w~%Hh_j+hW%d19PYIdW_*xZ+?p1MN z>&!C}?`2VaYgP$?r;>g1UlVBO#wUi(8s$juIDN5Dq~Abza2cdsrN^>=L-p*sKU z;1I*AiXHUph=y;^n9eWFxP@#S3Fnruc3iS9>pA~LFt)7$qAW#ln}%OIz#2{B)!99KT%sDCi^xT>|6JpkH36l!~5w?$kqj>VsRCQCfZh{4U zR@O{z?>*FroO)|6H5t0x_4VUu%ADfOewTNYM4b;xDMaVz@%cUH<>uQO6Ev@N&f`&w zoY3l9dd%YZm8_Ji)=mD*IXr%5B83(pnqaF<@3NnLYTYF2u;nK!w-JduBsM`uwZV+-mhf3ugYr9+o-Kz{0F6O zPsjOYCH(+uhVhZjT8Hz>6x4*flZsZSH{wXnv+>Yd}gZ*;J zV@mrb<+sw*Y4OFK5Tmlrsy7 z=oa_)-fuWP=WsC3ycgDoWr%RmgJP$|W6C#&)g|<1<`lLmND}BB)NY4aLtO-b^rnE|9LC8&leWFH`eFAnw7;r^5Zju__G9; zfbRlH$Tz20-vH1$QYqz7GkNJE8r<5L|GCoi`C;3m#+{2hjFb*ju~Z4tCxLfcSb(fA0a)7O&V8BBYUxF?(zDS9{X{+JaApV?>xELFmqt_UHS%oxxHkNN_im?9eR z{?LU3X}5a(UYg5!m=WzI<(Fh3E&?_jLN2OPgr+Y)Im9U9*y-S7bQBjOMEX`60r*KTotY6 z$^^KMc+kG3A3o}RM<<9uV#!M7b>}Nt!I*x%vK)V9|E**>O>DeiOnuXQlI@Y1G}yCh z!I)#}7nCgTyK4nv+o6)H30i+~)XYnU=hbeAc#F(#{`OymIxqdZruq<~TMohoXO)Q| zwzgZ8bUteKh9Qa+LfX^@2xJ_JD2)IPb4qeh<~gW=T9-b9t)p>`A4;of%s{Yr-LXh+ zgaIZKXa$JQHoZ8}sP!k~YvBhjH5#5)gz2-jyIriE*+*!xk;n&x-#bY7&ay_T-;g+Z zP#rY@-U(T-9Z!3)rNIh5803%<@GMPX38tj`0+Kj4GggQ_kJUR{l-5iGaNfJkYm=77 z{Xdfv!@s|k)zY;o+Q z61^+FxaYXKx0~cck`pkWAsd@U&WJeR?}o=F3%*BTVI8)D1;kI6KA1$Cb4tLSlna;r z=}Te)^O4s!ZNcF6;}O*xFSqiT*G=BvGCCRLWu~HcdK;pNesImIi81D+`(>pCY3wwe zRv|<1T|FJ zZ1<(9X{iE0PR#)x0&DrikoS0heXe~*eTnQp4@2h1d{y-S8~b^C!W1~_2uqBxBX<`i z7Jya!h&7ynZpZDl%c3MSYap={urk>R81j4&dA#++{8v7pPcfK?oui(`)x1)ctvBbq zLz%oziP({&<}?F{UsM}DfSt_{`BCqS7ss7IydZUCIiD(?H9;=ee!5YtV?a@wAZL|7 zSG4QCmPgDSe#-D)J z%YWVrNQ>Jzj7oPxid+BFCkBj842T**EHi<*S-nmxS!~tYpTe%qTO0v^-<*$raBbaj z?+2!5CxY1b9MnH_z9HD9DUWoCvd7@*rGX0q;U`Stg^LM7hUE=5ZA#$~(vWiXirT4< zcClGc9oiKAwlsjwnGxvj*7D3rZwq-0H8$iNtS~F7=l#2L9^|SXL4!(vz-q8Ys@-@# zFw<+&<@OvF(XAh)uNwX)#J0O}FihE4Q-69-{c;fxwj(WZZT@``vv{1W*)kXPHubpW z?qxwkabY=}=$4C-P9~`nrOUfE`Pi&sTKO6*K1FZ?G@fzlp#GQQ{|;>on+885dj5r&H5`5cF*Yg!QedL_8ZEHKC%;NY{1xglWdpaySDHumb`v@SIB} zmj1Dj+Q_1q%d?Q}%>gwzGT9Qi{x*J*W*jmrUqg)9A#jSVYji<&VE8Z2VjN>J>}RCzRz=>Q^TU+J@Hj94sGjn<{0w^%IL&imnDJAU>+PnZ%;k;1mhwUw(tj6|RxJnd z+ySa}gb@|q{vVOqf2#Tr~L8 za_pz*EjtUSp@QA!I0bwzToH&%FoGs96U*O>z^yU_yj}4rJ9(Fi#{w=VkXKeKE^Bl| z^F2XTz>9x78_5F$>!QEb6PNqWdu%Wq;_i}yTgiC*ApFdWK6$XNZ>CPigL=bCRi@B+x`NUiT?ThH;0kl;Ni zh`nj|Wy2b9;#G@fDo=MY;b?vNe5})gkZr9yFaax3Jng1=cCon{{^?zo?+$E}Q))r# z`i0Op01rs?L$)mF~a3@p>(`e8bT{2mCTT5fTFGCW<(r(NVJ9M`8!1{)nnmk=eNMz ztZnKm5RZ(X7(9C@Zb-&$hcYvlqXm-}{T()>el~J+ zW+&hfwXDGGxzU7>PS`MbIt(`sprSRl2SFOI-alHU;L2>PLk^xw&?i5rS*J2%yM~3p zP3;bKjo>jU_wBlJ5kxH~X%Pbu<4_S}S>PXYCewr1<05GTu|^MU9n1@vbkO-r`)u2n z)j+8^|3A&GlwRNX@>#vImc&Wc1YtLRBe=fJmF_$UKdZg~3UcYh|1I28FO#SF5K47R zl+8nNOXY=3Zun0^XNC{O^neTo;H2}UQr8Xg5dW(5N}Ibg44daHu;hKIEjg*c2YKi* zO1kL5eB$7!B87+byUm_EP_R8EA<|-Txly8|QPhurVC?4ij}>7?w_d!Y)qj$J&uds-_JnWwJ;pOhQO|$e40yFvKamhE z!;WvhUOCjM5&#Yvpxl&h!R{LuNWF4XkR3Hj_9{@sSl)bx z97pD6X;<=oZku>iaOq=26#*k89?3cRWF9%Dt5?x+|g z$L4|H9fiKuGZHPru{Xq#4?NF+?m<6}b`xpeQ9G8qJvpoHfflE%TdPu!&-lm26KNf| zqOb5^zZ_LxXHI*U>35vAZAM|re_FNO)eh8|#gYO{I^TI6(6So5ICaF&DD>F=j&IP< z{#Om#4<1|s(n-C*XYPTb1|MaHKXRPrymnfo@%N?;y^K&*MI3dX03jJg7DCU$1?;y{ z3w4;+xU0szmsblY{+Or{1xO2qaXv$GFYM{{)6u6jL$!ll_ZkyBYsy5(UmIWd$piTv z1K)t6)9eU}2lqz#ys-+l^}TJhsl>HVmA43wF0&n*86vRLSv!#VLUk4zE}wJG23Wg> zT~bP=F+I{_tnEgM2rVFj-m4uwRterXNHlgd@_$6hCK8vOHdf(@khNLm3(T94%%@0^ z;<@qVYlyK*1gS`sw2JlzDS#M=uHB?a~nM;@7Ag> zcF`>o{b`DIMjHErsp#RiD}pL%u^g1l@47e!!ETz8tMzv)gkCEIB$#`OF5F1Tmmit# zh#eCt5^0N^d4JkL=-8vqE8}22XM$1@kit|%3Hn>omiPecv=xpiWjBFu0)ur>Z!RTw zd?2L71&Ld{X{g0=`(Eyj(~hz`k(XKR(+^_}UXyr3`&clo=-;_aKI3+&nqs5MzW5)F z4e=((EiL48dcC?gZ)U2arEhMj-x2zfbyLion+y$7Ih-H1Ex4M~ z09*}IEwcVwA=X@cd7}4gN!Rm7^z2>|oA%%8(Ps87@ECR{cXVy@j(SF#& zy8t=(0diWb`q$QP2a#(&r*9_R%e|!XN!$LM{@e~Y(O1L7<-4)?p_pOJxRDBfz}>4n zSOhrLf9p>g1y_KKh;=rg@SRUVW_h(|1jZUS4+Z~~&VMYf0BnuS$0&IoZhc2(@?2oM zcrW*D#apb^*S97zBUJ#@OK(9~LxRv7E^gBDaGn00*nyqvy638KMQ~JSrnIJHqux~U zd9xzlu@+;jRHR5yM>PBIfX{>T&yM9jxn)boUPn`pEawbfQ-l|vPgNWA^VlN@ELQ7d)6gk2jKzHx{QOvk+*?1o&+ zK8Btj7-t8GuLyZp+ z^27aalGI?&Ah0-38qjZ{x%(_ZcSvJ+^H&kWfQsWqi0ej3Cv6jBkXUfc^WgUPl)kD4 z#*hTa5}s&h7w3E~_%sy~s@^IPSbCeR`>gmKB2)EuezbhBX1z(L8A;5$d~yZFgg2eZ zJ4njFs~yd|l^@Twk4M=LfanBn8s4u68k4G2?)9O@+Nn-To%1HG79-b$Cf3S>Jn3J{ z5F!QitXJoLbwD(!bgo>IQ2eLeVDh+W7?J)W%~DwVv_YE;|EDQkij1gF$ZR-ejl9*b zqBTnk|H$)XL|j3x-KVuCQJ{H88FNJOfm8O}RhKTZY5Y@b(J3$$eRX@tCbx=r8lpJ> z3WEB5!k#f3J1yfVA%C2;Vve!ilJrXC*VMosiS zikt{-61ry#e6sAD{e3wSbHM^wmy(bj6$1&A>D@oozLlh=?CC>KK?`b9rhbJgH4D|Y zLo3bXMh#8vZq3dNrwNl_1+^`+_ik9t`IsuQ0OhP`tpJ!_0mwvcYwx%q7ReCf2-Iw^+m%cgQ^!54r`i2#8&r%_Fa)G6u-EH{v z?uq8@`^jrlzqv65#@4Bhd18Tc>_J5bu{l8VZ1OHvo=1E~_J|#;v7(e(;t#-_^jVkXaE||%v zC@Lxn3F*2rd#v`QQC0ly9UVQ}VS9U>-00Z`&*`5|9_%2d^ZySe2~{GOt&_+f!>RPt z^*43B(8-B4ZBRY?HGs6i4xNnImhXK0r@)^Z98P`??$N$j9#8*8cr z5fejIb)4>@WGPoj7*rxxqy#+Kw127I_KiQJp6y0FFK`s z1E}h&8N8qo^<1jvH7V&?>@3Lo>VL_2fd6m(>My1tYF_n3P8lg!$954H=zkQ!+1CKS z?>A`6_sJkt`s-pzI}7d0@Pf0PofTJl7M)Yn?2)jDRc?z_Az7E*+gk86_} zJaSkS*}HB#UdJw@K8XnyqEsEZ4OnMh7*L`NZYY)`+k1e<%`!*m*K}o)yOl>H$ym4b zwr^+mY4n;RC$dQiuUYKJ$Je6=KKSl5I`7CXJl)D|lNx_R zxrm!L2)@hiG>i0Q&wJ@uATRZO&38`+kIdKoxe)2g70DLE<+8WFO2W;%ReTO$0nkdz z<}hB1=K$VvIjd!sF*M;{iSLD5Bg5$FL#YWtV+b-|D2_@y+I^_3#(L(Jmio`sAkrqa z*>@<%H3&hiWXCu5%(qHOnWwHnEtq8H2MPdv*C@6~-Sf3axtX&*hg%uvUg!?7z|FKr z20l1uOi@75+9!L)`c7mM;qtgOy0qL53jB`tC{i`t(Zw0wQSR!k6YSBrEQ>#+(0!$} zJFa$6>3qe7p6CRe#%IlojYqk^v;x^bLCJn93y?d~*?cr@`Sic&{&}hoUoZq}{xhI- z5nsGOPH|)YRDBQcrzS(suxM)$-RwXKVS%3eM&JL^BKHQ?oLi9n@O|M?l@Z`ddVVF$ z8+0%J#Pj@O`mK27Mos%q=eo#z0@O_}!AkR4b(sq?C7307VNN=`Mej8w?gIWv(D1H@ z|AC6MA6p)9ru51c)-b#XZ@cLLtn7dmbUUu_cLd`IMIWjfyf%1iWO3(m0&4U*U-rF98h4j^hy|e6%!kqpW#9KUqaeRSTNxd zm$EiDzuyPyL+G+4Z95)j%DZoj7A5jOx}oIr12YyinxhqW2w*Tlhf|I=RBGPuKJ>P6 zcE_JTnE?4XAVJqeFxV>yGo*#_e?U`$Ihl*Mwr%gvV^$tOB>AZVrxRlW28K04vQ#-Q z!;6QU;1Fe#l3~5DS0l^<`oE&7{`@QVU`lVj`x1se`FrGlLJX+w?1jt|Q6E)y9MSq2 z2>4I=lJ)2y5-DogdYO|`)KYU7MD@LcZvR6)lO*Sj@I7iBKj_@sa;9V+EM|SAGnSK? zns3tm+FR;u(bO7xv>`~XZ32bDJTYre#IuUc3?<9BK};85nnpr~C!%VQ1QXHxgfpZz zI&R=(NAL&jw$h$dJAp3Ho@{fsxj=MFM@I)MBYvsFOW&0TMKqP%XjWL zxjcwQks3OGy*cqagG}_;zdvXF^Y;IAbzWc> zm?t7I{_}p;2lpE+aU}`|!;|8+P7C=s{VP?~8(a(0Zmn@bbHr!o&fNaksC9hZvEZo5 zH^p_T-Bip7p+r)74%F4Sw90Xn<)oY`utjbkaN{@cQ$_4Umb0kb&6;6?YadgB@!iX{ zdJ06-yIq~H5v(CN{#peJEGCP{q)7mRm9|mkkuRODI7LDI4czCS)+XC;QLC?l^(WCo z0Y1rdSfV~x((X??*|P&EID(ml-9x;0A#NB|&1R@KpQHpB$fk&BXW-BojNPx*?yuSf zl{7~NjDdgfm+~pnKjx-6aBEuWw9lAFrO=dEA8?hLibwTu9P++EMP=VU zSK43I``{^Z_h8mt=a`{hTe38BjoKAuJAStr4&gk`j)kZF66r^+sw0M0{ zwNCkGu(K@*2wDNS&EUy_p_e;ka8HMgh(L!PoVfa}N9mL7HVcf{JTkAAb}(EmKGR&I z(_E@#&fetqkkG*kYn>zv7YFuS3SQbvksbME;e24!;5MGKHMwoU-N(B<1`k-Lo-B+! zkem0jap#!t*Ve9IXp@_FvK`=bBcb=)%Q(>$!UGM?oqPU}M|N{bX$=NLezLQHKyn`f zA+;O}dsBE=L_6OC`~HP0>f1fHehjVw8u0k{`EnV{a_J&n8|f2f53qn36W=Y<(xBLs zl_@0$`nV^jfvYa%f#0_B)mD1RBtCyLkvn-@ zSIvPXYl!*5^1+s~CEwDmYk$9q_?swuqgcvS_M(7%;;Q{MPm+*-HxPaE!~^{P)4GbU zWlvGY_lH|J%k|2|+s!69mo@FbF0lFX^`Uk%z9fP&RWzmaOWSrfe8P@0Q|?$mU-_;Ii*WW83o4Y~oYoW2=5`Zn!hBjHJa58z+Gb||Ir4|r zp@UN5v)tU^Z}#c{quLf+T;g*40TkUIWiWb$?i9+P5z}^td&`G&ygTOIqZoj)>Ko!u zhyel{zCcL2_sd`sxlUS&OJdE61OegI8aZ-5sw$OKMvGTH}w+)D-yQC&wPEAX9OpmQ?xmeTM&wwYQF{tJ%H<2_z(V@Bkq=1b4UK z?(Xgcf;$`60KpxCb8sg(f#B{AA-D&3=ndb!cii{u_j>f`(dQo+z&X^e+I!VnbIvsj zWuHw~iv$jgZ|#38>g$|u*<;EwzoodP7JC;9uJ)Vk z?J`MJ-a*;bA?<+oeTvj06#+X1pNU!zw~h|}XR$4^l>`=-g@w-)3l9(V>kZY(8q`qS zGqlkMrEbOk=KcgOondCG+Gi_|M+CvqyRA* zsq}02Q!Xbph(kR&Vc;kUgV#+Iv2Dmdr)tuI zrw3hl>&~>KB=y*JvEblNoo&q$yCOR!W&kUjj?|-?^u^^d9v5dn(?V7ePNmcF1fJ{G zvx%%GatTkxl&eF-lN3H!5!v`XK=R;|{ZIBI`bNil+ajlxJ>9QT*L_Ea>1PGE*q&Ry zTkEx~Pj!rb&8ag%bTATzS?6YCCvbPU?gkMHrn>>9ISWen1G{0) zwUxuOmX9VAMdrk9)`#hB*GD%iE6!hrjzu?mlbn4X+2xRUU^jKHgsP zKRN^-+*~bhLgZ6S>TOH4aSD+hw#P`+Wa<@rI2Iy`*(Oza9XB4A9vSvVDyolxIs$LE zjk}t4z~lPw%41ca?mb{B;HqT5L%Z)9Ilj13o&ihZ*FxadEfb#@Xnlx{^ygTwjj?R! z2w156JOD{;v-5wbdgn0w!)4_$cyW|LTRD+z^WkP{o^^%yY&|N2K^qIs0bTQ<^1yb% z+3UU-uJX8=*0%Lr%uGz%usku)K419pEdk<;v8Uy9yw-x|f))TO9J8f2!c@zOgKL&y z61`3zm%JVbyf0&bd(K0t71!^(@%;SeRy3Z{I~a`i&%ypRzD(p2f}}<;!_DnfjQ`_A zjsNXwkK;tK-1^EFoE5C2_!&Glo||+l&wXP3mv)OwciPtkC`-|$d$vW4%m;d9?)Oo9 zDShlpXt{|1;f7u-|3y^W!&CxrF}=+Blg(;+Qmzr@ee41vm2|ng)mr}aQ~`MQ84}dj9@8JLt*<}KSn551O`&miN`KlsH`GUZ2x222y{6*NKOT8B z)*go*eYlZwX!_WjLXo-?y}rJ>mO0=r%6(Q<=>7+|?p(PoD{F%U-S4e5SJ`zk)2`>2 zyXjydU`Khavgf6)?A=%WI2=&oUw-T}vriQW++nq~Et>CcB3~#^7t{6FEH_^Ep+nHy z-$D4S^>7==-rJTtoS?fYt)*O(R`O8Z?tEq!yH?&{seKvzdi^5g#S`#=Si}A(cNrle zDF&3d={4=l<~MHY>Qd+joGiz>Ic(-FU9CklfjW=2Ly2$Lf!4_?nk@xG13#)-He5BU z5;?uJ1$D1Sm@fGN6oTJr?gQvDi&|`@RY6Pa16^;A25)K8pmlC951|VpN*eXh0^;e@0slbu< zdB^L+#<9_#{%}f{uN_2Y)&s22qdYx{If*Lb5TTb?``8MGq#7)>Zp|K<)CL;oBYw@+ z8qH@DJoaV^9xm1hA|ABmd0x_9ZXj~RuELU^z6N8(yj8h`+Lyr;R)pB=Cx)Ju#G2_5 zMlR7hLbH~2HyI`OS&9So4iyLh`%t**nDYv6msV(8{z;2RQD8qR^8Wy)rg3c32-UQ! zimjJ5ZkjG*Fa-M_Sy-lrq>kwRgg!vEV1W54sEfdWL4zQTIL1#r77Eg)P!`aqF`f=p z%|h>9iDB>mQ%-#c5cPjgmZh`vTuU(HJWjSa9A*&Rzf1=r55}9_J40~*t|GO{dAi++ zJ7 zd+<#n$3;{B6%y7bi)9)aJ2#ohn|MnM;~tIFz6}FY01gt7n+Ts{%E2#HvZn_JlZx!H z>Uh5mMGn}PY51n0!p}2b5$-1Mb^Q`M`W1U2eEe>gn_0tg?KRRC60%byeZD-TpGS+$ zR*E>hbdmBF#gU5-Yjfc?*EHVzL~Um8_rvB+{ZKZy9M3Isc*ALW4$p{~-sU4KM}u(d zAD)lTm5)z_VLMDg**kujM#o=Y)n4Wbki=|u0@8Xh+Y5@wJon`2A+PEk!pW1pS3L8D zQy;G@>sacEh1SX>d1sK6uG354zh@nuV>1plNh^7>U2t*J^4Uv z&e0d&-XQg3xEE(bXJ}LHl$aFkz~Rl6hO_<|Nwb%p(ahGuEI@JSrYM?}RTfN+!94MU zXG~*k&{FC&N7yNqxbXRZd`e<~il!RMqu?@8Y8Bn;(YAvp+50+h*eF7-&a^{b(1lZ- z7qWfQMb2c8PeP>M=#PMSF7jeW8kR#YrULTW-mQFh+)(K6_4<(U?)5pfT~Vs35;_#a zeEYUHIJi#P-b9h~2iLh~_i6WsKE%q!xU{%_D?cwr&#-JKsEC1->Tsk4Mfd0v$oFR0 z{k`bU0_h-WiE#jEcMyy;Elk%o(;Aj^6A%;N(P() ziuHflia-gXfHmpU>;H=34o-x?f5HCB4gCdp&#&;~% zkgCn8Y3q;D1clPM?zr@AL_H15W5nt1X;TB#;tDc-icM!wIj=74s&XSp2V`K*fbg1_ zbzAkOcZnha&k!ErxcTgOT3kFOyE3j6!h({dnrW{LLyEXwUn?j2dP2rc)t}8=!y8U` z;wRs`_KM%ydh#``S?+EZXk#1$^E*jeY$H2^u~j;{7Aa;ju6yiQlroJam~#6nL&=iL zMNx7|K~o4+n&L`iGKZm6WB{2=Zkb`9pP!{$v#^xf=TDOh+JUK?4kEQp)s5;_?g>f8 zgHZ(mW((A4`jSQ#uQX~nL~SJ8f7BwfDeHgtFj9c)^G9M8d`9W952;>L7S741+Cr$b z#}g{D>P&?cECi*(Es%4|ESoc+iDy|LpO^( zF|;g+zb_b@1*YSgdl%rduQ)ukA#P#zwe&-hWmdMN7w=LBDh2U*3~=*Z8hJ>IKS{8! zP1B4wc53IP7^W0Hru}#?LfwdkY(uaZ4XtvTYB-c)qjVZp(s+stMbZ%B1(V}TtoSr5 z0gTGCbB6i-5rh)dCE(nQ8qDW@X#L?qOi|t`ZWICRYgZZzIGf;GP>vz3kEpAp?Oj-% z!sf)C#ar3)kS(XXeKLLm;NKYSS1X0&EN1Rk^vtGE#fv(yEpjspFpB1vm(Xr(jzAee zqgsvSX+4JdlMdB62$dT?SX*2Dc}#sC>}-|fG-+*lyGM=76?VwohDnU^+9&VZ@e>|E zt2T?^71Tu+Sw)rD$0xqxi)cSG<7}^(XD()fX#>?Sc~TRoawWuW&8qJeyn#*>3oPGy-9d}5xErz)}e^W+{ncX6Nd*rK>9}3$Kx3?haL`8n}{-Z_U^}e-W z0W>d8@yTpDLOQO+leZ!$UI(psgn(dVnM^(%&{jYcrM%@L#qm{7iAHtyzmTAR!Fm7c ziw8YxdNX)E$YoMkz+U+Vq^F4R^!y7wRj}ae)9jdSbdiii>7D9Kb@D4OZsoCWBo&D& zUdh+mi>uS9{T6jljW#Kc%($wzgO-Qb6Ylam01$XahSG^LL|bk=F^`or)1WBrWb5+| z{5T&4kv5T{_lA%`Lz$(A&F}d{!DevZ1meHq6cZa^>VJOWXm)-=Xrgx`xmL32yDi3h zMjZXh_w;*6$CsRufuUOrrEntcfj8hMAtHf2x=$m7GUy=;QI1M`6sb&LP3TY7m;^pR z>y|z?$F_G*IbySWx|dGS%1EBuGuj-ePcu-FD4Tk(c6Xe6-dh2Cb`GaSG3X}Pr;EK+ zv?nFGc`xPXjXA40Qj%5EkMh4arh0rCl+21!>hObX>Xt&(kV+ENY}F>3a2j>78cU`V z8RabMa+7Hs9UI?M*GPCa8Y3fJuL2*BPmS~H4dv5T~XWZVsoh# z&o9*B5~4UJYCGw~X%<@=)qa_*&cRC4BR!X-gm$z1i;Mgvl&W_=e^k2Pv6fo3*x@`( zB@9ArG@2NlUz|>&nSApGTpAx#sa}zys&_6HSdeAnm0$0-x`*iI7~AX5R{)(UOgR_K z{E3-It}1QWNolG$7dNFm^_kStwnYi!Y9;BoCLt|3u7Vslv=G9GT^YRDcQ zXu)r}2UFC?-M%}?(Zd~UCzad#)qwDdOis^NC=_amp80_#oA*hIqMA(pi!^Mj^N;bKA zS%z5(Ev|dImxd;PzK(6!H59`K)0w91?eO6A!~cHKJD9j+cD`q4 zW*R!1wsg2oEaH6}3N&%=hI-kcSu77jD`FNJ$LHvMUC5{wf1ay+lA%Nt*{Cgv(L!gI z*nkG-KZ{2S4!vvE7N_*YudJ!;^BwUP7U9BU-k_Jz7`ZbZ$Y>8Ul{uM@m6Y8#o*Mt6 zP%r74HmqxXPg~X4?yl(^S$Ef{m{9Xe8IsG|Jgt5y)LsHyw6-_0Ofw1DkMOOUC?Suj zmH#sn?8*Zt44AaL_KA`LlY3O+XNh{>ipidybJUTy7ZMwFdB2=*Hjx)~lWCBg_Stzz z$~+CI`{mC&X#i<4OILTUya9wGMdOm}$SbxY&1TFG@s1y;LeoINMDgP#ewJf8FR6ud zcN*|g&4VQTv;5>&FAL6UoWu#g?Jg4lOT7T`26s<6%O(uddAeD8hy9Cti*T~nOl%iS zoN1TD$b*nbX+)^)4eIzU`%|o7U>eOoC%`RKO~utxZe41av?=N_q^;|h!L#lEYk8Lk zZ>@sM+{w`#&wx} zF)DIc+iaW+3>@S(i>@u)#H{;OM`WgquWGFeSm7#BDR;1;YC)f$E5YaY8PdMmtK)Py z%PWANJ(oOZt0${Wvz4uzR4I{_-hvg!GCRpunM6fbBcje~Z3+D5ilt0K%jo2=08sz3 zFHWD82=mZsSf~o=Vf$FYc9t}5oj}lK<_u3+X3@JUy3w6t$=-*`?dRj&qHdT_zO<@s z?Je_?bXt&VfPEON<<%s5(eHid3FZ!7T&~?W66>wMrs(8+Ra;CmHm|rF+#7l5in}_r z&#bayE3Ev+B?8ImbDVWvNoi)+nga`>;nX|%P!MEp+qU~U$EOAMBIV-JY{UqX%?(3k z9yA%yR60CT8JHfpFvg}Y+|;5WP0WJiM$l%;NYE9n@`X!<>&j=MUEffQ{O!28_!iK=z_yW81+eYnXLIOi=|NQsFIOBTx zk-+dm|Gs`4bC$YxdKIsIOE|6H`hw71v65H|C_&-JE9P_0CLc zs!sg*uV3GT9;U{|GifgxNrS!23e`92CVS7wMHBmX?sm9_uem z{$wJin#QT672D)~W~Yz1}T0SoOeQiV~oP8ZfffP|_@`Ww)kW>W1}o!8^6OPP$d+sd`;KbiZRuGSGMP7PMmqg^aWwN}J1)ye_E$?Jc?>zM0!0{_ z$HgIp?Cv9Wel*;8P0Iw}2zNBltg^441r8G5m5b58^Zg@cSus0prY1v7(3iiz1$HTO5U>tzUVa~$R9kFX6*;gVJhF0MTg%2pdYAE`J2AvN@zBfn zwJd3c$K|0M-?eb78V8Z(VZ8|^jp<711;7bsclhDH2mYL>lsidINKD7l6PD<DDMhI_|8ly}?8s z7l5VlYkzTCQgL%uqa|;XGVq_mNlm)c+rrvPu}DXNQBZ9fm5g5)5_@(ftv14UXc9Tc zX{p;3kP%qB+eb!A#xn?QIslwS4pBR8T{!>ofODJJAUc80H(pF3E1&f-lL=mlMfUSq zQZ4e*!M)ls(VynXNz=~E$7I+wrzs^2$Li^&l^D74lZ-*Z+cp0_uogq-dwrT5>YD_y z@8s*k{T=wGBkt!>tfWaoeBUUT&mEQuRbBlkD44)qyH7GasOAl~WCJFrt<__V;xl}+ zf;kK^4g~e`x-w{-UBP_s{Uto6^_A=pQ&mE%mlxi|EwV~sWD;w0u1L`*cK;$q?D(u< z{GsWxUeFj0wm1s$+)7KIpQ zK#{yRRa4woiuf#Z2QZ-Fg!wArz$I)ROnp8KXwasWjv&*V`4&X05^%i$rh|FcVXcLQ zbjML-LCWPyU#TNlrxxK0DR}v+EvgZJmn@Ug=@n_`rR~ysO8`ccn9}n;UN=jowdzR& z4J|FP9?1f2Q<{=BvJt6)#~g2FOQ1y-Yb1)ZWiKjFujOR-2aIMKR)lgzj}E45M`Z0> zN>-L_q`-z%kFTW=#Y&6H2i@dB{%J!c=>{Zxr#k=%7sf8GxP`yr<5zSmBgF%&yYU13 zQwL)i4P8ZHDj@IptLgYg;jxkCg$yqVkw&p}+b>PWyh5N$Ajb4kWcK1V7Y4b>py41n zgY|($|B7XJvcBHf6lv@wE@4{MN_HbG9X`ZOM70NAeNOB(SYldFbv0Y$b;cM4G8*PG zk>=b^tbLwB&TiJ<50{$F5oTFX`9@6iQlqKuul80YEKuV(?=ZcoRRn*%I+q{8Z4qec zQ%fqMj_x0oDbzN(H)(1z{k!)DGlXNHiDo>epDcyTQS@775yy;9UzBDCBELYA=OiOL zSwMYVLAiG9nu2Bxh}pCt!D_o+rl5#bpprKiv+Bb(F>^^Z zCxG+?5K8=OO_5Ce9d>GZH`Z?o#)=v{wR?H*#pucA<9m~m`F2ODYL-3bouz%Nn8sEn zk>h027?=VK#Julj0?xE=z8>yhuI0kupKYFuq7dC&o1Ib%r7ziB$G;I}2bcX&)~!CQ zpvIX#oLd2p1x}R7BCv}0fP7qXkN|nGFv}SZ=wv1(4(0N^Vz@v0FIff>YXoRs9ooqZ zDRS`o$yN2fC2r8phK7n_z;E1GfBob?_&W9fl;puPJ6CKU%7CS@ns``~nItD5IXYCE z`^mGF%BHF^#0v^>%K8@}+GvXg?o$o|Y~6n#YJ}9a+5B3lvYjJGjzR49*9;Yu~mawuy^Ky$7Y3?m-1lE`oQzjVDlY$dJL53grng zF$j=p-DF*%eaasGBbw@g5-zHCcN13?hsOp1#xn=A3*Vb6GH=sOD;n0p9=NAG11{rxMovn@Px)dYNP-(!ExVj zxz^}&I#7hzT9Gx>8>YKF584(Ml(J5JHuU;DC2(I;`x|nGA=O)m?2UmLZXLLxo^EDj zAs`3TaY<#PEwomVDLdN3H3gP#%iJU2rxPP~{)mhFs``eHOeAVkf?1WhL0CrzqAM(` zO1}ccj;AYgh9#Bb9kz70(23w^HSWrv&;+s$6yOFe_%{@kErVX&f~?8Uno>4!Fr#AI zsbr4SvJhM;iaNoMipdADLDJjbG#M&@+`UBcq2=<#3}4}*>?F5OzRBY88I~DCB1MCU zGCG-LP(k4g>R3-wD|53Ss%iG@w%9{Q!{?C+gD;85R19fH_5D)4|ZuesQVx8T#cH4xQT8~WX1jx)FDn_Gg5#-D)9hcAqARJ?pjI2?JM)FZgs zn^ZmXW(7a+ha}h|mf@P8*A|+|XY)ayk?j%%Eok%MubKGnOP}ALK*=}wG@AWLx%EY@ zM*im!`vm&BgxFQNX~}StKED+zkmw1G3t)Z5lRW!5du{WOorLf| znCh?AAI4wI_-tksO@@j~4Z<;J5|QeZUl9cZrFtL#%?==$W_>u8muQ?*Z1i33sP#Os z`$HOP7+ZQv(x$sRFpDNQ$h@Lhn?RorLk$01Bt?sMCT!-GNH=7Ss~6FId?U&-9FeNS zIe?f+d{Ki~X_1+3c3PCWVTdos+vv<9_g_WzJ3tl+e>i&6HLIYZTSx`Y>`yCJU%e zG(6>)GLnHV1-F3O5A%t1BletyY$oubC$8jCO34 z^!eSIa{z85EH_eD&)k~ikWyT+mxZdmjt5C)&#ZPNW|3VNi}aDBo3;&AdIKcCDiZiR zE#x69pm+;U?j}M2-sGYxHRS_K8agy3++;GpYFEsYUuF5gN6S=p^}|g?r>GfErMobU z_YI;+PJ+)G)gkM2bb9~vM(+F0+<(Ty&^@Y;O==N%CK5j?5T8B&;=3Lxwq0tW<;Oe_ zD!ihLd`^JLGLuDAIl~qJI{|Zx5{PQs%k3T^sZiNS;}S#BTHkcXx2UrPu3m$?Sp>11 zxo%CdK>5XfZ0oR1{Zw|7mw@p9%1L~u&myl?Nk_UImX;@fDXyoXl_H|)!T}QiCtT9C zxpeFk@!sWENp$HWOX!s}t!ek9x)uH&3KT5L1MrF%a7*475?q0sYOUcJQ62Jd^g)#Y zgOGjs*b!C?Q_rEbxv~xKj!=1maP6&pX9Crj0;Vv=znO}$phFVAarik$=4^!wCmoa0 zc4f(vb_DnZC3P3*Y6j6+gb|M?rlPgDvS!r4i1sTOYBJC^bE1;xPQipw9SE=Hc!?C* zDWqw@$DKL~AxQ(F9`zMG_Z*e5F?;9ntVQ?n;FwCuhHw*p`?m)F#a#UVLtFsQ8|?qH z2>Sos5eXH4FraeMB8{gV{rrwTGJiYto>0~Vsq@e&eBJlM;Oq8E~ z^ndbDej}EK7mgLj+8-hCv!PYL&kqctNcJAzzQ59F9Rtsk`t-&^y@k-jsbyES9BWgr z=7S1fm4R9EQrkT1Ck0+4Y=1e1x13LU@D9}5KQZ$v7WPIA=KqAzIr${n-2qsgB0u>x z?IZJOSzZve!ptqqH-_lA`=Ex#{wjyeeL7lU1y`I%Vgpi;(baG$X(u*w6ovZJ@>D`X zfVCCSe&$g@6O;dnrJA!Dij7P{Hh!q#yu31=K_IR5tHGo2#?i)>f|LDN$yP5VUVCOZ z&Z_&*`|Dc6&`@;bw+c^V40^S7;8yT$?lX3nko|J%Xa_rSazC`s7=gQ1Ros8-*Z+xzH!xI)>%J_rj zAHMj@YMK2v=xH>wXNtC66W9n-)MCT&_%fY{$xeY;4a>dEGGbvtK47T<+7$XJC;r`R zPWclzZAkt$eJXWPBRj(O!0<+u2_d$%ij6-x7i7Cjnr$&<;*7_kHp0dNvs>5GxKl!> zx=NY$o!;RMU{Ep7guXcy51hXr1F4=7W{Fo;dDLR-oXbiFSWN;J>wexnjhjl)(lD&6Og=&s9O7g?q!`cJSO?>397 zYPHROqu{546r}pH`#H)L)ZZt#nd`?wZ;0@YCIFE**>d%ML6f zj&I#&vFQgkR$|X?r)%{%&n?&ZR0uG?8a;J zB7RNGXn|n2+kq+e(Tyk#W3GET@z+ArKbtDNJR_`3BIHE@2tWYz!*d8Go#Xhn@}CGC z{k6JPz>OT#GZ2GXjirhyE!QaLbG8CxMV7+Y03QL^r)wV;pZiH`)`~8Y_YYJ2mTcN7 zz81PTC*?okmkBMV1#CnwoOY~#n`I7G;&dWk!Fu~dwuVP=BAV+W4;Yxj;HEJ@Bv2fO zKb@Nkki{RHm1y!Lrzs>9$!2fhEgr#8ZZKNaCHu%YG8_e=Am>S_pJK4p?{K zBQ>f`MgDir^k9HGi{|yXkWOK-0Nv{C@&0`{4S4?6Q)mP8#{b=+f$#c=Ygdy?6^iRb zc~4(Bxqw2k%c6Ri$Sa<|j&R)T52g*D^=F3h)DaDjUSC?-kY&ZBr&~Wm&`^kR-$Ilj z2e49kl)Lhe%rnu^;Tkx$U*3Q7c#im@I9YEYLpqm$XD>d%htIQJ`2HPN1&8S_b=J#s z3pqQY*O@o@N^4b{6-EPPr#e#f>ZXI9v0V&D#~3?VF%K{qmD$O5jzaxI2XdDMRB=ov zE2$cZl1HONwEYY>PZvbk4CgEU`OAmAU8)WET^>6*bSo_aZN;+U%&v!(3r56uZYq`+f>;9A+t#e7%)HJCY^Pj{{;3h?YZpMl1?(Lww)yR%OP z42wl9ZKd6xfc(;RT`b|baOG>ayru)0F<+ItIGd6OnOw^)wS@lI%)h;|i>IXLi_Tjl z)`@i9LT1y;Z+)F8aZkRVRej?p%WP&l1YE9EX%P6=BG73DgEI%eKQyyJt38*!?G+58 zm<5G2IgJ!1t@lGTCyt?~87Ocrr_Po|g}H`!|7hq0$kfz0mr^i2E?!S``C4ybChk+E z;E3f-Wk!yd`Ym|PPnhr!qa_m)jh$y7=zjRfW`ahHqU>!V|Dse*Hn)oeASKQ``GU$B zZ&&gLLkN-BUWmlK2o!`^WrCM0lx^r^#z$C4fmo=R z$iz=37)`Vrp8YA2?R0hk2{bJgE=qX4w4C%1qD%&>Ax%F9Syd8+q72Htm10Js|CSQif`Lr!#YdhuYO&h?w>VjhXC%GUbIr z-cYcHYWa_Kz9Lrs%`S}6i_N@u1O?T-Hzd3&j^o?AN8AATwdrE``ch;~o{_^`|>;(g?)kA?7!~f3VzJ z77c&`!{HZvpCWR#y^>XHG%AA>Q-^p)5e)mG*$n))g%Kd&%z%%wJ|VHn>?;lKDyo=( zya@(RNwF<%vE;B8Vy-3OJbd#jifUwB;Ut`*<0t^-7&SpQe|5I?yL>gRW+x1>GXk{%yxOF_`*WsVhFj%8QP#*Cj-)O8haZc!KoqDb*+w~bi?ccs1 z=?z=@IUU^|lT8vv>4G2nB~Rb$jH7us3fpk@-cc0(WFoZy`(soof!?1u%$aM7KknoJ z7EJ^5Nhc`tO{0a{NiW8l-|Rd_pc4EpNC`Rkk)$3ewb+t>ki(Yl_UIQkuV*X~lUq$1 zL|Vw{RoB<#sKIPZC%+Bh+KznfkGq^g!wK!8hp(A$AyA|T@U6Ei!Onn2iuX_|^*;wTnZ(~38-#YyAX zC}L_OP!axENw{E};nSFgK>u(9ZgLx~e@AzEQQ%vUE3VeCF|Mj2f+UzTi56$Q5=hBT- z#QBfY6zEmJ=4p(Emm1Hsvb=Sj_58V_)c$i|&iWQEz${aFt2-N02f<1$uMc!J1!Z&E z8^p=LH6A=nq!}Uth(><-RYEyZIdCxcmB%jbi2x3FiyytQh)PsLa8h%%my$}zt`cPc zbId?wzPeeeVJEM-m>BX_DgA*zm*MWUz50Y{#|N=bwnFA+amZ=oeYiL7R#G7^A-gCo z!g$v#)9kq>6|qz5DJ^rvalx7}(oJVHK#@i=QHLLDn1j)IYZvD}O=`N`d1QX1Oy!+a zkS@{HAc6$opXxizNXIq*Vp8B0cv7vzXMr%5W&BJtb#zcg*>v zly1=#wICEEHDAw}j4u548KDGI@9*YbLgy#@WC&H^)7;5JMlT%7%dndOb}ZVJkGhmB zxwEyoaiu(C;ON}%yNT^ER^mM3|5`pN2H#B+FAAnmS=h_{RqbdDBSU~M+BklXD`DYp z|J^1Lx8ckYOi?e!bu`03T2XUdHLf_tErGSlI*yeJwI7Q3tF#~l2~}}lv$aw|HAGyH zIvlHW+ehM?@X*6jHPHG!W<5v3C2n=!?nx$x6y)I1L>sOpjnuTSRHB>7LJ0j&gV}#+ z3yp^yYFY7~@>WVsC3!v7#WZDUm$A%o;+1jfgsEwHPC+ulDKcxd&oXwBR*XuOi;-19 z!CUxPLmj#0B|~!Lpd^5m`bbLz-Go;Ou<}ZQ-lO6|bK?V34 z0_$yTnQ_}^mEWt~nKfiDv9{2}BC=?5L^Bn1hB0_bwbI9G`V>S0?h(I!NZSKuxN=G3 zS*De>95d+%tNzhZPA_iU9e`y;wS*fZ>vaFa#3<{m#Yev34{DYf+1dwE)iHbXftHR8 z*B=>>(BCItE5ev8rgTjeR4=4!=Q`fk(Ca46O)8Awrfba?s#|Y=A)}QhlCI#o^k70C zS0B&K6P^_YF;2ySm>+3CDvL$lri?}8;*5xK?KaQ(uML_t!zXBAcm60(U+lGVA~Pz% z3VFm{+9b~nZ59YV{IOG|AJG-#pN(ru6|xn&zkfyi9)zPly<3||zR<(Nt;pDWN$9Z_0F_V zP)7>hQxj!(ftS(&gT6H0U$Bj#6f1lYbj^HnM)+DeB1=>SS$cVcW?7_cZ2{t-Sf*_l z;IjUsfpizb{B&Nl!5v0+wm-LR{Sa5MoB9hZ&o&=IwtVd%nL|M+uYYGaHka0l* zE`c(I-fH99Qt%gQ5%PcI5X-L>X6mRVsA-1mRsLR_S%aA{>s_Vjr?Cz?T_aP2uMA3s zBkh!uf&mVrlk(4uG{B-2zRuMN9TAy+TgDb-E2 zv4gr^`mzIYF!nhR4ad&ooeMFzS#}nttbh#*(7tZ}l1n~0I{?pNvI7}ZVKB@;DIY)p z_4UyG^H2YI^q#)`ui_q-R52Yde4WOG?-T(U!|dEXlS9LPQ)-zt!L(d8-{la&nolGX zW++B=+g8vkx7FI5{Mw<6KBQ#srNwvX$zZ^1m0=m1Ps`GP}q3 zhY}QRNUhXc0MADmtF3+Y)&v?!OL~Yiy5Z19ljCa3pM9#KL-9chGECY@F&VW{E2>wX z5Ej;s!897R;}fM?+aua{EdXl!jHO#xrCwl~$c z>A`&UjbCF|_>452mNrv=^IvU6Vie~TQ8x7I*IW#v@yj46X;RO1b?yahQ>%);Q|jE! z?CxZ;?mJdiLHGWFo9Z5MoNYqJqE;bIm2qP@ephi?NZu2^<#m3u*?;Ik{L-6Bn7Rq8 zy_hN}6Ofk?_+J5|6u&U}Xvyod2{|3QnK`}*`Iy?P?vf5{=dhtC-GxnKarWW2rX}qr3>0(_zQ5eWUT*R|h+TDQb+w%~T&;Ex%6cP;ugeF|gD0uXzS&kNmz${U zs*jarkFi9yXldUOn<$7S34~A7%S)!Y*Yi;YIsa%3#}rV-pl?#N;M)#!$ie;ED3WcO zu?(>)Oh!@nZA9A{j(iYysMq*;A14A44MU4bhsL28isukU$S)>a?PMy!2y2KZois`o z!V1_B;FiRgpy8}#`^ZF8t=}9LH(};yF{dIY`MWdNf1dBpvFkQ_Dd6h(=E*65*TnJZ z_F9>1@wlYO^dw%PPJ0n~DEB1U)=C-G{uopZg0_c6f_!md8g)ENvS#(ElPYgA|4=0^ ztf9WPA75im<=TaV*k0xulYJ|r6EweC7dGgwHo^R|m+mDinARjVvoY0B8o$20JH^S` zAfB{no>rFOwFpR|abOO&(#14s&yI_CmulE8R{n$kiU!5Apw4*fV8wBSI*2h#Bo(Jj z-05dpXDL90;?iz;b0LbqnzQGZB&yfHDY65@FH`mm-~iJ4>~f zXxhixU)zaqB)C)i?&TczwYjo1bSAYRc%4S+YlsB^GB0jTW%kV#CMJ7DDFO&mnv$-^ z*ce<~@#}w#(=Hk$RCO0DLLs!DX%^1DYGJ`Cm5ElJjj7>RJ`3fs@kL8d(#G!=w)1-L z;|#~Sh#&|e_DUt5QGHVbo?iAFi8o9~Xci`yXHTkQ;plU-w@(kO_nR&Z<%=|EnS6j0 zJ2Xpqp8{8?v>~r3suE7C=&c$1l-o|V(jxx3@~Os}hZS6&VFy#-UhMB}R?PfdnZCgp zd%A@tGUa5qLT`H;+jbNpd%124l}ODhE+HyH7QCf_)4+IDQ#klp*DH*l?LwiO|=sCVt4 z@Y9TxRW8&`sB~ZFIncB{b#Zl175$l;Ayd``)vZ+)Il8as3e=ZW%CGR@WmH0ny}~J+ z>(Vufcv7e97SNidb6Xk4G{zHGr&{s^c|%kBZq$rNIzW{TSMUm?b{}v+(>|D5(4=(_ zr|AT<4T&7`_zL%(I-#_V6sasG zS=Q|o_g%%r1utUW<>^KvuOy{W{`FtbxuA%y4Tmd9(#cAGf&s2YYSJlArclY`<+WLQ*&UGkN-yZTk>{F}IdJ z^0K#XjEsyl3J>={YT(pb61^dbhxKXm)?)ii|2N$@t|*f{Do~1m>NaFR>@+zm%E67H zD7#*HKRgkFTGu71ln3_7M5|bUg|xuG2))(>KxF!kRx<(=R}fPbFlFtBO~0HDCi2=y zc^_qcG>pX@pO3kzWvq3o8S`gp(H4z@B)%q8oJu^}GVS#EOtytTmrN61MYtwvqH3!| z#UWKk;v{fvOpaVe{AnldlO>dbmfiZrN42}?%dNa^L~SEW#iqIE-?P5U8tkPoS}Xzp z5`S%AiBS%I{fe|%dzjkS>4d1GTkE{z4qCMrz0VH5o zhd-lSAgmUtUulJW(lD3qr9=^Ipe~!Q{5Y#fiM3*^88AU^t@=fkzMN3ROZzK~@P{*D z4>^}vb8x_i7*met00FSzlNgy)Am5`EVrK^=Offsd)MBC@IvSKS~VHLGeOyi|XO|lo$ z>f$o0WCB{}(9pkJ*u2db&JaKFe~{9{`MD=&&ph&bND3Do2j4kh^h5WIOFOQDKYZd5 z(%^eyT(dbIv_@6VC9)#cqm$Exr-Fr7D_gJ-ctX_^YtZ6%*U*E!f2!8Jt^3%yOVJM| z0H}3X{>P~adb0h#K{`52{3&KWS0d!K#DxR^|GrS~Hq4EbyLlD=&46;v6D5Q}hnz@cX=0q^ zqv|9&FS`T;$FZSJ0mE4-#Aj>_Q=co0zZm&D7>$Klx=?5}DGKM|G8l(b)we1$%i(62 z%5hp=cZ)uDqnO5z*%#~AIQ-52Y`l@@HsK8Ms%$Ct`(tHu%=AV9 zOVmYKz^NrB_)`YgBv%31IYbnlIV$TUp7`CKaIoT(dwr(mB~bLTj?zI2#rUVI3bk4^ z9nq14%oui9Bhm#!Y~$4M726Jp!G3?l+UlS1Pn}P@IB& z-OBOVgM_^h;7~QEn52>ZV!SDZ6lZ6Z;Li9|0Uhz@NmO25HSv&2=|roCQcW9L2~ae6 z3%0#TYK^j;;NMd`ofVv(M~C^!w0-J8`?y^?_ieUJiEzI`vdv82FiISjP;n>JHVV7W zmsR2*ELngtBF;2=m-ZyRp9{{;|Hb33iJ@P`G5jB(y?q3uD<(Q|?$^BTLAccPy84=Z zn49w1XWE1JwP&{$rJjo}s+SCMId&aAR{|=6dEs3`ylcEuHmK4$2IpY7oLkit-6-2N z+{m*fVaxSD(u`eORV4u1T(-+gaf}8PwR^m_>7$exekweMb&?}7bjvE2*vbqluWs_% zswV;CG>JlPc@6JVlgL6nP73eb;lI|A8L^Iky-sm^$7h<$x8Utp`0{pqBU}4SN==7A zpdqa0;fQ=I1)k$vFgvh+bfL3wR5?Snq>ZPk8#>+Y_D^8441RVu*l8g#EVJ*(P&!c^ z<>4+6J57h;1>EI3t8&@;rya={=xGi|nY;p&xiM?vLhz{g8)VbW-BGD9bwADTxe|gM zLXwoCJjUa+MTy@$0S`^GtwQ=~Jq3m1IUiGewcLtv0KM56A zmSd91GF#@=@-V2n*=a)F-_R?j-|{y1U^4GARBNkYU#d!zJonA8w}^tR3X0gfz;gbu zjf;IWvEA99c5oq97X&ieTDCoO)Z^jt)59`C(BV5n>W}@w?61g;oR+(1z}4u-B4$Zr zH?+l&BD_tep_3XWu49%)7|YiRUzKT8RZftaa>8s`=*(@AR}(c%}CwBvLm0B~T zsmJ1D{t-?Ac2Xf@^{_PG{vNR;GMoh1mM*n&QXpN8%iF(?oPy=AQSMYvt}MrU)KzCGTYKqkZ8f~YKtyNKC6zr#CK zi_FTL#s;c&Q#JO@0~yjO?yNC+I5GE0IA67l6QgUDOWq-6auo_LVNmaK%Js&1qoOS+ zid*w9$A8M|2tR@kxopUHSKC1~fZszd3^1!xp>lu`2>cNaS;ZexRm#FqEEII=4OIwJ z%*&*|ZCtGDJ4fwZas9Ob%FLI#UxoalKSky89)^&$ix9DTEqVIBA1-Gs67#WkQBb)voji zIeWS4l`fTjfY3@oN!#l-HgzfN3DPsxEOqu-+c+L(vHy#&w~mUc4c~u71Ze^3?(QxL z>FyXBX@*WgV31Cc?(S}o?(XgoX{1X^&mMihzgTCTv;PAYvu5_*v!DC9ug`VeSkJg6 zYq^vwEU?`IxA=v%b;>o3=X=`0P#irD7{QC|Z}12#dIp8^;$TT0a3Y#@02 z3UX(85u1!CK^tgCMGXf(4%Q*c0bgHD->E(#Ebhwf^F$e0=&%7;iSkij7r0hxNH)H~gDf;V>J>m`DoYe9{y~t@5!c!;DUH!@@cfXbs z{TQ@%B>GM;6tapLRA$J&E$z^CP-YkH5fne@uH&8hc(ZA?!G1O13Q;}hp%c3g@3F}H@<>l^Sf{AUPP-E1`Kf8hQgE87geM|o*{HcfCIf3~PJPQxZ$>+> zBqij#snn&zBYVkPb#KO;zmUm0#+ll~T`EP8mfoTOiBv;;ays}qh-$1i_1&1`d{}#X zx)Xu%KN^@ALOdo=gk-%@y)yb_`%S36vc4Ph=X_>|nqomZRcKumT0!pJmlav4Wd_gl z|4pBK;Q<EOr-%&jaj`7baLso{)+8m>F6_{C<{NCKIsQ#!Gr>QrRIiduQTFAvtFCFjs~mt{)qQ>jY&cbPjO)ArU`v+??oa*c zD+C8%pyi$vBn&GYT6T1D<}WL?REq;!Aj=z2x}%_|5K7&BE7H#zhE}Kz!O|Znex?@d z>|i)IGtKD6%^7w~A0`M4(q0j~ zpjB1eh*gu!i}lq#CxHGISb-{8n*UxGHUWhB1K<6JmmOS6lE_YXGKY|qRN8sNe?FIU z?i(y%*O|(Yq~3lIQ8!pXBJ=ZKuN$jzj|KOc8(SI5wd$xABABzP^}kQ*1AGX(wK}7g zk_~AkqH%LR6ldIo|JL`Y-dS`2u0^|t=KMcdEpnB-%FAfU5gkG?BX ziYp%15*W56Tw672m&T+4CBLD3F2HhQzNL*SG$2WW?$H6}c_Bc3YOb50gZ>|cOWvjM z&aIkz_DU1E!2jLA0u=#djs73ZJ1su9-ey3j+D?1ss{*CxeyNv~qZ-tY60#SbzHQ#L z{b-sMN4EM*U!PAi{=8vEMR)R>>nJL1e$Us!WY^&NXq1ikFPtTX42xb;Zj#ZU{x&u- zL%b9TH0$Y^Bw3eV7|XMf*^%v!RpVRm`yCu=SxVRe zMgO>Lzg$}D{6fENR%%h5S9557^*c$Pg|wIsXT>i?5`h5Yoi(ROahHZl`ja2d=IMmp zV*FV+zly0=KpaHf3D?iaOiPPmv>I&t_sZc<##$ z6^Nx$mr#lEdG~)QA~MoYQs09kxda0r)&SvEml zPm%KD(|%OdY79`XQr1}-2DtaxTE=Ll0l&z?=1fi~NQILlZP-fAMFXh2 zLO*Xr2cgBLDy*>&w8mC6tJC7f#*^}=lnlF31^zJUGRD{zh9(0+y1s7dpPlb)*i7L= z;oT7eIwZiiktnHBOi3c#aKEBwx>NYFol545eTRDok%fu>+RMKw(Z)KCm8^8Sn`A8? za4S4GTxibX+I1D!ey-`{mk)}GkDRV}mu>-#?suVnIlo~@GB4_YRGoE zd0si5nckWLGGgmNzy-Vg70x`W$9DGcLtNjq(81+iTB2W(j+UZJrIN!K1s7BBAd;H0 zOV67{3o$M4_?O}Ki1s|=S$z7(oh-*A$|O=afD=lq*(}@NMXxNH#O~lcrown`tDMC_ zaVV3rsq1e`gH8V%U>3**D5;JhhU&&wjZb>2HV_~lWTuqW)CDu5|9d>n{ohS<)JncU zRqReg!H;ktA|z$b<-ddw&$KE~@^wN3FrtyWs?lQCr_3t1+|s6^X1cm?MXit0q$2P( zy`cc)#Di1Oq5Wb$qr56DG0|^CE_1t-XnlLwcEXfZoQzpU_LGpHkP&D!pu`eF0R%2s zvE*~ib=0@nY{JYzfGSySBRX(oR{sHaH(w9!NV3X@v_SL*^ z0Hp>WX6Qsz6!cl?-E?a}JiK@=%yZ4d4=++aq`cezViCuE8@oG0&V^@0*x$Svmr`|I zT@QHs?5x$9%U>!-vmJ2ET0@_meC;EG9M-ljql^*-9qX+(n`0|TQpnffg}9)@U?~Eq zFvS)ur=T~c(ToA$z}$p3Zw25Np2lhX$_$i7N^q{r{s6{o$S77_QZBeN)gG|thaf5L z-`;*5_Z&m%T8ou~j6D#>UIz1`60`8Q)sryjwM&YWnTg1224H-t^NKsD7kAKE=9G31 zhQUDnU+UZ!XUNJZi7B{L!^=eg+FaC(iv5pGGY*!5n0N)DP7K8rs=S@SRM*o9fV9Gl z<~lEwh|Wjc@*`H>9@$kSO5~AGVLh738w6cCo1d+lo#g>_t74jBqKfJ$W0N%2%?Wek zu$0)!l&WRa#Z2+4ZWyq$=sNI^&Wkm&ueC(mBO^ro3(MjE74Y2HIlmrAP{rgfzGAr>W&lB%pF2EMk!HwJjxQmnQ--#5`<eD^$%e4#D^oZ6<;br<`l$@JXJO(5mGw(mJ-Iz-cu38tzvQFyw8`_06wM29g8xuJ&^(a3p zLe6W*5oSiIeQJT#T7gt$CPIaT059so->UEAqGhI3DJvYOv)H6UIDx=|-d)F8NON8S zOFBr)SoW>UPL^Y+#bl0J&aa|~ z=q%&q3bg4jfqjiOWCxty?C2@ph{bUAz;KO`qAcGd=jMsqj0{4gv-N6q`}Fnu_rJFZ zuZ+xA1&!Kx0kr{XF3qf>( zRngc#pKeRC1#`(xsOTJd<|)LJ6w}b=kUNa!!YnD1HZSe&<`wowW2)AqUdw8DgyPnR z&mDc3`fB4jUwl2E+X9mDM5>p$Cg-kCuSU{_ox-axo_kQ8o^MmGx1s)&)ooa+E#B~8TZ5}xd7SK7u5P(@S#?_f~5l9l~z|#X8BlMp}`r&jgM~b z79)C4ywke>e_6eu^~J-)>3XZk{m$Ea!|#D@&6_}{kuV)dXR^(-r#)LfbS_614`t8| zooPHJE$jc_jurK_-of-WZzKMvx3v}z>1nQe1uW5{2AV_B=29Gx#HhcH>njWqpzDxf zV9>Yx1M{7VB&%jB3^>w;iIbYsXsI4}R<4u0xtqxWf={#*2nq|LP-mU&!3|6w7WznV zt?4n~ps_w)x5IgfPH!^+r>W*KF=JT6lCIp?1AT2K;==$~D^bWghw8Qf)Z*Jj1JuLv zhCn?W8wD{uzeZ0{meX}dv)*9gNEi#Z=vqFZal_u$$I@;#lblb&M>=(Z$A>9f9LBlK zVLzy(D>w=Tis!LHv}J3FiV#3z+`SPm8;$!^#y0K__#HowaWaP{2+~D;(BA^S7p*)? zhhNRP&R)f~s8F4(oslahv{fI~(EL1h_RzwOfEZINwh_9DOJ`t)vBFdu0_WElaP9i2 zsn6%A655!jm5>5xQ!10X1j1QfzKU_LN36v$Wloj%s#%pzT*RE|y(lTv7m#Xh#+(3W z+tmTXFp(;-pq_z6ILhP6I)9UM`jw%<0kDlQ#`U1+Ef6rrb=QBtoChbyIWyR!a6;f! z$cGYql0S?yYeozc+?7DvPFUWCG;d7Y;bFT3s6N(y3_V`-3W8os{*#uHU)Lzd*upg3m>-g+B@G&MO3}fo8j&i=g8?T@Ol)S_= z+ca^O#~FtaH;?#I9-+U!zQaK#d7#eGSS?9>4yp5FKwp%x%OtUv=_$`r6*A~Cy_ zQmaw>K>jLy0zm%TwOgj8da8PJ^h`&3dwyW?$rgjcj+-+aB~MA^jGc`mwOAgioKne2 zGX<;=wsM9|FQs)*0f=Q8jl_yY(;&AN)l1BsI!5t3CU84Yl+6hGOBO`8ed90D!Quy! z+eqeP;lQ74d3^Kv^>1cI?vfaLmvd6sQ6O=b6n`~L{{C{Tw#UyydV&~<8d;opcnjU4 z`Gy~%$3nUh%6Na_9+$K>rJqpxz6e~z-eLpYCTP1VdVV06uv>8i#DN-L#_#@QJ zl_Pm5m`ma#U&(87UmQ*vOBkX5x%y2ok(BJQpi=Pk^2f{6;GCFOZGUf!m|=*h^c^fZ z+WGYJiYpSPaLeY@-bS_8{qMB40Jty*Tgo7nsMF}1O;hOlhA;-CpS4K=GrxpNUZ8Ls zGCr25G#CQI>3}i;39!x`L;-95e?Pwjw8j5VX_1c?2QK-B0&9qx9P*^t^P&gaocYbO zD?4ggLs`(xWcN01-pkwgDVji4+OBDP8ywM(x55r62+~k{-ggAO9%Ge#HDg9_HMTg? z{mZw#G@3U@NUtOpv1$^f6*I>@+)V)YH*kg)9bqW(y>g@K&@pLcu_CIg@$q&QVjgK& zvA~5`AmUw`x}pGxqa~fhk+H7CL6W*kT_VR4H?ixMuc#4E$EFRe7cBoGF2bi5bws~B z!%9uAi@(o5#|kkn!GN8_xl}_NDibBSEj7#jO?wVS-^;(f3J44`%h^6X^p=< zDq)b2@io%*K8JBpF-KKQz)gu)dn zsW`!6HPcmCags#vDJHV@M#V)I_1&!f@D^woQFSA!aF_CG9`MW3NtM{qhmSWvxT5~B ztNN+t{^yI#RE_}S1pBJ((ZX$Lgr?eDH2Lwo|bPYB-Rx>@20kJ{r)0BQr^gw0|I3)(I$feb$P5n zR(@_z=ntcmK00(Cuf_V`#a-5~xVeYWNMjF=oc0b1;aN{bi@TeYQ^T#aGl`HL{(y5q zkfH!O5f8z(^W((7nJG%!KjXg-Eb8D*o~Q`sVt*V)j=`7og5={$3ODAj`%4vcXqeqz z!z-B@|Nf0WOpm|yZ164myJpU=%A%*=UWjLD2>_)SIE%@D)(*0&7B23!_D7t__;sK5iqXfIU_$;n~obyY*HsC^Zhj^-EY?ujOp&x5&YW$ zmdf{EVtcF-hP@k*au7Xn=0=_sG$4u9%+805CSuvIlQW30SmHO$FYnWU3?4I>d?^;E z4Z2RBGkprXpQMYYb}{Z~B1&t&4Bg5Zzr?;%7#VCjRGcXBv~4h{+Q-9FthUheGGU_K zU7_Tv_zJ@Pr+S47Kce(A+GovmHMHWkYnl!XoibWSn?|jO0~N;Ng>~2JE$2E z+Xd^Ye2!$9W~w*B#cpA32DPEg+0_98)(TwHi_(-3k@B>Fdh$Sd|B8!}cB|z$i`D1! z!WN|ODS$lcER#h5b}o1N*;X}n&f{dw23k%fbFaZFA@~74xFRTQmAr}?PWe#mM#poX zCnq28NvEj+ZB)ugS}~C!7l^Y5*cpQ_%09tnFiqnt?L<+_$!koMLwv@HLeH;0cpV-& z@$+1WFYJ6R)z-=7ip4A#z-%STpjayQmlOTBiGFH`pAwtTJZqZD?mF{us%+21^PvI> zCoR1hUucijN_P0Q0~I4bi@VNG ztp7>G`Y8-e1d@pO*`5y7b>`FUz6y$R#1GOX6b<6-vM{K07HqyzCDDy9Xv=c)CX%Ck z40_^6djQVDt0dX51>W`&J|_u8G>I8S6^ETJ*4bL`RG#fQlwHe=Mg-+qB)8nvd7MQa*~b>opY~NpQ6?!z`EBk4+9SqtzMnz_jsr@g+WH zV4r@=EXk^vbYU)PTCI5Nwf>Qi?PFOt2c$NU0i|D`_UlU1sA<%sOmx$o?HZYI(iUUEdOQ&ZuH_+eS%FO zz6=_-O`Q3)2o)S5Z>&;`tKNoqd)GNoo>nV2x`tcm6W{hD+f@MN>9X=`2>D?_kq9ij zk7YHF*YY-#$;#rD+-sApGwZO0Tj!7vNDV61EXBuel#dH|naOI}C`~h!7;OnMAF|@M zY^pXEO65f1+@0r7Um+dx?zRZZt-h-@6|IJ+BGq`Cv}U0IiK5oD=>&SH1?EYk2eoKP z_1+;9b7s1t#2Iq83Z0!k$~c@gghjSyxQ)&^ND8d$e$^3*^^fXDM))S<&)2`zggF7U zDB3)l6cNy&ch6*4^exkX1(kD*B1T5 zwU%F!GFQeB3k-%#in5j$K7Skum;u4jM?|sFRw~SU1#0h`NZz;zAYXBcGToJcJ+z(GH*XMP>cQF)60-e_TP)Y?> zC3f9WZT2_Gi-w;RTl`HI%0bi9)2gbf|7*S&(?U@%bjOTN^?!_Ty8U`93uh9#P>t4; zE_?^sg_f@r1fg@P$XSjWi@c5;s2->`NXCQ-5l6;cQ=6-I zr8)kF_V)Va0W+sfJ6!O>m5h#8h*oG8z8*BAZZ!*dge4mU zIYp*YNi{w-PzSoIqW@rueU8kM%WcTdR)*b(Iz%JAc13xPEYkSoMg`wMR{BP4K~H1? zftF}bVBR1QwwR7Gr_%}Yp4aiH>oe?sqpq&Ux49i{w(=f*8dQOJn&|$c^H<&p@AHER zLN$P5sykpBislDrvX zKz*y<+k~VE|0If^vqGjs%<*3QSVXaMYWgsiF?A-LX%nI|{vkW0j9>drjH{HwuP4Gp zlVG*KcM%9WBx*kn_)FrU8l}tY+XwjS{L_;7RN5R+9k%n(Kr>_%3Fd zgF}ttZK<+HLIBnj>^;Y|9U@a~?p&gxK96b;mG{T`;|0N4Bx@xZ=NKtpx<*%XD`YC%^tj7&qz#OnHdNo*0iN} z`Pm0h&HP%$jlJ2!W4Jv*QU|vmza@2HzFpL?{-AmVA^#$0cBsMRJvO&er~GhF4b;I7 z?oE@5wU_VRJoSeo@_Upd<{Kj6^V!@)-B!nkF zI6RDJAs%}*Ul)r1m8V=aUk||jf&FLfUU*dJFW}nx1)>qyv5nMvd;`_{mFHnRaDqI= zu#XCL07uSfysyvaQuMSYkVdqR(o5_0@7LE$m@^!hOd8v4+_G?9qUn!5Zn+|X*B+lcZl}s(X(@+Tlgxf?L`e zqRS_B4~3O*2#=LqFV6CsLv#(dCd2kBFfAc=xQrbLn4jZ_QzrQ&vg?>Vcl&LrAm&&^2XNQm>0++>Dtm(DM6}zAdw~WD39)C`3 z&G}Ta)h`LZUqFLoBuuYgsJ=V;66ht&k$wenJCX==Ai?8 zMEdd}H;H7PSAeda zE4{qxS}Q*^R=(9~4RIDBN(r?8bsXMRj03N%m*Jx^D00@;5dh_LgRXE_yFsL{+~n zvCUO62sjKCvrD$fz>!0}`WwOh;st9@JrIS*W)>*#(wTmo*O}#beeTPwwD-EGHc$@; zINl-m6A?c`&4hz;ki-Q=<+F z*_Tmztrp}`+~~!Empw5u)<8&Cr0~+3W5DWAww@RB#~CE>xji9}__8BMXNy&+Gw&dX z@fLR>k%o&gj_7Kk6fJk63ss88Tf)sViCW2CJ&Tx1evCDrB`jA@N*eSMUIOQ@Zq|bX zq&YDJ)BOu|ffP?vvrfd2avm`d+S;R+DrwP-Ftg2kzsjik3#1b0>zQtu1@=v)5>6w=@$=USIJj;T1_|7)1t| zFb4oJjQs5QitjUiDC}$P7cs7q3!!`pki!bZ;eq(n>hwfa81HlQ8aW*2`>7&6R@dnK z+9mgSWr0lXe{O*%$>0OIZp=1EpVBt?vwE-0!GErUSFF!u?&caRZWs`I<>lO$rGb`Azz9wFseAf@S_Ff?L#@u z*lF~<`o6Er>ueq>@y+6%Y+e5$)Q526=*R`PJZ5hMzkZLb$0uIj!QI$gw=+Ua1Sr6k z4F_sC2oLK+k*R=r4hWGwwCsbf9LphTa{%8H4@V4eXj+3RQ)kpbu9HOaT^E^nr_f@| z?)GSoxZZ%jk2NPGGUlZ~GImKile)#+0&`w(B03O&@;`AskB~L0!mH%-J_ zLx+e?FV~Y&5b_+mmszSPkE*4z&fJdWnljx`%E+F~yj5bMNg`ufYz62g+i=62WG|7- zx^JFWGtZ9<_6rXzJ>pr9(Fg0)`Ypsr{H)uIaw?~2yDN8ke*}g2U}3xYh3~ zkiWHpR@~Q>G_y{j3@ij^d%p50C5A=m%NXrjGCJK8zb!x~<^73=kq_GM>m_*bWVvh+ ztLwS5D7Op6GK5~Cz(3=ZlykNo1n6&`hN-8W{7ORdVQ->7cfjR&`wCJ%d*|~>=x({1 zrleh84oS)fU$49kNSRbJ+W7e+nKW6s528UC-xB^sVlO3$o>UX4C4tBT@e}8nHLCaY z2h!&?%ICjOX!MuHJmq}b(lG9mRc;w;1#Au~uM@5lq|~ln-h}*c5N?31`WUt!D?G|@ z|LdwDVt;jC2R9U?Fuk?*+zsUR0!lqHpwdgT)yuya^{5L6Qh)oqHV!naAk}htnx(G& zdQ!Um@&*BgYVkl~T~N7PUT%~k$KYFYHx^g&@zSG12YfYC2NBeVW!+S4%hB8rb%+;r zJUV`4<{fq^*Uqci8F$;|}{QxVO*-89U1+C&+wU^yw?$ z9btj>8iqRvIB=n!Yp6Yj#Q7Gc>3_$n!;)VsXDGJ(kd(YIT_%y2UM~Tb&q&zFho5sm z^diPldA6AZ#jmLK_^ilqy!ikGV2uga7h4KmfMqp1MHyr;I%AtruwjeFK2+~x?R=DY zkGx_EEQyB=84f0-GE7|v`i@iz)7q{2h(W%&=d7Aeg>0dyj_Hq(cWbu!`gl)nd8vpz z{iU2m{xZ3L#-H&Kd-$f8_LOwuC6bNZZoehdnMtADUr$=Nv$jMu&9=S6X#3}HDa@K@&ypIX0J8E5o;63Y=5$X20@ zhq;!;#vECOh{sx30*?3wUV)~j)g5#L`(w3A?2Dl-Dd~Roj>I*tdV>EyYj1x4muS%kx53-FROx#W-;&0I1%+a0diFXnY>4b+X{hB{YO2ePi z(pFH>y{w42R|sT9&#r7t|1@>K%o**~>w7?+{nie-W7%hY-1_vG(!2TYb1TW^{sfS> z9eiO=WNEQg8T4dBf2wJO^c(WYl5j=KeeWX9U0{mGHYBAsvxY)y>$|&2Q7|3a?Uqx_ zNr9}enYlY`5BoP}YgAL7#@7K)=C~-2CNb7Jf-tP#Pzwqh8P9RRSLCvwPL(SBG(L`R zdR7vUHC5Fe3A;F@LQeBxSDMH4q{q@v=CbY|hJXKI8=jwT-Zz-}BRuIcxqEBc+|uW< z!14jzKi;A1i4N)a#3yca;gqb%{&T5>C2Dt}oy6-Iu;&^Kt2CYMtc`PgkqelH+ zI$8^s*`~L3Zg*vvHjH^A3~ooss`V1^O0H&&nVhO0EcFK*GbdSzzzR6cBdl(l9E{ahd&u_OvT363Vb6bV%E4#Mh`-)4VwcTNhP4t+;niqj&*j zpiX<)T>+hS7WEh8PG;VO7&hm$z<@wp8-|Tz6_N@cabN5)wh@08RaX*bL?+97bH8#H zJJ(WlyMT8vyNewo1jx;gvgUvYl{P`nVq%tA+FKgqv0r~TsWaxDmglni$ zCF17*L}Mq))$iQHmKl_s&nyaejj?ys`UvEpxyz&oqw+`X>!~ z$2(ZZrO&OTz*e*a)&od(0FL69|1&GA9|rhUNCu?c`A)?9mr6U-t|}Mk3nDu81u9%L z!BFU^`06t&2Lp6C9rRFf`k#EY@c)Ui z)F6VgiAOZtoO6P45H(g;x{J92>YJBDOgJnVBJYz0s8Qk^Ri9AA7Vz54u3 zc)p|rrh)CU13ghnU?Q5S6gN8@`aXz6>nE1RyT5wDpkc}1fkPZ76lXWl(;P=)G}=5O zQOEmRxDsBV(Qr)@?@KrNxE*m9*jBR{Ve{?>r!59o#By;%Tzm|P{TWObDH4q8M!>jk zyK;-)J~*9&3GR?_kEtEV4`%i+{RMpCr!aY|y4JoLFs2ttv?&O4#00baF<9)w%xV6Z z=niK}b>B2lm(D>eSpGF5X}ivhl?Ls_SLNa|b^0mO24BzYIxb8_p6Kg_lBBJzT*-m` z!okUf;-o+v$f1p^&d=IW${>3iWB;4pU?jCWPTwr$cAalr-90gjbBrqHKi}sUZr7!pW2^UC8)P_E z!n_C%jHi$d_rBA&;OK^@bD|pC=KV%R?ZnTbc2Jeo|LuT^Suo~{OqPQWPiBlI<`r0| z$jLL?4U%bXv=QIJ<0d#v5DjkI7>5U~$T*sNSFz4_xtLx!Grc`!s}xCk8#i`|Nu;I5 zsZINAIoE*1jJa^-9f`FCQt6PH@4RTQUXghB6Q?K3{-Sq=zBlf0%xsPXjdenEIgr^b zTzVWiAl%xh##|*q=S#Dgq}g#sn4VAHokmM8rZBQc;FKm;R;{ObwB1TJ(EAM6e?hsl<$0q z^J7r_7>ReBc30)G^;3UAm3tfi*LG#f#PQ*Vk-@LR1S$IAc9x)zqV&@$(tXz_4I#vp z(JJDjM*>-)a~0g1`~pEo=4I?4fu?9wgLcC+^J+4&jH9c6u2-x@!0xIYQ_ z=C~R{0zTHXHkD*N?Wy!e`76&%aM_ZkOY%%#@O0k^wXGk8%(qB|w8HwHnrWBWa7!79 zuX)dKWld>H3dEqQsruMyynG`POMO?(?f_T)@&3b_w43S#Od=O-@oX4Kcid%Gn*w5c znR-(;Zae(3XrO;kS4EQhx-L1#Au+Ce5&z8;58W!Dqa?X(7fp}v{75aHU6Fn+VAWrB zyigC;CNQwaO(u=A$jQ9jJ$8O|x$-px2cHyi5w2&Bp8vPr1re(mn?%NLmSa1PfdxOU ze{DaKK0)TSdJ)~lOFg}WW~RX0T&^P-(UnO) zPvkBz1GYTnw1g;2qhVuhxf<%F)BtCv3&8%TxzdEbw9c@~sA0r_5NBzD#{vc)UQ>6A zpgE)T(|$o7|6q-bbl>{XbjGM^PqN&*U9^u?i!@*5eo;R2mlYw=>BP>u92^7<`P%$b zf^R&k^hgi4c|;E5%o2xB86gh33U@rKTJ-$G?3?i9v$+Ae4rCgacHUIMrmIQu*{@Fo zHWd!MC?qiL^|oImSq?e@Fa|-d`D7y#fN%|V>dPZq|MbDoW=FEGgc%d_PJVN7NTZ)c zoAzo+qjnfBXKoSi4!3v6i-rW^k!r_97ZDE;9@Cef*d|xl4QbWijhdiv*PGRXVs>nM zC-8oVFOu}&9Pq94V=S=e3?$!a6C6l!#3JaeuFe%c;zRC0_jx_z7TaCH_7oY(mOZ`$ zP7CttC3lO$37BP0N)hR!(eWOUD7(Cgaqs?}JFU0b4qZKogo}`yHwXmn=06zdxD#~j z-Ux7q^k}OW8TrxI{}>0o%3rg9mXViwNCV|tp#lj=FB`ake%m%dB6ltrMi{C1c#Y2T$!g(G} z3G5vxFUCbMweznbuH5(WA6_%0Jn_UM_{2uNX&jVJ#VQhDNIkJ#xl6sHa&)=5#aBIa z^bn=q6IU^xJEU9?D@H4l>v<{=Rk(<-9Qz-lA9yz=a8S- zXQ@LUJENsx!jMte=XABJoK6cJLfk4dY{w=n{b}d9bdDPWAufJ4pM}+h2;{QFELGI$ zRyMgrECzP`#NQu@EmT*Zi+I<+dDZ&ODSQ>H!Xm!_W08AWchi1F9vCPyAnngMy&iOM zZ=>^6YS=TQpU#~%6__Fc5>Ri7Q>%4^WRWnd4ES0P+AQZgdGrIdpvBY5uGnVg=Ty@t zIybQ55WRLBL|N9IOtK=HTFQ;O-jVq`K6?6Quo|D%F)t;fP>zugr>K9c#*QlaN2~1X zNA=!9OeGJIlF618UElZ>or}bCK?Q0f+m>Nw>@2r$k5|%#j=qeQ5sEV_gANxLEygYe ze?%#GVrq=gtPS#{R04OC;g@4(g_^3$IBDLl!jGSmLll+c2OF!22e;D6Iv zCSpdFVBrf@d3K5U3y(fXr$NRlkb8emH~RAXF?_(KNca0DV_w(&e7s@PR9&p5 ztEXQiprG>pS;rxr;YEV+igsj%^fyK=n$*>&#@h=&ujvU@9M^|X5C6mtr-u@D9*=F2yOiLfP zO=YO6cN!k=olfT2ODWhhvT#GVz`d>8M!f zsawmG4wIL2%Z~vlEh3S3JnNlR4uL8}%2~qiysi&oD5dAX13<}G7cKJpo7PGXwADM~ z`RDo0$m_5G*YKlQ`$h(J0|WgI-Rnuj*4DQ7bVNhYrmo-q==bXUOF@h4Z^MZs5;>3) zceo1Ss&s%I~eyy#DD`kX5B*Nas zhR~ir_4`hy$pdI{8#?z4PvHib8BT!?GvtK|&nIt>&Pzp)^s|iN5-R_Ce{ZdP$2|4S zh>Nkr-{mqtuzpO(+$&kiO-D2cIvghH{NgJ4x{*>)0uwVn-kW9=!N)tHjB&rNr{uW< zDpmOYF6(<(BhJw{I=&gRxcVCj|E^`<@4<#D+;WqGVbfurjRbL?8lNq;MgFAqn@&Im zXEDE$$;BBIhF_EG60i@Dmkn%sj|w1cGmmCZw^H=?gY*^74qQ1CMU@JYi4%4>uxbU` zW%m^L35@sVUT>P?@k?P-Hfe^#9>zWMLw2NB6jmLPpl!ruaaf}z%X?(`+e2F@asTYKhNs};a zuhq*Gg~{_F&!$`hF&CdBNZW>WL_ziZHqG<8dz!x1BXO@JJQ7RZ5{?Dj`?HXC0A$}g z^yZqwGa%|Rgcd>t1P)hYBc(cS66t555e?fS(fkC2o?@?GQkmLA1z zKg{K)n1NT!)^7 z1MO^eqIA$&;M`*rExfZ<+*a1PK$an<{DRTWZVG3If#Jrl4}4%|>h2S>lU-#}6kfde zSv%ulC@uGs^h~%Be10J&s5Q9|)4PhF!L<^#0_^%=!AeMdVxAO`uVM+_b-gY=CdK_` z#qx@NPGTHe6|$}pA;*}?u}Dro7qMz7F$$Ek98q&@if=oW5CVy_5Ipn~KaepAQv5!c z=>hu#pUV&S{XIp3d_iFC=K_n$$p~0`W!;X`mhTuLgn{vnAeqW=syDii_Fn=M!YU=c z%-0S(t@AZ~H079d-(7J&(cIK}3dVnE=3L9=FWW(ug>WqspKwDgE?3YjwsOfXl9tmc zKzR!JIJ(EHoM|qr+;gla5^NdYTDGe^l4Y*Gx0BTMHJ*xIw9mHmbR>XzFZ;My$t@Bx z4Z-3Ok#U#_jZ$#hS#oNu_N4{8{_eFg_$Q!miA%B40&7%o=SF0X> ze&jiHUM z^fdkHPeJ?5**F6bkSQ7jZU1C*eEdFgxLkIx9JgF5Dg{?c; zZi&Wfv~&L&r8sqa1w0KEp`DxCAngvp>xGxAjYq21zp-FmtTaI~_CA;9tEfY$)izol zc}aanRVw{k&Jk}Gcr%|Oo}p&=c{J#}hE1#IFLQbHIly4D=Pyye6?CQ4Hy_vIjCPk6 zNHeSd?7mO@y#e{vAD19aTEdCl>9ctC_kR_4!{>tJ3*H?TDd4c;)>&JbS94J`(d_;| z0XYc9_gi>+?7&KIxpaq49OAp^8}B}cUc0wsx1?r<%3KxRgT`-D+vzd9hlfXx9;qV> zu8DicE8qRcm)WoXAYAz`{y^PI#s6ePY4bNUBjxFLta0%#Y7 zV(FdtplO{k_2|*!m(2l%#OSqa*Bp{`etv#qV?({zL+;*r*KpA1o`~I|Ua9-*C*NDP zMXA<(^~IH6Y`cGdk=*^iTkOTUH~8UV%FB%U@P{$6zt!D4Z;OytY)u6K0M!EA{Qv;P z%P+rt_Uu`!P9=p(|F*Xmcd@t9zlEzkc@{ zPuf(9U0=TOwSRr{Bl*^UF<4Ro0N|jpn=Po8Mmi?sbJc(ABE#dI+QOytG5Lh_K=@n! z#Et*eu>`e381m)xfzIsCz(%x^h zVY8v1#YBIiUL#NRMY5A|CMt3nkl9+jZF)uA?;Mp+ndjZK+V(^nf`NEq-Z3Dm*`f_} z3Y9R<25h6MH%Yv8t}z)CC)yfsJyA7=nWz6<3;XX+&Z+kB5zB_BtlMjF^o(aRB2+31^$uZlukC(Ee4sXKp?UExpRVwMLui4xSYk&~wWOg3t1 z^N9`K_g*#{%~`t1Pds^BJlRX1aei*ZH@Q|L)-6G0UiXPbdr)y~K_%^}q*kQ?HD96P ziBkXo0QQ`{-GV97Z`GgTzxf+v+Ji}EU;wchIGl_~^+Q}c| zzP2GVE+kjmgF>N_R1%H3NpdaExx5w6@iBiuF?&bNP@ zIlu}vA8AjWot>rQXJSJI0001rU{~&b5+$cP&Y$A8tL%LxINV6((xgs!&hw|DiLG?* zo=9%*mtr*3(2~h!MN&R=ZcC4D($l)aP4h`9?EKxm!qBB1Zw?fweLKs-1G+}Bs>Xck zA{T@fsr3c?-Diaj&sSsFX}oDj8TNld9TB#2TNcxFP8ROkPHLOdI!o&rA^Wnqt#sm| z9E!13mdQC9Qx`cc1^T`1%ob^7ku$c;(huBQ?J@-cy}wpLRs?N9HMXhSN!EB=4VjMH zTK}kVYM3W4yZ&=0?NQ9{%k((1C7!;shR6(L-ui7 zojw#cZ@3d~ht_kNwm=J|O~H<|p6l9#x?jM`SvLF%r#R>Wz+Y2f zJQXCVm#Ldeb8%mTx1!ZL&jf$CMAok^00000@O&v>q~6=k)X5OE)W%9-9ii0((uujE zO?o!y+-1YrotjFNYSyatvBaqE;$OIy$hQ#|jbW7}eZ!hh*o*OKr_ee#<_y{AtEm&Q z4LfqI)^CY4aL0WL(z>5I6`x&hDxkyiAW5BFpV?UP*E_BvikoY$$R~fVsQ?BVYFBrE zp)quwEN+c977v{zg|POTKcft>Mw7Vu^oonH66%O#*Dr0Rb)&Thp$32Q*371Ub&;AH z5ZibG0002sxlq1H<=$B7j~>qjbn6=TrH-AKdvIEgLs1?dDSX`Y=e^61b|NUsv_?`| z&*cG&mb-bp5qjkm-yDBb>lzg?rlRT?>v1(n7Dp3H%4STk{`}i$yxK`xXLa6?eOhF^ z-!~bR*$Qn0t98bP{CZ%3+~qV6*C}8DUv^xa6-_pe>}a$OHMHzx7b=5jVqB3qXY zf7KTBO~#qSs0;uA0D$MiZtm_sRLFb34tk)1xo^O;pxVaJ*pT6%|2?@~005xkfJg-Z00000 h6$WGf51-ULM@-0@cK`qY07*qoM6N<$g0pScDjf-oL#_Y- delta 55567 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 Windows 10 Enterprise E3 or E5 per-device or per-user subscription (including Microsoft 365 F1, E3, or E5)
- Windows 10 Education A3 or A5 (including Microsoft 365 Education A3 or A5)
- Windows VDA E3 or E5 per-device or per-user subscription
- Windows Server 2016 or later | Windows 10 | Enhanced level | +| Device Health | **Any** of the following licenses:
- Windows 10 Enterprise or Windows 10 Education per-device with active Software Assurance
- Windows 10 Enterprise E3 or E5 per-device or per-user subscription (including Microsoft 365 F1, E3, or E5)
- Windows 10 Education A3 or A5 (including Microsoft 365 Education A3 or A5)
- Windows VDA E3 or E5 per-device or per-user subscription
- Windows Server 2016 or later | Windows 10 | - For Windows 10 version 1709 or later: Enhanced (Limited)
- For earlier versions: Enhanced >[!NOTE] > Regarding licensing requirements for Device Health, you do not need per-seat licensing, but only enough licenses to cover your total device usage. For example, if you have 100 E3 licenses, you can monitor 100 devices with Device Health. From e00e7d0b0fe068c8bf570302076568e654e90680 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Fri, 30 Mar 2018 17:23:26 +0000 Subject: [PATCH 14/30] Merged PR 6783: Added warning about custom shell leading to undeployable image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added warning about custom shell leading to undeployable image - per request from partners, dev, and PMs. @ - can you take a look? I can forward you the thread that led to this request, if needed. Here's part of the thread, from Michael Niehaus: The “hide shell” setup is really just a “RunOnce” entry that never really finishes – it might reboot the machine and run again, and eventually runs out of commands to process so at that point it exits. So that is still using Explorer.exe as John said. There was a question on EShell.exe too: I believe that’s a creation of the Embedded team (I believe Suma has some background) that was later integrated into standard Windows SKUs. Back to John’s question though: is it fair to make the statement that setting a custom shell prior to OOBE won’t result in a deployable image? That’s been true for a couple of releases now, and I don’t think that necessarily directly impacts the scenarios that Michael has highlighted as uses of custom shell, but I want to confirm. Thanks, -Michael --- windows/configuration/setup-kiosk-digital-signage.md | 5 +++-- windows/configuration/wcd/wcd-smisettings.md | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/configuration/setup-kiosk-digital-signage.md b/windows/configuration/setup-kiosk-digital-signage.md index 1d0f5bbcc6..c9b84f0646 100644 --- a/windows/configuration/setup-kiosk-digital-signage.md +++ b/windows/configuration/setup-kiosk-digital-signage.md @@ -8,7 +8,7 @@ ms.mktglfcycl: manage ms.sitesec: library author: jdeckerms ms.localizationpriority: high -ms.date: 03/23/2018 +ms.date: 03/30/2018 --- # Set up a kiosk or digital signage on Windows 10 Pro, Enterprise, or Education @@ -284,7 +284,8 @@ Using Shell Launcher, you can configure a kiosk device that runs a Classic Windo >You can also configure a kiosk device that runs a Classic Windows application by using the [Provision kiosk devices wizard](#wizard). >[!WARNING] ->Shell Launcher doesn't support a custom shell with an application that launches a different process and exits. For example, you cannot specify **write.exe** in Shell Launcher. Shell Launcher launches a custom shell and monitors the process to identify when the custom shell exits. **Write.exe** creates a 32-bit wordpad.exe process and exits. Because Shell Launcher is not aware of the newly created wordpad.exe process, Shell Launcher will take action based on the exit code of **Write.exe**, such as restarting the custom shell. +>- Windows 10 doesn’t support setting a custom shell prior to OOBE. If you do, you won’t be able to deploy the resulting image. +>- Shell Launcher doesn't support a custom shell with an application that launches a different process and exits. For example, you cannot specify **write.exe** in Shell Launcher. Shell Launcher launches a custom shell and monitors the process to identify when the custom shell exits. **Write.exe** creates a 32-bit wordpad.exe process and exits. Because Shell Launcher is not aware of the newly created wordpad.exe process, Shell Launcher will take action based on the exit code of **Write.exe**, such as restarting the custom shell. ### Requirements diff --git a/windows/configuration/wcd/wcd-smisettings.md b/windows/configuration/wcd/wcd-smisettings.md index 9be7d411e7..fdc91f9f6c 100644 --- a/windows/configuration/wcd/wcd-smisettings.md +++ b/windows/configuration/wcd/wcd-smisettings.md @@ -7,7 +7,7 @@ ms.sitesec: library author: jdeckerMS ms.localizationpriority: medium ms.author: jdecker -ms.date: 09/06/2017 +ms.date: 03/30/2018 --- # SMISettings (Windows Configuration Designer reference) @@ -94,6 +94,9 @@ When you **enable** KeyboardFilter, a number of other settings become available Use ShellLauncher to specify the application or executable to use as the default custom shell. One use of ShellLauncher is to [create a kiosk (fixed-purpose) device running a Classic Windows application](https://docs.microsoft.com/windows/configuration/set-up-a-kiosk-for-windows-10-for-desktop-editions#shell-launcher-for-classic-windows-applications). +>[!WARNING] +>Windows 10 doesn’t support setting a custom shell prior to OOBE. If you do, you won’t be able to deploy the resulting image. + You can also configure ShellLauncher to launch different shell applications for different users or user groups. >[!IMPORTANT] From d9fdf65f41dbfd3d5a83be97e8658ef39f6fefb6 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 30 Mar 2018 10:40:03 -0700 Subject: [PATCH 15/30] fixed links --- ...g-files-to-support-windows-defender-application-control.md | 2 +- ...efender-application-control-policy-rules-and-file-rules.md | 4 ++-- .../steps-to-deploy-windows-defender-application-control.md | 4 ++-- 3 files changed, 5 insertions(+), 5 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..0d9c04fc68 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 @@ -146,7 +146,7 @@ After the catalog file is signed, add the signing certificate to a WDAC policy, 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**: +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?view=win10-ps) 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` 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..909c8b6e52 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 @@ -105,13 +105,13 @@ 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 the [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy?view=win10-ps) 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. ## 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?view=win10-ps) 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. 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 be8ccb2590..64881457e7 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 @@ -797,7 +797,7 @@ To create a WDAC policy, copy each of the following commands into an elevated Wi ` $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: +2. Use [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy?view=win10-ps) to create a new WDAC policy by scanning the system for installed applications: ` New-CIPolicy -Level PcaCertificate -FilePath $InitialCIPolicy –UserPEs 3> CIPolicyLog.txt ` @@ -887,7 +887,7 @@ Use the following procedure after you have been running a computer with a WDAC p ` $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**. +3. Use [New-CIPolicy](https://docs.microsoft.com/powershell/module/configci/new-cipolicy?view=win10-ps) 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` From 9e2bd3f9db46602e23e0f0565593cc20b5d65f37 Mon Sep 17 00:00:00 2001 From: Trudy Hakala Date: Fri, 30 Mar 2018 18:34:19 +0000 Subject: [PATCH 16/30] Merged PR 6790: corrections for permissions --- .../education-scenarios-store-for-business.md | 2 +- education/windows/images/sfe-roles.png | Bin 21677 -> 36293 bytes ...ermissions-microsoft-store-for-business.md | 8 +++++--- store-for-business/sfb-change-history.md | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/education/windows/education-scenarios-store-for-business.md b/education/windows/education-scenarios-store-for-business.md index 5659364a47..fad685b3d2 100644 --- a/education/windows/education-scenarios-store-for-business.md +++ b/education/windows/education-scenarios-store-for-business.md @@ -10,7 +10,7 @@ searchScope: - Store author: trudyha ms.author: trudyha -ms.date: 11/01/2017 +ms.date: 3/30/2018 --- # Working with Microsoft Store for Education diff --git a/education/windows/images/sfe-roles.png b/education/windows/images/sfe-roles.png index d208fb29b7ecc1528dcf34c07ce95dc88ef6412c..63a92903718ca576f366db5bc631d35e0b29b3c1 100644 GIT binary patch literal 36293 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 E0lNxg#Q*>R literal 21677 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 b-xMNl!K|@HBKJs$(MyK Date: Fri, 30 Mar 2018 19:39:24 +0000 Subject: [PATCH 17/30] Merged PR 6791: New topic for SetupDiag tool New topic for SetupDiag tool --- windows/deployment/TOC.md | 1 + .../resolve-windows-10-upgrade-errors.md | 7 +- windows/deployment/upgrade/setupdiag.md | 247 ++++++++++++++++++ windows/deployment/upgrade/submit-errors.md | 4 +- 4 files changed, 256 insertions(+), 3 deletions(-) create mode 100644 windows/deployment/upgrade/setupdiag.md diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 2df4f8952f..2e859aa94f 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -9,6 +9,7 @@ ### [Deploy Windows 10 Enterprise licenses](deploy-enterprise-licenses.md) ## [Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) ### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) +### [SetupDiag](upgrade/setupdiag.md) ## [Deploy Windows 10](deploy.md) diff --git a/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md b/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md index d3d5edf9a2..65997cec49 100644 --- a/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md +++ b/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md @@ -7,7 +7,7 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: deploy author: greg-lindsay -ms.date: 02/22/2018 +ms.date: 03/30/2018 ms.localizationpriority: high --- @@ -22,6 +22,7 @@ ms.localizationpriority: high This topic contains a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. The following sections and procedures are provided in this guide: +- [SetupDiag](#setupdiag): SetupDiag is a new tool to help you isolate the root cause of an upgrade failure. - [Troubleshooting upgrade errors](#troubleshooting-upgrade-errors): General advice and techniques for troubleshooting Windows 10 upgrade errors.
- [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
- [Quick fixes](#quick-fixes): Steps you can take to eliminate many Windows upgrade errors.
@@ -38,6 +39,10 @@ This topic contains a brief introduction to Windows 10 installation processes, a - [Other result codes](#other-result-codes): Additional causes and mitigation procedures are provided for some result codes. - [Other error codes](#other-error-codes): Additional causes and mitigation procedures are provided for some error codes. +## SetupDiag + +You can use the SetupDiag.exe tool to automatically analyze log files and determine the root cause of an upgrade failure. If SetupDiag is successful in diagnosing the problem, an error code is displayed. Given this error code, use the procedures here (in this topic) to determine how to repair the upgrade failure. For more information see [SetupDiag](setupdiag.md). + ## Troubleshooting upgrade errors If a Windows 10 upgrade is not successful, it can be very helpful to understand *when* an error occurred in the upgrade process. diff --git a/windows/deployment/upgrade/setupdiag.md b/windows/deployment/upgrade/setupdiag.md new file mode 100644 index 0000000000..71f47196cb --- /dev/null +++ b/windows/deployment/upgrade/setupdiag.md @@ -0,0 +1,247 @@ +--- +title: SetupDiag +description: How to use the SetupDiag tool to diagnose Windows Setup errors +keywords: deploy, troubleshoot, windows, 10, upgrade, update, setup, diagnose +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# SetupDiag + +**Applies to** +- Windows 10 + +[SetupDiag.exe](https://go.microsoft.com/fwlink/?linkid=870142) is a standalone diagnostic tool that can be used to obtain details about why a Windows 10 upgrade was unsuccessful. + +SetupDiag works by examining Windows Setup log files. It attempts to parse these log files to determine the root cause of a failure to update or upgrade the computer to Windows 10. SetupDiag can be run on the computer that failed to update, or you can export logs from the computer to another location and run SetupDiag in offline mode. + +See the [Release notes](#release-notes) section at the bottom of this topic for information about updates to this tool. + +## Requirements + +1. The destination OS must be Windows 10. +2. [.NET Framework 4.6](https://www.microsoft.com/download/details.aspx?id=48137) must be installed. If you are not sure what version of .NET is currently installed, see [How to: Determine Which .NET Framework Versions Are Installed](https://docs.microsoft.com/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed). You can also use the following command-line query to display the installed v4 versions: + + ``` + reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s + ``` + +## Parameters + +| Parameter | Description | +| --- | --- | +| /? |
  • Displays interactive help
| +| /Output:\ |
  • This optional parameter enables you to specify the output file for results. This is where you will find what SetupDiag was able to determine. Only text format output is supported. UNC paths will work, provided the context under which SetupDiag runs has access to the UNC path. If the path has a space in it, you must enclose the entire path in double quotes (see the example section below).
  • Default: If not specified, SetupDiag will create the file **SetupDiagResults.log** in the same directory where SetupDiag.exe is run.
| +| /Mode:\ |
  • This optional parameter allows you to specify the mode in which SetupDiag will operate: Offline or Online.
  • Offline: tells SetupDiag to run against a set of log files already captured from a failed system. In this mode you can run anywhere you have access to the log files. This mode does not require SetupDiag to be run on the computer that failed to update. When you specify offline mode, you must also specify the /LogsPath: parameter.
  • Online: tells SetupDiag that it is being run on the computer that failed to update. SetupDiag will attempt find log files and resources in standard Windows locations, such as the **%SystemDrive%\$Windows.~bt** directory for setup log files.
  • Log file search paths are configurable in the SetupDiag.exe.config file, under the SearchPath key. Search paths are comma separated. Note: A large number of search paths will extend the time required for SetupDiag to return results.
  • Default: If not specified, SetupDiag will run in Online mode.
| +| /LogsPath:\ |
  • This optional parameter is required only when **/Mode:Offline** is specified. This tells SetupDiag.exe where to find the log files. These log files can be in a flat folder format, or containing multiple subdirectories. SetupDiag will recursively search all child directories. This parameter should be omitted when the **/Mode:Online** is specified.
| +| /ZipLogs:\ |
  • This optional parameter tells SetupDiag.exe to create a zip file continuing its results and all the log files it parsed. The zip file is created in the same directory where SetupDiag.exe is run.
  • Default: If not specified, a value of 'true' is used.
| +| /Verbose |
  • This optional parameter will output much more data to the log file produced by SetupDiag.exe. By default SetupDiag will only produce a log file entry for serious errors. Using **/Verbose** will cause SetupDiag to always produce a log file with debugging details, which can be useful when reporting a problem with SetupDiag.
| + +### Examples: + +In the following example, SetupDiag is run with default parameters (online mode, results file is SetupDiagResults.log in the same folder where SetupDiag is run). + +``` +SetupDiag.exe +``` + +In the following example, SetupDiag is specified to run in Online mode (this is the default). It will know where to look for logs on the current (failing) system, so there is no need to gather logs ahead of time. A custom location for results is specified. + +``` +SetupDiag.exe /Output:C:\SetupDiag\Results.log /Mode:Online +``` + +The following example uses the /Output parameter to save results to a path name that contains a space: + +``` +SetupDiag /Output:"C:\Tools\SetupDiag\SetupDiag Results\Results.log" +``` + +The following example specifies that SetupDiag is to run in offline mode, and to process the log files found in **D:\Temp\Logs\LogSet1**. + +``` +SetupDiag.exe /Output:C:\SetupDiag\Results.log /Mode:Offline /LogsPath:D:\Temp\Logs\LogSet1 +``` + +## Log files + +[Windows Setup Log Files and Event Logs](https://docs.microsoft.com/windows-hardware/manufacture/desktop/windows-setup-log-files-and-event-logs) has information about where logs are created during Windows Setup. For offline processing, you should run SetupDiag against the contents of the entire folder. For example, depending on when the upgrade failed, copy one of the following folders to your offline location: + +\\$Windows.~bt\sources\panther +
\\$Windows.~bt\Sources\Rollback +
\Windows\Panther +
\Windows\Panther\NewOS + +If you copy the parent folder and all sub-folders, SetupDiag will automatically search for log files in all subdirectories. + +## Setup bug check analysis + +When Microsoft Windows encounters a condition that compromises safe system operation, the system halts. This condition is called a bug check. It is also commonly referred to as a system crash, a kernel error, a Stop error, or BSOD. Typically a hardware device, hardware driver, or related software causes this error. + +If crash dumps [are enabled](https://docs.microsoft.com/windows-hardware/drivers/debugger/enabling-a-kernel-mode-dump-file) on the system, a crash dump file is created. If the bug check occurs during an upgrade, Windows Setup will extract a minidump (setupmem.dmp) file. SetupDiag can also debug these setup related minidumps. + +To debug a setup related bug check, you must: +- Specify the **/Mode:Offline** and **/LogsPath** parameters. You cannot debug memory dumps in online mode. +- Gather the setup memory dump file (setupmem.dmp) from the failing system. + - Setupmem.dmp will be created in either **%SystemDrive%\$Windows.~bt\Sources\Rollback**, or in **%WinDir%\Panther\NewOS\Rollback** depending on when the bug check occurs. +- Install the [Windows Debugging Tools](https://docs.microsoft.com/windows-hardware/drivers/debugger/debugger-download-tools) on the computer that runs SetupDiag. + +In the following example, the **setupmem.dmp** file is copied to the **D:\Dump** directory and the Windows Debugging Tools are installed prior to running SetupDiag: + +``` +SetupDiag.exe /Output:C:\SetupDiag\Dumpdebug.log /Mode:Offline /LogsPath:D:\Dump +``` + +## Known issues + +1. Some rules can take a long time to process if the log files involved as large. +2. SetupDiag only outputs data in a text format. If another format is desired, please provide this [feedback](#feedback). +3. If the failing computer is opted into the Insider program and getting regular pre-release updates, or an update is already pending on the computer when SetupDiag is run, it can encounter problems trying to open these log files. This will likely cause a failure to determine a root cause. In this case, try gathering the log files and running SetupDiag in offline mode. + + +## Sample output + +The following is an example where SetupDiag is run in offline mode. In this example, it is found that disk space is not sufficient to complete Windows Setup: + +``` +C:\setupdiag>SetupDiag /Output:C:\setupdiag\results.log /Mode:Offline /LogsPath:C:\setupdiag\logfiles + + +SetupDiag v1.00 +Copyright (c) Microsoft Corporation. All rights reserved. + + +Searching for setup logs, this can take a minute or more depending on the number and size of the logs...please wait. + Found 1 setupact.logs. + Processing setupact.log 1 of 1 +Gathering information from setup logs. + +SetupDiag: processing rule: CompatScanOnly. +...No match. + + +SetupDiag: processing rule: BitLockerHardblock. +...No match. + + +SetupDiag: processing rule: VHDHardblock. +...No match. + + +SetupDiag: processing rule: PortableWorkspaceHardblock. +...No match. + + +SetupDiag: processing rule: AuditModeHardblock. +...No match. + + +SetupDiag: processing rule: SafeModeHardblock. +...No match. + + +SetupDiag: processing rule: InsufficientSystemPartitionDiskSpaceHardblock. +...No match. + + +SetupDiag: processing rule: HardblockApplication. +...No match. + + +SetupDiag: processing rule: HardblockDeviceOrDriver. +...No match. + + +SetupDiag: processing rule: HardblockMismatchedLanguage. +..No match. + + +SetupDiag: processing rule: HardblockFlightSigning. +..No match. + + +SetupDiag: processing rule: DiskSpaceBlockInDownLevel. +... + +Matching Profile found: DiskSpaceBlockInDownLevel - 6080AFAC-892E-4903-94EA-7A17E69E549E +Warning: Found Disk Space Hard Block. +Warning: You must free up at least 6603 MB of space on the System Drive, and try again. + +SetupDiag found 1 matching issue. +SetupDiag results were logged to: c:\setupdiag\results.log +Logs ZipFile created at: c:\setupdiag\Logs.zip + +``` + +## Rules + +When searching log files, SetupDiag uses a set of rules to match known issues. These rules are contained in the rules.xml file which is extracted when SetupDiag is run. The rules.xml file might be updated as new versions of SetupDiag are made available. See [Release notes](#release-notes) for more information. + +Each rule name and its associated unique rule identifier are listed with a description of the known upgrade-blocking issue. In the rule descriptions, the term "down-level" refers to the first phase of the upgrade process, which runs under the starting OS. + +1. CompatScanOnly - FFDAFD37-DB75-498A-A893-472D49A1311D + - This rule indicates that setup.exe was called with a specific command line parameter that indicated setup was to do a compat scan only, not an upgrade. +2. BitLockerHardblock - C30152E2-938E-44B8-915B-D1181BA635AE + - This is a block when the target OS does not support BitLocker, yet the host OS has BitLocker enabled. +3. VHDHardblock - D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC + - This block happens when the host OS is booted to a VHD image. Upgrade is not supported when the host OS is booted from a VHD image. +4. PortableWorkspaceHardblock - 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280 + - This indicates that the host OS is booted from a Windows To-Go device (USB key). Upgrade is not supported in the Windows To-Go environment. +5. AuditModeHardblock - A03BD71B-487B-4ACA-83A0-735B0F3F1A90 + - This block indicates that the host OS is currently booted into Audit Mode, a special mode for modifying the Windows state. Upgrade is not supported from this state. +6. SafeModeHardblock - 404D9523-B7A8-4203-90AF-5FBB05B6579B + - This block indicates that the host OS is booted to Safe Mode, where upgrade is not supported. +7. InsufficientSystemPartitionDiskSpaceHardblock - 3789FBF8-E177-437D-B1E3-D38B4C4269D1 + - This block is encountered when setup determines the system partition (where the boot loader files are stored) does not have enough space to be serviced with the newer boot files required during the upgrade process. +8. HardblockApplication - D6FBF046-5927-4FCD-B998-FE21CA7F6AC9 + - This rule indicates the host OS had one or more hard blocked applications that need to be uninstalled prior to continuing. This typically is only a problem when /Quiet is specified on the command line. +9. HardblockDeviceOrDriver - ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B + - This indicates a device driver that is loaded on the host OS is not compatible with the newer OS version and needs to be removed prior to the upgrade. +10. HardblockMismatchedLanguage - 60BA8449-CF23-4D92-A108-D6FCEFB95B45 + - This rule indicates the host OS and the target OS language editions do not match. +11. HardblockFlightSigning - 598F2802-3E7F-4697-BD18-7A6371C8B2F8 + - This rule indicates the target OS is a pre-release, Windows Insider build, and the target machine has Secure Boot enabled. This will block the pre-release signed build from booting if installed on the machine. +12. DiskSpaceBlockInDownLevel - 6080AFAC-892E-4903-94EA-7A17E69E549E + - This failure indicates the system ran out of disk space during the down-level operations of upgrade. +13. DiskSpaceFailure - 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191 + - This failure indicates the system drive ran out of available disk space at some point after the first reboot into the upgrade. +14. DeviceInstallHang - 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 + - This failure rule indicates the system hung or bug checked during the device installation phase of upgrade. +15. DebugSetupMemoryDump - C7C63D8A-C5F6-4255-8031-74597773C3C6 + - This offline only rule indicates a bug check occurred during setup. If the debugger tools are available on the system, SetupDiag will debug the memory dump and provide details. +16. DebugSetupCrash - CEEBA202-6F04-4BC3-84B8-7B99AED924B1 + - This offline only rule indicates that setup itself encountered a failure that resulted in a process memory dump. If the debugger tools are installed on the system, SetupDiag will debug the memory dump and give further details. +17. DebugMemoryDump - 505ED489-329A-43F5-B467-FCAAF6A1264C + - This offline only rule is for any memory.dmp file that resulted during the setup/upgrade operation. If the debugger tools are installed on the system, SetupDiag will debug the memory dump and give further details. +18. FindDebugInfoFromRollbackLog - 9600EB68-1120-4A87-9FE9-3A4A70ACFC37 + - This rule will determine and give details when a bug check occurs during the setup/upgrade process that resulted in a memory dump, but without the requirement of the debugger package being on the executing machine. +19. AdvancedInstallerFailed - 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC + - Finds fatal advanced installer operations that cause setup failures. +20. FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E + - Determines if the given setup was a success or not based off the logs. +21. FindSetupHostReportedFailure - 6253C04F-2E4E-4F7A-B88E-95A69702F7EC + - Gives information about failures surfaced early in the upgrade process by setuphost.exe +22. FindDownlevelFailure - 716334B7-F46A-4BAA-94F2-3E31BC9EFA55 + - Gives failure information surfaced by SetupPlatform, later in the down-level phase. +23. FindAbruptDownlevelFailure - 55882B1A-DA3E-408A-9076-23B22A0472BD + - Gives last operation failure information when the system fails in the down-level, but the log just ends abruptly. +24. FindSetupPlatformDownlevelFailure - 307A0133-F06B-4B75-AEA8-116C3B53C2D1 + - Gives last operation and phase failure information when Setup indicates a down-level failure. +25. FindSetupPlatformDownlevelFailedOperation - 087610ED-329A-4DE9-A54C-38A3A07B5B8B + - Gives last phase and error information when Setup indicates a down-level failure. +26. FindRollbackFailure - 3A43C9B5-05B3-4F7C-A955-88F991BB5A48 + - Gives last operation, failure phase and error information when a rollback occurs. + + +## Release notes + +03/30/2018 - SetupDiag v1.00 released with 26 rules, as a standalone tool available from the Download Center. + +## Related topics + +[Resolve Windows 10 upgrade errors: Technical information for IT Pros](https://docs.microsoft.com/en-us/windows/deployment/upgrade/resolve-windows-10-upgrade-errors) \ No newline at end of file diff --git a/windows/deployment/upgrade/submit-errors.md b/windows/deployment/upgrade/submit-errors.md index 2118867a21..01a1e06134 100644 --- a/windows/deployment/upgrade/submit-errors.md +++ b/windows/deployment/upgrade/submit-errors.md @@ -7,7 +7,7 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: deploy author: greg-lindsay -ms.date: 02/01/2018 +ms.date: 03/16/2018 ms.localizationpriority: high --- @@ -47,7 +47,7 @@ The Feedback Hub will open. - Are there any external devices connected? - If you used the link above, the category and subcategory will be automatically selected. If it is not selected, choose **Install and Update** and **Windows Installation**. -You can attach a screenshot or file if desired. This is optional. +You can attach a screenshot or file if desired. This is optional, but can be extremely helpful when diagnosing your upgrade issue. The location of these files is described here: [Windows Setup log files and event logs](https://docs.microsoft.com/windows-hardware/manufacture/desktop/windows-setup-log-files-and-event-logs). Click **Submit** to send your feedback. From 716e60069ef5c832c08ac97564b14dab632e56f9 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 30 Mar 2018 15:26:13 -0700 Subject: [PATCH 18/30] added threshold info --- .../security-policy-settings/account-lockout-duration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/security-policy-settings/account-lockout-duration.md b/windows/security/threat-protection/security-policy-settings/account-lockout-duration.md index 1adc579110..504909f266 100644 --- a/windows/security/threat-protection/security-policy-settings/account-lockout-duration.md +++ b/windows/security/threat-protection/security-policy-settings/account-lockout-duration.md @@ -29,7 +29,7 @@ This policy setting is dependent on the **Account lockout threshold** policy set If [Account lockout threshold](account-lockout-threshold.md) is configured, after the specified number of failed attempts, the account will be locked out. If th **Account lockout duration** is set to 0, the account will remain locked until an administrator unlocks it manually. -It is advisable to set **Account lockout duration** to approximately 30 minutes. To specify that the account will never be locked out, set the value to 0. To configure the value for this policy setting so that it never automatically unlocks the account might seem like a good idea; however, doing so can increase the number of requests that your organization’s Help Desk receives to unlock accounts that were locked by mistake. +It is advisable to set **Account lockout duration** to approximately 15 minutes. To specify that the account will never be locked out, set the Account lockout threshold value to 0. ### Location From 30a4b95f90a85e341ec3bb5a54e3ab166eab6cf4 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 30 Mar 2018 23:18:12 +0000 Subject: [PATCH 19/30] Merged PR 6803: I broke apart the topic into multiple child topics I broke apart the topic into multiple child topics --- windows/deployment/TOC.md | 7 + windows/deployment/upgrade/log-files.md | 168 +++ windows/deployment/upgrade/quick-fixes.md | 56 + .../upgrade/resolution-procedures.md | 684 ++++++++++ .../resolve-windows-10-upgrade-errors.md | 1103 +---------------- windows/deployment/upgrade/setupdiag.md | 4 + windows/deployment/upgrade/submit-errors.md | 4 + .../upgrade/troubleshoot-upgrade-errors.md | 91 ++ .../deployment/upgrade/upgrade-error-codes.md | 144 +++ .../upgrade/windows-error-reporting.md | 66 + 10 files changed, 1255 insertions(+), 1072 deletions(-) create mode 100644 windows/deployment/upgrade/log-files.md create mode 100644 windows/deployment/upgrade/quick-fixes.md create mode 100644 windows/deployment/upgrade/resolution-procedures.md create mode 100644 windows/deployment/upgrade/troubleshoot-upgrade-errors.md create mode 100644 windows/deployment/upgrade/upgrade-error-codes.md create mode 100644 windows/deployment/upgrade/windows-error-reporting.md diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index 2e859aa94f..d36561005b 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -8,6 +8,13 @@ ### [Configure VDA for Subscription Activation](vda-subscription-activation.md) ### [Deploy Windows 10 Enterprise licenses](deploy-enterprise-licenses.md) ## [Resolve Windows 10 upgrade errors](upgrade/resolve-windows-10-upgrade-errors.md) +### [Quick fixes](upgrade\quick-fixes.md) +### [SetupDiag](upgrade/setupdiag.md) +### [Troubleshooting upgrade errors](upgrade/troubleshoot-upgrade-errors.md) +### [Windows error reporting](upgrade/windows-error-reporting.md) +### [Upgrade error codes](upgrade/upgrade-error-codes.md) +### [Log files](upgrade/log-files.md) +### [Resolution procedures](upgrade/resolution-procedures.md) ### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) ### [SetupDiag](upgrade/setupdiag.md) diff --git a/windows/deployment/upgrade/log-files.md b/windows/deployment/upgrade/log-files.md new file mode 100644 index 0000000000..72d23e920b --- /dev/null +++ b/windows/deployment/upgrade/log-files.md @@ -0,0 +1,168 @@ +--- +title: Log files - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Log files + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 400 level topic (advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + + +Several log files are created during each phase of the upgrade process. These log files are essential for troubleshooting upgrade problems. By default, the folders that contain these log files are hidden on the upgrade target computer. To view the log files, configure Windows Explorer to view hidden items, or use a tool to automatically gather these logs. The most useful log is **setupact.log**. The log files are located in a different folder depending on the Windows Setup phase. Recall that you can determine the phase from the extend code. + +Note: Also see the [Windows Error Reporting](windows-error-reporting.md) section in this document for help locating error codes and log files. + +The following table describes some log files and how to use them for troubleshooting purposes:
+ +
+ + + + + + + + + + + + + + + + +
Log filePhase: LocationDescriptionWhen to use
setupact.logDown-Level:
$Windows.~BT\Sources\Panther
Contains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
This is the most important log for diagnosing setup issues.
OOBE:
$Windows.~BT\Sources\Panther\UnattendGC
Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.
Rollback:
$Windows.~BT\Sources\Rollback
Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101.
Pre-initialization (prior to downlevel):
Windows
Contains information about initializing setup.If setup fails to launch.
Post-upgrade (after OOBE):
Windows\Panther
Contains information about setup actions during the installation.Investigate post-upgrade related issues.
setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase.
miglog.xmlPost-upgrade (after OOBE):
Windows\Panther
Contains information about what was migrated during the installation.Identify post upgrade data migration issues.
BlueBox.logDown-Level:
Windows\Logs\Mosetup
Contains information communication between setup.exe and Windows Update.Use during WSUS and WU down-level failures or for 0xC1900107.
Supplemental rollback logs:
+Setupmem.dmp
+setupapi.dev.log
+Event logs (*.evtx)
$Windows.~BT\Sources\RollbackAdditional logs collected during rollback. +Setupmem.dmp: If OS bugchecks during upgrade, setup will attempt to extract a mini-dump.
+Setupapi: Device install issues - 0x30018
+Event logs: Generic rollbacks (0xC1900101) or unexpected reboots.
+ +## Log entry structure + +A setupact.log or setuperr.log entry includes the following elements: + +
    +
  1. The date and time - 2016-09-08 09:20:05. +
  2. The log level - Info, Warning, Error, Fatal Error. +
  3. The logging component - CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS. +
      +
    • The logging components SP (setup platform), MIG (migration engine), and CONX (compatibility information) are particularly useful for troubleshooting Windows Setup errors. +
    +
  4. The message - Operation completed successfully. +
+ +See the following example: + +| Date/Time | Log level | Component | Message | +|------|------------|------------|------------| +|2016-09-08 09:23:50,| Warning | MIG | Could not replace object C:\Users\name\Cookies. Target Object cannot be removed.| + + +## Analyze log files + +>The following instructions are meant for IT professionals. Also see the [Upgrade error codes](upgrade-error-codes.md) section in this guide to familiarize yourself with [result codes](upgrade-error-codes.md#result-codes) and [extend codes](upgrade-error-codes.md#extend-codes). + +
To analyze Windows Setup log files: + +
    +
  1. Determine the Windows Setup error code. This code should be returned by Windows Setup if it is not successful with the upgrade process. +
  2. Based on the [extend code](upgrade-error-codes.md#extend-codes) portion of the error code, determine the type and location of a [log files](#log-files) to investigate. +
  3. Open the log file in a text editor, such as notepad. +
  4. Using the [result code](upgrade-error-codes.md#result-codes) portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. Alternatively search for the "abort" and abandoning" text strings described in step 7 below. +
  5. To find the last occurrence of the result code: +
      +
    1. Scroll to the bottom of the file and click after the last character. +
    2. Click Edit. +
    3. Click Find. +
    4. Type the result code. +
    5. Under Direction select Up. +
    6. Click Find Next. +
    +
  6. When you have located the last occurrence of the result code, scroll up a few lines from this location in the file and review the processes that failed just prior to generating the result code. +
  7. Search for the following important text strings: +
      +
    • Shell application requested abort +
    • Abandoning apply due to error for object +
    +
  8. Decode Win32 errors that appear in this section. +
  9. Write down the timestamp for the observed errors in this section. +
  10. Search other log files for additional information matching these timestamps or errors. +
+ +For example, assume that the error code for an error is 0x8007042B - 0x2000D. Searching for "8007042B" reveals the following content from the setuperr.log file: + +>Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-10-05 15:27:08) is shortened to minutes and seconds, and the certificate file name which is a long text string is shortened to just "CN." + +
setuperr.log content: + +
+27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
+27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
+27:08, Error                  Gather failed. Last error: 0x00000000
+27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
+27:09, Error           SP     CMigrateFramework: Gather framework failed. Status: 44
+27:09, Error           SP     Operation failed: Migrate framework (Full). Error: 0x8007042B[gle=0x000000b7]
+27:09, Error           SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
+27:09, Error           SP     CSetupPlatformPrivate::Execute: Execution of operations queue failed, abandoning. Error: 0x8007042B[gle=0x000000b7]
+
+ +The first line indicates there was an error **0x00000570** with the file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]** (shown below): + +
+27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
+
+ +
The error 0x00000570 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: ERROR_FILE_CORRUPT: The file or directory is corrupted and unreadable. + +Therefore, Windows Setup failed because it was not able to migrate the corrupt file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN]**. This file is a local system certificate and can be safely deleted. Searching the setupact.log file for additional details, the phrase "Shell application requested abort" is found in a location with the same timestamp as the lines in setuperr.log. This confirms our suspicion that this file is the cause of the upgrade failure: + +
setupact.log content: + +
+27:00, Info                   Gather started at 10/5/2016 23:27:00
+27:00, Info [0x080489] MIG    Setting system object filter context (System)
+27:00, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
+27:00, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
+27:00, Info            SP     ExecuteProgress: Elapsed events:1 of 4, Percent: 12
+27:00, Info [0x0802c6] MIG    Processing GATHER for migration unit: \UpgradeFramework (CMXEAgent)
+27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
+27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
+27:08, Info            SP     ExecuteProgress: Elapsed events:2 of 4, Percent: 25
+27:08, Info            SP     ExecuteProgress: Elapsed events:3 of 4, Percent: 37
+27:08, Info [0x080489] MIG    Setting system object filter context (System)
+27:08, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
+27:08, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
+27:08, Info            MIG    COutOfProcPluginFactory::FreeSurrogateHost: Shutdown in progress.
+27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost::CommandLine: -shortened-
+27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost: Successfully launched host and got control object.
+27:08, Error                  Gather failed. Last error: 0x00000000
+27:08, Info                   Gather ended at 10/5/2016 23:27:08 with result 44
+27:08, Info                   Leaving MigGather method
+27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
+
+ + +
This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. + +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) diff --git a/windows/deployment/upgrade/quick-fixes.md b/windows/deployment/upgrade/quick-fixes.md new file mode 100644 index 0000000000..d11f924e4d --- /dev/null +++ b/windows/deployment/upgrade/quick-fixes.md @@ -0,0 +1,56 @@ +--- +title: Quick fixes - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Quick fixes + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 100 level topic (basic).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + +The following steps can resolve many Windows upgrade problems. + +
    +
  1. Remove nonessential external hardware, such as docks and USB devices.
  2. +
  3. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive. +
      +
    • chkdsk /F
    • +
    +
  4. +
  5. Attempt to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. For more information, see [Repair a Windows Image](https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/desktop/repair-a-windows-image). +
      +
    • DISM.exe /Online /Cleanup-image /Restorehealth
    • +
    • sfc /scannow
    • +
    +
  6. +
  7. Update Windows so that all available recommended updates are installed, and ensure the computer is rebooted if this is necessary to complete installation of an update.
  8. +
  9. Uninstall non-Microsoft antivirus software. +
      +
    • Use Windows Defender for protection during the upgrade. +
    • Verify compatibility information and re-install antivirus applications after the upgrade.
    • +
    +
  10. Uninstall all nonessential software.
  11. +
  12. Update firmware and drivers.
  13. +
  14. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
  15. +
  16. Verify at least 16 GB of free space is available to upgrade a 32-bit OS, or 20 GB for a 64-bit OS. +
+ +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) diff --git a/windows/deployment/upgrade/resolution-procedures.md b/windows/deployment/upgrade/resolution-procedures.md new file mode 100644 index 0000000000..713ccc1b67 --- /dev/null +++ b/windows/deployment/upgrade/resolution-procedures.md @@ -0,0 +1,684 @@ +--- +title: Resolution procedures - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Resolution procedures + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 400 level topic (advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + + +## 0xC1900101 + +A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
+ +- The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, +- Event logs: $Windows.~bt\Sources\Rollback\*.evtx +- The device install log: $Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log + +The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, try running setup using a minimal set of drivers and startup programs by performing a [clean boot](https://support.microsoft.com/en-us/kb/929135) before initiating the upgrade process. + +
See the following general troubleshooting procedures associated with a result code of 0xC1900101: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
Code +
0xC1900101 - 0x20004 +
+ +
+
Cause +
Windows Setup encountered an error during the SAFE_OS with the INSTALL_RECOVERY_ENVIRONMENT operation +
This is generally caused by out-of-date drivers. +
+
+ + +
Mitigation +
Uninstall antivirus applications. +
Remove all unused SATA devices. +
Remove all unused devices and drivers. +
Update drivers and BIOS. +
+
+ + +
Code +
0xC1900101 - 0x2000c +
+ +
+
Cause +
Windows Setup encountered an unspecified error during Wim apply in the WinPE phase. +
This is generally caused by out-of-date drivers. +
+
+ + +
Mitigation +
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Contact your hardware vendor to obtain updated device drivers. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. +
+
+ + +
Code +
0xC1900101 - 0x20017 + +
+ +
+
Cause +
A driver has caused an illegal operation. +
Windows was not able to migrate the driver, resulting in a rollback of the operating system. +
This is a SafeOS boot failure, typically caused by drivers or non-Microsoft disk encryption software. +
+
+ + +
Mitigation +
+Ensure that all that drivers are updated.
+Open the Setuperr.log and Setupact.log files in the %windir%\Panther directory, and then locate the problem drivers. +
For more information, see [Understanding Failures and Log Files](https://technet.microsoft.com/en-us/library/ee851579.aspx). +
Update or uninstall the problem drivers. +
+
+ + +
Code +
0xC1900101 - 0x30018 +
+ +
+
Cause +
A device driver has stopped responding to setup.exe during the upgrade process. +
+
+ + +
Mitigation +
+Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Contact your hardware vendor to obtain updated device drivers. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. +
+
+ + +
Code +
0xC1900101 - 0x3000D +
+ +
+
Cause +
Installation failed during the FIRST_BOOT phase while attempting the MIGRATE_DATA operation. +
This can occur due to a problem with a display driver. + +
+
+ + +
Mitigation +
+Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Update or uninstall the display driver. +
+
+ + +
Code +
0xC1900101 - 0x4000D +
+ +
+
Cause +
A rollback occurred due to a driver configuration issue. +
Installation failed during the second boot phase while attempting the MIGRATE_DATA operation. + +
This can occur due to incompatible drivers. + +
+
+ + +
Mitigation +
+
Check supplemental rollback logs for a setupmem.dmp file, or event logs for any unexpected reboots or errors. +
Review the rollback log and determine the stop code. +
The rollback log is located in the **C:\$Windows.~BT\Sources\Panther** folder. An example analysis is shown below. This example is not representative of all cases: +
Info SP Crash 0x0000007E detected +
Info SP Module name : +
Info SP Bugcheck parameter 1 : 0xFFFFFFFFC0000005 +
Info SP Bugcheck parameter 2 : 0xFFFFF8015BC0036A +
Info SP Bugcheck parameter 3 : 0xFFFFD000E5D23728 +
Info SP Bugcheck parameter 4 : 0xFFFFD000E5D22F40 +
Info SP Cannot recover the system. +
Info SP Rollback: Showing splash window with restoring text: Restoring your previous version of Windows. + + +
Typically, there is a dump file for the crash to analyze. If you are not equipped to debug the dump, then attempt the following basic troubleshooting procedures:
+ +1. Make sure you have enough disk space.
+2. If a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.
+3. Try changing video adapters.
+4. Check with your hardware vendor for any BIOS updates.
+5. Disable BIOS memory options such as caching or shadowing. +

+
+
+ + +
Code +
0xC1900101 - 0x40017 +
+ +
+
Cause +
Windows 10 upgrade failed after the second reboot. +
This is usually caused by a faulty driver. For example: antivirus filter drivers or encryption drivers. +
+
+ + +
Mitigation +
Clean boot into Windows, and then attempt the upgrade to Windows 10.
+ +For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135). + +

Ensure you select the option to "Download and install updates (recommended)." +
+
+ +

0x800xxxxx

+ +
Result codes starting with the digits 0x800 are also important to understand. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly. + +
See the following general troubleshooting procedures associated with a result code of 0x800xxxxx:
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
Code +
+ +80040005 - 0x20007 + +
+ +
+
Cause +
+ +An unspecified error occurred with a driver during the SafeOS phase. + +
+
+ + +
Mitigation +
+ +This error has more than one possible cause. Attempt [quick fixes](quick-fixes.md), and if not successful, [analyze log files](log-files.md#analyze-log-files) in order to determine the problem and solution. + +
+
+ + +
Code +
+ +0x80073BC3 - 0x20009
+0x8007002 - 0x20009
+0x80073B92 - 0x20009 + +
+ +
+
Cause +
+ +The requested system device cannot be found, there is a sharing violation, or there are multiple devices matching the identification criteria. + +
+
+ + +
Mitigation +
+ +These errors occur during partition analysis and validation, and can be caused by the presence of multiple system partitions. For example, if you installed a new system drive but left the previous system drive connected, this can cause a conflict. To resolve the errors, disconnect or temporarily disable drives that contain the unused system partition. You can reconnect the drive after the upgrade has completed. Alternatively, you can delete the unused system partition. + +
+
+ + +
Code +
+ +800704B8 - 0x3001A + +
+ +
+
Cause +
+ +An extended error has occurred during the first boot phase. + +
+
+ + +
Mitigation +
+ +Disable or uninstall non-Microsoft antivirus applications, disconnect all unnecessary devices, and perform a [clean boot](https://support.microsoft.com/en-us/kb/929135). + +
+
+ + +
Code +
+ +8007042B - 0x4000D + +
+ +
+
Cause +
+ +The installation failed during the second boot phase while attempting the MIGRATE_DATA operation. +
This issue can occur due to file system, application, or driver issues. + +
+
+ + +
Mitigation +
+ +[Analyze log files](log-files.md#analyze-log-files) in order to determine the file, application, or driver that is not able to be migrated. Disconnect, update, remove, or replace the device or object. + +
+
+ + +
Code +
+ +8007001F - 0x3000D + +
+ +
+
Cause +
+ +The installation failed in the FIRST_BOOT phase with an error during MIGRATE_DATA operation. + +
+
+ + +
Mitigation +
+ +[Analyze log files](log-files.md#analyze-log-files) in order to determine the files or registry entries that are blocking data migration. + +This error can be due to a problem with user profiles. It can occur due to corrupt registry entries under **HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList** or invalid files in the **\\Users** directory. + +Note: If a previous upgrade did not complete, invalid profiles might exist in the **Windows.old\\Users** directory. + +To repair this error, ensure that deleted accounts are not still present in the Windows registry and that files under the \\Users directory are valid. Delete the invalid files or user profiles that are causing this error. The specific files and profiles that are causing the error will be recorded in the Windows setup log files. + +
+
+ + +
Code +
+ +8007001F - 0x4000D + +
+ +
+
Cause +
+ +General failure, a device attached to the system is not functioning. + +
+
+ + +
Mitigation +
+ +[Analyze log files](log-files.md#analyze-log-files) in order to determine the device that is not functioning properly. Disconnect, update, or replace the device. + +
+
+ + +
Code +
+ +8007042B - 0x4001E + +
+ +
+
Cause +
+ +The installation failed during the second boot phase while attempting the PRE_OOBE operation. + +
+
+ + +
Mitigation +
+ +This error has more than one possible cause. Attempt [quick fixes](quick-fixes.md), and if not successful, [analyze log files](log-files.md#analyze-log-files) in order to determine the problem and solution. + +
+
+ + +## Other result codes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Error code +Cause +Mitigation +
0xC1800118WSUS has downloaded content that it cannot use due to a missing decryption key.See [Steps to resolve error 0xC1800118](https://blogs.technet.microsoft.com/wsus/2016/09/21/resolving-error-0xc1800118/) for information.
0xC1900200Setup.exe has detected that the machine does not meet the minimum system requirements.Ensure the system you are trying to upgrade meets the minimum system requirements.
See [Windows 10 specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) for information.
0x80090011A device driver error occurred during user data migration.Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0xC7700112Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk.This issue is resolved in the latest version of Upgrade Assistant. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0x80190001An unexpected error was encountered while attempting to download files required for upgrade.To resolve this issue, download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). +
0x80246007The update was not downloaded successfully.Attempt other methods of upgrading the operating system.
+Download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). +
Attempt to upgrade using .ISO or USB.
+**Note**: Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the [Volume Licensing Service Center](https://www.microsoft.com/licensing/servicecenter/default.aspx). +
0xC1900201The system did not pass the minimum requirements to install the update.Contact the hardware vendor to get the latest updates.
0x80240017The upgrade is unavailable for this edition of Windows.Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.
0x80070020The existing process cannot access the file because it is being used by another process.Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135).
0x80070522The user doesn’t have required privilege or credentials to upgrade.Ensure that you have signed in as a local administrator or have local administrator privileges.
0xC1900107A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade. +Reboot the device and run setup again. If restarting device does not resolve the issue, then use the Disk Cleanup utility and cleanup the temporary as well as the System files. For more information, see [Disk cleanup in Windows 10](https://support.microsoft.com/en-us/instantanswers/8fef4121-711b-4be1-996f-99e02c7301c2/disk-cleanup-in-windows-10).
0xC1900209The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications.Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See [Windows 10 Pre-Upgrade Validation using SETUP.EXE](https://blogs.technet.microsoft.com/mniehaus/2015/08/23/windows-10-pre-upgrade-validation-using-setup-exe/) for more information. + +
You can also download the [Windows Assessment and Deployment Kit (ADK) for Windows 10](http://go.microsoft.com/fwlink/p/?LinkId=526740) and install Application Compatibility Tools. +
0x8007002 This error is specific to upgrades using System Center Configuration Manager 2012 R2 SP1 CU3 (5.00.8238.1403)Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760) + +
The error 80072efe means that the connection with the server was terminated abnormally. + +
To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN. +
0x80240FFF Occurs when update synchronization fails. It can occur when you are using Windows Server Update Services on its own or when it is integrated with System Center Configuration Manager. If you enable update synchronization before you install hotfix 3095113, WSUS doesn't recognize the Upgrades classification and instead treats the upgrade like a regular update. You can prevent this by installing hotfix 3095113 before you enable update synchronization. However, if you have already run into this problem, do the following: + +
    +
  1. Disable the Upgrades classification.
  2. +
  3. Install hotfix 3095113.
  4. +
  5. Delete previously synched updates.
  6. +
  7. Enable the Upgrades classification.
  8. +
  9. Perform a full synch.
  10. +
+
For detailed information on how to run these steps check out How to delete upgrades in WSUS.

+
0x8007007EOccurs when update synchronization fails because you do not have hotfix 3095113 installed before you enable update synchronization. Specifically, the CopyToCache operation fails on clients that have already downloaded the upgrade because Windows Server Update Services has bad metadata related to the upgrade. It can occur when you are using standalone Windows Server Update Services or when WSUS is integrated with System Center Configuration Manager. Use the following steps to repair Windows Server Update Services. You must run these steps on each WSUS server that synched metadata before you installed the hotfix. + +
    +
  1. Stop the Windows Update service. Sign in as a user with administrative privileges, and then do the following: +
      +
    1. Open Administrative Tools from the Control Panel.
    2. +
    3. Double-click Services.
    4. +
    5. Find the Windows Update service, right-click it, and then click Stop. If prompted, enter your credentials.
    6. +
    +
  2. +
  3. Delete all files and folders under c:\Windows\SoftwareDistribution\DataStore.
  4. +
  5. Restart the Windows Update service.
  6. +
+
+ +## Other error codes + + + + + + + + + + + + + + + +
Error CodesCauseMitigation
0x80070003- 0x20007 +This is a failure during SafeOS phase driver installation. + +[Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](log-files.md#analyze-log-files) to determine the problem driver. +
0x8007025D - 0x2000C +This error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. + +Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). + +
0x80070490 - 0x20007An incompatible device driver is present. + +[Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](log-files.md#analyze-log-files) to determine the problem driver. + +
0xC1900101 - 0x2000c +An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption. +Run checkdisk to repair the file system. For more information, see the [quick fixes](quick-fixes.md) section in this guide. +
Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
0xC1900200 - 0x20008 + +The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. + +See [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) and verify the computer meets minimum requirements. + +
Review logs for [compatibility information](https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/).
0x80070004 - 0x3000D +This is a problem with data migration during the first boot phase. There are multiple possible causes. + +[Analyze log files](log-files.md#analyze-log-files) to determine the issue.
0xC1900101 - 0x4001E +Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. +This is a generic error that occurs during the OOBE phase of setup. See the [0xC1900101](#0xc1900101) section of this guide and review general troubleshooting procedures described in that section.
0x80070005 - 0x4000D +The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data. +[Analyze log files](log-files.md#analyze-log-files) to determine the data point that is reporting access denied.
0x80070004 - 0x50012 +Windows Setup failed to open a file. +[Analyze log files](log-files.md#analyze-log-files) to determine the data point that is reporting access problems.
0xC190020e +
0x80070070 - 0x50011 +
0x80070070 - 0x50012 +
0x80070070 - 0x60000 +
These errors indicate the computer does not have enough free space available to install the upgrade. +To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to [free up drive space](https://support.microsoft.com/en-us/help/17421/windows-free-up-drive-space) before proceeding with the upgrade. + +
Note: If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. +
+ +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) diff --git a/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md b/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md index 65997cec49..347b42dee1 100644 --- a/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md +++ b/windows/deployment/upgrade/resolve-windows-10-upgrade-errors.md @@ -18,1078 +18,37 @@ ms.localizationpriority: high >**Important**: This topic contains technical instructions for IT administrators. If you are not an IT administrator, see the following topic: [Get help with Windows 10 upgrade and installation errors](https://support.microsoft.com/en-us/help/10587/windows-10-get-help-with-upgrade-installation-errors). You can also [Submit Windows 10 upgrade errors using Feedback Hub](submit-errors.md). -## In this topic - -This topic contains a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. The following sections and procedures are provided in this guide: - -- [SetupDiag](#setupdiag): SetupDiag is a new tool to help you isolate the root cause of an upgrade failure. -- [Troubleshooting upgrade errors](#troubleshooting-upgrade-errors): General advice and techniques for troubleshooting Windows 10 upgrade errors.
-- [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
-- [Quick fixes](#quick-fixes): Steps you can take to eliminate many Windows upgrade errors.
-- [Upgrade error codes](#upgrade-error-codes): The components of an error code are explained. - - [Result codes](#result-codes): Information about result codes. - - [Extend codes](#extend-codes): Information about extend codes. -- [Windows Error Reporting](#windows-error-reporting): How to use Event Viewer to review details about a Windows 10 upgrade. -- [Log files](#log-files): A list and description of log files useful for troubleshooting. - - [Log entry structure](#log-entry-structure): The format of a log entry is described. - - [Analyze log files](#analyze-log-files): General procedures for log file analysis, and an example. -- [Resolution procedures](#resolution-procedures): Causes and mitigation procedures associated with specific error codes. - - [0xC1900101](#0xc1900101): Information about the 0xC1900101 result code. - - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. - - [Other result codes](#other-result-codes): Additional causes and mitigation procedures are provided for some result codes. - - [Other error codes](#other-error-codes): Additional causes and mitigation procedures are provided for some error codes. - -## SetupDiag - -You can use the SetupDiag.exe tool to automatically analyze log files and determine the root cause of an upgrade failure. If SetupDiag is successful in diagnosing the problem, an error code is displayed. Given this error code, use the procedures here (in this topic) to determine how to repair the upgrade failure. For more information see [SetupDiag](setupdiag.md). - -## Troubleshooting upgrade errors - -If a Windows 10 upgrade is not successful, it can be very helpful to understand *when* an error occurred in the upgrade process. - -Briefly, the upgrade process consists of four phases: **Downlevel**, **SafeOS**, **First boot**, and **Second boot**. The computer will reboot once between each phase. - -These phases are explained in greater detail [below](#the-windows-10-upgrade-process). First, let's summarize the actions performed during each phase because this affects the type of errors that can be encountered. - -1. **Downlevel phase**: Because this phase runs on the source OS, upgrade errors are not typically seen. If you do encounter an error, ensure the source OS is stable. Also ensure the Windows setup source and the destination drive are accessible. - -2. **SafeOS phase**: Errors most commonly occur during this phase due to hardware issues, firmware issues, or non-microsoft disk encryption software. - - Since the computer is booted into Windows PE during the SafeOS phase, a useful troubleshooting technique is to boot into [Windows PE](https://docs.microsoft.com/windows-hardware/manufacture/desktop/winpe-intro) using installation media. You can use the [media creation tool](https://www.microsoft.com/software-download/windows10) to create bootable media, or you can use tools such as the [Windows ADK](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit), and then boot your device from this media to test for hardware and firmware compatibility issues. - - **Do not proceed with the Windows 10 installation after booting from this media**. This method can only be used to perform a clean install which will not migrate any of your apps and settings, and you will be required re-enter your Windows 10 license information. - - If the computer does not successfully boot into Windows PE using the media that you created, this is likely due to a hardware or firmware issue. Check with your hardware manufacturer and apply any recommended BIOS and firmware updates. If you are still unable to boot to installation media after applying updates, disconnect or replace legacy hardware. - - If the computer successfully boots into Windows PE, but you are not able to browse the system drive on the computer, it is possible that non-Microsoft disk encryption software is blocking your ability to perform a Windows 10 upgrade. Update or temporarily remove the disk encryption. - -3. **First boot phase**: Boot failures in this phase are relatively rare, and almost exclusively caused by device drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, then retry the upgrade. - -4. **Second boot phase**: In this phase, the system is running under the target OS with new drivers. Boot failures are most commonly due to anti-virus software or filter drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, temporarily uninstall anti-virus software, then retry the upgrade. - -If the general troubleshooting techniques described above or the [quick fixes](#quick-fixes) detailed below do not resolve your issue, you can attempt to analyze [log files](#log-files) and interpret [upgrade error codes](#upgrade-error-codes). You can also [Submit Windows 10 upgrade errors using Feedback Hub](submit-errors.md) so that Microsoft can diagnose your issue. - -## The Windows 10 upgrade process - -The **Windows Setup** application is used to upgrade a computer to Windows 10, or to perform a clean installation. Windows Setup starts and restarts the computer, gathers information, copies files, and creates or adjusts configuration settings. - -When performing an operating system upgrade, Windows Setup uses phases described below. A reboot occurs between each of the phases. After the first reboot, the user interface will remain the same until the upgrade is completed. Percent progress is displayed and will advance as you move through each phase, reaching 100% at the end of the second boot phase. - -1. **Downlevel phase**: The downlevel phase is run within the previous operating system. Windows files are copied and installation components are gathered. - - ![downlevel phase](../images/downlevel.png) - -2. **Safe OS phase**: A recovery partition is configured, Windows files are expanded, and updates are installed. An OS rollback is prepared if needed. Example error codes: 0x2000C, 0x20017. - - ![safeOS phase](../images/safeos.png) - -3. **First boot phase**: Initial settings are applied. Example error codes: 0x30018, 0x3000D. - - ![first boot phase](../images/firstboot.png) - -4. **Second boot phase**: Final settings are applied. This is also called the **OOBE boot phase**. Example error codes: 0x4000D, 0x40017. - - At the end of the second boot phase, the **Welcome to Windows 10** screen is displayed, preferences are configured, and the Windows 10 sign-in prompt is displayed. - - ![second boot phase](../images/secondboot.png) - - ![second boot phase](../images/secondboot2.png) - - ![second boot phase](../images/secondboot3.png) - -5. **Uninstall phase**: This phase occurs if upgrade is unsuccessful (image not shown). Example error codes: 0x50000, 0x50015. - -**Figure 1**: Phases of a successful Windows 10 upgrade (uninstall is not shown): - -![Upgrade process](../images/upgrade-process.png) - -DU = Driver/device updates.
-OOBE = Out of box experience.
-WIM = Windows image (Microsoft) - - -## Quick fixes - -The following steps can resolve many Windows upgrade problems. - -
    -
  1. Remove nonessential external hardware, such as docks and USB devices.
  2. -
  3. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive. -
      -
    • chkdsk /F
    • -
    -
  4. -
  5. Attempt to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. For more information, see [Repair a Windows Image](https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/desktop/repair-a-windows-image). -
      -
    • DISM.exe /Online /Cleanup-image /Restorehealth
    • -
    • sfc /scannow
    • -
    -
  6. -
  7. Update Windows so that all available recommended updates are installed, and ensure the computer is rebooted if this is necessary to complete installation of an update.
  8. -
  9. Uninstall non-Microsoft antivirus software. -
      -
    • Use Windows Defender for protection during the upgrade. -
    • Verify compatibility information and re-install antivirus applications after the upgrade.
    • -
    -
  10. Uninstall all nonessential software.
  11. -
  12. Update firmware and drivers.
  13. -
  14. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
  15. -
  16. Verify at least 16 GB of free space is available to upgrade a 32-bit OS, or 20 GB for a 64-bit OS. -
- - -## Upgrade error codes - -If the upgrade process is not successful, Windows Setup will return two codes: - -1. **A result code**: The result code corresponds to a specific Win32 or NTSTATUS error. -2. **An extend code**: The extend code contains information about both the *phase* in which an error occurred, and the *operation* that was being performed when the error occurred. - ->For example, a result code of **0xC1900101** with an extend code of **0x4000D** will be returned as: **0xC1900101 - 0x4000D**. - -Note: If only a result code is returned, this can be because a tool is being used that was not able to capture the extend code. For example, if you are using the [Windows 10 Upgrade Assistant](https://support.microsoft.com/en-us/kb/3159635) then only a result code might be returned. - ->[!TIP] ->If you are unable to locate the result and extend error codes, you can attempt to find these codes using Event Viewer. For more information, see [Windows Error Reporting](#windows-error-reporting). - -### Result codes - ->A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Resolution procedures](#resolution-procedures) section later in this topic. - -Result codes can be matched to the type of error encountered. To match a result code to an error: - -1. Identify the error code type as either Win32 or NTSTATUS using the first hexadecimal digit: -
**8** = Win32 error code (ex: 0x**8**0070070) -
**C** = NTSTATUS value (ex: 0x**C**1900107) -2. Write down the last 4 digits of the error code (ex: 0x8007**0070** = 0070). These digits are the actual error code type as defined in the [HRESULT](https://msdn.microsoft.com/en-us/library/cc231198.aspx) or the [NTSTATUS](https://msdn.microsoft.com/en-us/library/cc231200.aspx) structure. Other digits in the code identify things such as the device type that produced the error. -3. Based on the type of error code determined in the first step (Win32 or NTSTATUS), match the 4 digits derived from the second step to either a Win32 error code or NTSTATUS value using the following links: - - [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) - - [NTSTATUS value](https://msdn.microsoft.com/en-us/library/cc704588.aspx) - -Examples: -- 0x80070070 - - Based on the "8" this is a Win32 error code - - The last four digits are 0070, so look up 0x00000070 in the [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) table - - The error is: **ERROR_DISK_FULL** -- 0xC1900107 - - Based on the "C" this is an NTSTATUS error code - - The last four digits are 0107, so look up 0x00000107 in the [NTSTATUS value](https://msdn.microsoft.com/en-us/library/cc704588.aspx) table - - The error is: **STATUS_SOME_NOT_MAPPED** - -Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more ambiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot. - -### Extend codes - ->**Important**: Extend codes reflect the current Windows 10 upgrade process, and might change in future releases of Windows 10. The codes discussed in this section apply to Windows 10 version 1607, also known as the Anniversary Update. - -Extend codes can be matched to the phase and operation when an error occurred. To match an extend code to the phase and operation: - -1. Use the first digit to identify the phase (ex: 0x4000D = 4). -2. Use the last two digits to identify the operation (ex: 0x4000D = 0D). -3. Match the phase and operation to values in the tables provided below. - -The following tables provide the corresponding phase and operation for values of an extend code: - -
- - - -
Extend code: phase
HexPhase -
0SP_EXECUTION_UNKNOWN -
1SP_EXECUTION_DOWNLEVEL -
2SP_EXECUTION_SAFE_OS -
3SP_EXECUTION_FIRST_BOOT -
4SP_EXECUTION_OOBE_BOOT -
5SP_EXECUTION_UNINSTALL -
- - - - - - - -
Extend code: operation
- -
HexOperation -
0SP_EXECUTION_OP_UNKNOWN -
1SP_EXECUTION_OP_COPY_PAYLOAD -
2SP_EXECUTION_OP_DOWNLOAD_UPDATES -
3SP_EXECUTION_OP_INSTALL_UPDATES -
4SP_EXECUTION_OP_INSTALL_RECOVERY_ENVIRONMENT -
5SP_EXECUTION_OP_INSTALL_RECOVERY_IMAGE -
6SP_EXECUTION_OP_REPLICATE_OC -
7SP_EXECUTION_OP_INSTALL_DRVIERS -
8SP_EXECUTION_OP_PREPARE_SAFE_OS -
9SP_EXECUTION_OP_PREPARE_ROLLBACK -
ASP_EXECUTION_OP_PREPARE_FIRST_BOOT -
BSP_EXECUTION_OP_PREPARE_OOBE_BOOT -
CSP_EXECUTION_OP_APPLY_IMAGE -
DSP_EXECUTION_OP_MIGRATE_DATA -
ESP_EXECUTION_OP_SET_PRODUCT_KEY -
FSP_EXECUTION_OP_ADD_UNATTEND -
-
- -
HexOperation -
10SP_EXECUTION_OP_ADD_DRIVER -
11SP_EXECUTION_OP_ENABLE_FEATURE -
12SP_EXECUTION_OP_DISABLE_FEATURE -
13SP_EXECUTION_OP_REGISTER_ASYNC_PROCESS -
14SP_EXECUTION_OP_REGISTER_SYNC_PROCESS -
15SP_EXECUTION_OP_CREATE_FILE -
16SP_EXECUTION_OP_CREATE_REGISTRY -
17SP_EXECUTION_OP_BOOT -
18SP_EXECUTION_OP_SYSPREP -
19SP_EXECUTION_OP_OOBE -
1ASP_EXECUTION_OP_BEGIN_FIRST_BOOT -
1BSP_EXECUTION_OP_END_FIRST_BOOT -
1CSP_EXECUTION_OP_BEGIN_OOBE_BOOT -
1DSP_EXECUTION_OP_END_OOBE_BOOT -
1ESP_EXECUTION_OP_PRE_OOBE -
1FSP_EXECUTION_OP_POST_OOBE -
20SP_EXECUTION_OP_ADD_PROVISIONING_PACKAGE -
-
- -For example: An extend code of **0x4000D**, represents a problem during phase 4 (**0x4**) with data migration (**000D**). - -## Windows Error Reporting - -When Windows Setup fails, the result and extend code are recorded as an informational event in the Application log by Windows Error Reporting as event 1001. The event name is **WinSetupDiag02**. You can use Event Viewer to review this event, or you can use Windows PowerShell. - -To use Windows PowerShell, type the following commands from an elevated Windows PowerShell prompt: - -``` -$events = Get-WinEvent -FilterHashtable @{LogName="Application";ID="1001";Data="WinSetupDiag02"} -$event = [xml]$events[0].ToXml() -$event.Event.EventData.Data -``` - -To use Event Viewer: -1. Open Event Viewer and navigate to **Windows Logs\Application**. -2. Click **Find**, and then search for **winsetupdiag02**. -3. Double-click the event that is highlighted. - -Note: For legacy operating systems, the Event Name was WinSetupDiag01. - -Ten parameters are listed in the event: -
- - - - - - - - - - - -
P1: The Setup Scenario (1=Media,5=WindowsUpdate,7=Media Creation Tool)
P2: Setup Mode (x=default,1=Downlevel,5=Rollback)
P3: New OS Architecture (x=default,0=X86,9=AMD64)
P4: Install Result (x=default,0=Success,1=Failure,2=Cancel,3=Blocked)
P5: Result Error Code (Ex: 0xc1900101)
P6: Extend Error Code (Ex: 0x20017)
P7: Source OS build (Ex: 9600)
P8: Source OS branch (not typically available)
P9: New OS build (Ex: 16299}
P10: New OS branch (Ex: rs3_release}
- -The event will also contain links to log files that can be used to perform a detailed diagnosis of the error. An example of this event from a successful upgrade is shown below. - -![Windows Error Reporting](../images/event.png) - -## Log files - -Several log files are created during each phase of the upgrade process. These log files are essential for troubleshooting upgrade problems. By default, the folders that contain these log files are hidden on the upgrade target computer. To view the log files, configure Windows Explorer to view hidden items, or use a tool to automatically gather these logs. The most useful log is **setupact.log**. The log files are located in a different folder depending on the Windows Setup phase. Recall that you can determine the phase from the extend code. - -Note: Also see the [Windows Error Reporting](#windows-error-reporting) section in this document for help locating error codes and log files. - -The following table describes some log files and how to use them for troubleshooting purposes:
- -
- - - - - - - - - - - - - - - - -
Log filePhase: LocationDescriptionWhen to use
setupact.logDown-Level:
$Windows.~BT\Sources\Panther
Contains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
This is the most important log for diagnosing setup issues.
OOBE:
$Windows.~BT\Sources\Panther\UnattendGC
Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.
Rollback:
$Windows.~BT\Sources\Rollback
Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101.
Pre-initialization (prior to downlevel):
Windows
Contains information about initializing setup.If setup fails to launch.
Post-upgrade (after OOBE):
Windows\Panther
Contains information about setup actions during the installation.Investigate post-upgrade related issues.
setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase.
miglog.xmlPost-upgrade (after OOBE):
Windows\Panther
Contains information about what was migrated during the installation.Identify post upgrade data migration issues.
BlueBox.logDown-Level:
Windows\Logs\Mosetup
Contains information communication between setup.exe and Windows Update.Use during WSUS and WU down-level failures or for 0xC1900107.
Supplemental rollback logs:
-Setupmem.dmp
-setupapi.dev.log
-Event logs (*.evtx)
$Windows.~BT\Sources\RollbackAdditional logs collected during rollback. -Setupmem.dmp: If OS bugchecks during upgrade, setup will attempt to extract a mini-dump.
-Setupapi: Device install issues - 0x30018
-Event logs: Generic rollbacks (0xC1900101) or unexpected reboots.
- -### Log entry structure - -A setupact.log or setuperr.log entry includes the following elements: - -
    -
  1. The date and time - 2016-09-08 09:20:05. -
  2. The log level - Info, Warning, Error, Fatal Error. -
  3. The logging component - CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS. -
      -
    • The logging components SP (setup platform), MIG (migration engine), and CONX (compatibility information) are particularly useful for troubleshooting Windows Setup errors. -
    -
  4. The message - Operation completed successfully. -
- -See the following example: - -| Date/Time | Log level | Component | Message | -|------|------------|------------|------------| -|2016-09-08 09:23:50,| Warning | MIG | Could not replace object C:\Users\name\Cookies. Target Object cannot be removed.| - - -### Analyze log files - ->The following instructions are meant for IT professionals. Also see the [Upgrade error codes](#upgrade-error-codes) section in this guide to familiarize yourself with [result codes](#result-codes) and [extend codes](#extend-codes). - -
To analyze Windows Setup log files: - -
    -
  1. Determine the Windows Setup error code. This code should be returned by Windows Setup if it is not successful with the upgrade process. -
  2. Based on the [extend code](#extend-codes) portion of the error code, determine the type and location of a [log files](#log-files) to investigate. -
  3. Open the log file in a text editor, such as notepad. -
  4. Using the [result code](#result-codes) portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. Alternatively search for the "abort" and abandoning" text strings described in step 7 below. -
  5. To find the last occurrence of the result code: -
      -
    1. Scroll to the bottom of the file and click after the last character. -
    2. Click Edit. -
    3. Click Find. -
    4. Type the result code. -
    5. Under Direction select Up. -
    6. Click Find Next. -
    -
  6. When you have located the last occurrence of the result code, scroll up a few lines from this location in the file and review the processes that failed just prior to generating the result code. -
  7. Search for the following important text strings: -
      -
    • Shell application requested abort -
    • Abandoning apply due to error for object -
    -
  8. Decode Win32 errors that appear in this section. -
  9. Write down the timestamp for the observed errors in this section. -
  10. Search other log files for additional information matching these timestamps or errors. -
- -For example, assume that the error code for an error is 0x8007042B - 0x2000D. Searching for "8007042B" reveals the following content from the setuperr.log file: - ->Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-10-05 15:27:08) is shortened to minutes and seconds, and the certificate file name which is a long text string is shortened to just "CN." - -
setuperr.log content: - -
-27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
-27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
-27:08, Error                  Gather failed. Last error: 0x00000000
-27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
-27:09, Error           SP     CMigrateFramework: Gather framework failed. Status: 44
-27:09, Error           SP     Operation failed: Migrate framework (Full). Error: 0x8007042B[gle=0x000000b7]
-27:09, Error           SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
-27:09, Error           SP     CSetupPlatformPrivate::Execute: Execution of operations queue failed, abandoning. Error: 0x8007042B[gle=0x000000b7]
-
- -The first line indicates there was an error **0x00000570** with the file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]** (shown below): - -
-27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
-
- -The error 0x00000570 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: ERROR_FILE_CORRUPT: The file or directory is corrupted and unreadable. - -Therefore, Windows Setup failed because it was not able to migrate the corrupt file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN]**. This file is a local system certificate and can be safely deleted. Searching the setupact.log file for additional details, the phrase "Shell application requested abort" is found in a location with the same timestamp as the lines in setuperr.log. This confirms our suspicion that this file is the cause of the upgrade failure: - -
setupact.log content: - -
-27:00, Info                   Gather started at 10/5/2016 23:27:00
-27:00, Info [0x080489] MIG    Setting system object filter context (System)
-27:00, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
-27:00, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
-27:00, Info            SP     ExecuteProgress: Elapsed events:1 of 4, Percent: 12
-27:00, Info [0x0802c6] MIG    Processing GATHER for migration unit: \UpgradeFramework (CMXEAgent)
-27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
-27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
-27:08, Info            SP     ExecuteProgress: Elapsed events:2 of 4, Percent: 25
-27:08, Info            SP     ExecuteProgress: Elapsed events:3 of 4, Percent: 37
-27:08, Info [0x080489] MIG    Setting system object filter context (System)
-27:08, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
-27:08, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
-27:08, Info            MIG    COutOfProcPluginFactory::FreeSurrogateHost: Shutdown in progress.
-27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost::CommandLine: -shortened-
-27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost: Successfully launched host and got control object.
-27:08, Error                  Gather failed. Last error: 0x00000000
-27:08, Info                   Gather ended at 10/5/2016 23:27:08 with result 44
-27:08, Info                   Leaving MigGather method
-27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
-
- - -
This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. - -## Resolution procedures - -### 0xC1900101 - -A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
- -- The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, -- Event logs: $Windows.~bt\Sources\Rollback\*.evtx -- The device install log: $Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log - -The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, try running setup using a minimal set of drivers and startup programs by performing a [clean boot](https://support.microsoft.com/en-us/kb/929135) before initiating the upgrade process. - -
See the following general troubleshooting procedures associated with a result code of 0xC1900101: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
Code -
0xC1900101 - 0x20004 -
- -
-
Cause -
Windows Setup encountered an error during the SAFE_OS with the INSTALL_RECOVERY_ENVIRONMENT operation -
This is generally caused by out-of-date drivers. -
-
- - -
Mitigation -
Uninstall antivirus applications. -
Remove all unused SATA devices. -
Remove all unused devices and drivers. -
Update drivers and BIOS. -
-
- - -
Code -
0xC1900101 - 0x2000c -
- -
-
Cause -
Windows Setup encountered an unspecified error during Wim apply in the WinPE phase. -
This is generally caused by out-of-date drivers. -
-
- - -
Mitigation -
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. -
Contact your hardware vendor to obtain updated device drivers. -
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. -
-
- - -
Code -
0xC1900101 - 0x20017 - -
- -
-
Cause -
A driver has caused an illegal operation. -
Windows was not able to migrate the driver, resulting in a rollback of the operating system. -
This is a SafeOS boot failure, typically caused by drivers or non-Microsoft disk encryption software. -
-
- - -
Mitigation -
-Ensure that all that drivers are updated.
-Open the Setuperr.log and Setupact.log files in the %windir%\Panther directory, and then locate the problem drivers. -
For more information, see [Understanding Failures and Log Files](https://technet.microsoft.com/en-us/library/ee851579.aspx). -
Update or uninstall the problem drivers. -
-
- - -
Code -
0xC1900101 - 0x30018 -
- -
-
Cause -
A device driver has stopped responding to setup.exe during the upgrade process. -
-
- - -
Mitigation -
-Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. -
Contact your hardware vendor to obtain updated device drivers. -
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. -
-
- - -
Code -
0xC1900101 - 0x3000D -
- -
-
Cause -
Installation failed during the FIRST_BOOT phase while attempting the MIGRATE_DATA operation. -
This can occur due to a problem with a display driver. - -
-
- - -
Mitigation -
-Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. -
Update or uninstall the display driver. -
-
- - -
Code -
0xC1900101 - 0x4000D -
- -
-
Cause -
A rollback occurred due to a driver configuration issue. -
Installation failed during the second boot phase while attempting the MIGRATE_DATA operation. - -
This can occur due to incompatible drivers. - -
-
- - -
Mitigation -
-
Check supplemental rollback logs for a setupmem.dmp file, or event logs for any unexpected reboots or errors. -
Review the rollback log and determine the stop code. -
The rollback log is located in the **C:\$Windows.~BT\Sources\Panther** folder. An example analysis is shown below. This example is not representative of all cases: -
Info SP Crash 0x0000007E detected -
Info SP Module name : -
Info SP Bugcheck parameter 1 : 0xFFFFFFFFC0000005 -
Info SP Bugcheck parameter 2 : 0xFFFFF8015BC0036A -
Info SP Bugcheck parameter 3 : 0xFFFFD000E5D23728 -
Info SP Bugcheck parameter 4 : 0xFFFFD000E5D22F40 -
Info SP Cannot recover the system. -
Info SP Rollback: Showing splash window with restoring text: Restoring your previous version of Windows. - - -
Typically, there is a dump file for the crash to analyze. If you are not equipped to debug the dump, then attempt the following basic troubleshooting procedures:
- -1. Make sure you have enough disk space.
-2. If a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.
-3. Try changing video adapters.
-4. Check with your hardware vendor for any BIOS updates.
-5. Disable BIOS memory options such as caching or shadowing. -

-
-
- - -
Code -
0xC1900101 - 0x40017 -
- -
-
Cause -
Windows 10 upgrade failed after the second reboot. -
This is usually caused by a faulty driver. For example: antivirus filter drivers or encryption drivers. -
-
- - -
Mitigation -
Clean boot into Windows, and then attempt the upgrade to Windows 10.
- -For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135). - -

Ensure you select the option to "Download and install updates (recommended)." -
-
- -

0x800xxxxx

- -
Result codes starting with the digits 0x800 are also important to understand. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly. - -
See the following general troubleshooting procedures associated with a result code of 0x800xxxxx:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
Code -
- -80040005 - 0x20007 - -
- -
-
Cause -
- -An unspecified error occurred with a driver during the SafeOS phase. - -
-
- - -
Mitigation -
- -This error has more than one possible cause. Attempt [quick fixes](#quick-fixes), and if not successful, [analyze log files](#analyze-log-files) in order to determine the problem and solution. - -
-
- - -
Code -
- -0x80073BC3 - 0x20009
-0x8007002 - 0x20009
-0x80073B92 - 0x20009 - -
- -
-
Cause -
- -The requested system device cannot be found, there is a sharing violation, or there are multiple devices matching the identification criteria. - -
-
- - -
Mitigation -
- -These errors occur during partition analysis and validation, and can be caused by the presence of multiple system partitions. For example, if you installed a new system drive but left the previous system drive connected, this can cause a conflict. To resolve the errors, disconnect or temporarily disable drives that contain the unused system partition. You can reconnect the drive after the upgrade has completed. Alternatively, you can delete the unused system partition. - -
-
- - -
Code -
- -800704B8 - 0x3001A - -
- -
-
Cause -
- -An extended error has occurred during the first boot phase. - -
-
- - -
Mitigation -
- -Disable or uninstall non-Microsoft antivirus applications, disconnect all unnecessary devices, and perform a [clean boot](https://support.microsoft.com/en-us/kb/929135). - -
-
- - -
Code -
- -8007042B - 0x4000D - -
- -
-
Cause -
- -The installation failed during the second boot phase while attempting the MIGRATE_DATA operation. -
This issue can occur due to file system, application, or driver issues. - -
-
- - -
Mitigation -
- -[Analyze log files](#analyze-log-files) in order to determine the file, application, or driver that is not able to be migrated. Disconnect, update, remove, or replace the device or object. - -
-
- - -
Code -
- -8007001F - 0x3000D - -
- -
-
Cause -
- -The installation failed in the FIRST_BOOT phase with an error during MIGRATE_DATA operation. - -
-
- - -
Mitigation -
- -[Analyze log files](#analyze-log-files) in order to determine the files or registry entries that are blocking data migration. - -This error can be due to a problem with user profiles. It can occur due to corrupt registry entries under **HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList** or invalid files in the **\\Users** directory. - -Note: If a previous upgrade did not complete, invalid profiles might exist in the **Windows.old\\Users** directory. - -To repair this error, ensure that deleted accounts are not still present in the Windows registry and that files under the \\Users directory are valid. Delete the invalid files or user profiles that are causing this error. The specific files and profiles that are causing the error will be recorded in the Windows setup log files. - -
-
- - -
Code -
- -8007001F - 0x4000D - -
- -
-
Cause -
- -General failure, a device attached to the system is not functioning. - -
-
- - -
Mitigation -
- -[Analyze log files](#analyze-log-files) in order to determine the device that is not functioning properly. Disconnect, update, or replace the device. - -
-
- - -
Code -
- -8007042B - 0x4001E - -
- -
-
Cause -
- -The installation failed during the second boot phase while attempting the PRE_OOBE operation. - -
-
- - -
Mitigation -
- -This error has more than one possible cause. Attempt [quick fixes](#quick-fixes), and if not successful, [analyze log files](#analyze-log-files) in order to determine the problem and solution. - -
-
- - -### Other result codes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Error code -Cause -Mitigation -
0xC1800118WSUS has downloaded content that it cannot use due to a missing decryption key.See [Steps to resolve error 0xC1800118](https://blogs.technet.microsoft.com/wsus/2016/09/21/resolving-error-0xc1800118/) for information.
0xC1900200Setup.exe has detected that the machine does not meet the minimum system requirements.Ensure the system you are trying to upgrade meets the minimum system requirements.
See [Windows 10 specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) for information.
0x80090011A device driver error occurred during user data migration.Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process. -
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0xC7700112Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk.This issue is resolved in the latest version of Upgrade Assistant. -
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0x80190001An unexpected error was encountered while attempting to download files required for upgrade.To resolve this issue, download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). -
0x80246007The update was not downloaded successfully.Attempt other methods of upgrading the operating system.
-Download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). -
Attempt to upgrade using .ISO or USB.
-**Note**: Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the [Volume Licensing Service Center](https://www.microsoft.com/licensing/servicecenter/default.aspx). -
0xC1900201The system did not pass the minimum requirements to install the update.Contact the hardware vendor to get the latest updates.
0x80240017The upgrade is unavailable for this edition of Windows.Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.
0x80070020The existing process cannot access the file because it is being used by another process.Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135).
0x80070522The user doesn’t have required privilege or credentials to upgrade.Ensure that you have signed in as a local administrator or have local administrator privileges.
0xC1900107A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade. -Reboot the device and run setup again. If restarting device does not resolve the issue, then use the Disk Cleanup utility and cleanup the temporary as well as the System files. For more information, see [Disk cleanup in Windows 10](https://support.microsoft.com/en-us/instantanswers/8fef4121-711b-4be1-996f-99e02c7301c2/disk-cleanup-in-windows-10).
0xC1900209The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications.Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See [Windows 10 Pre-Upgrade Validation using SETUP.EXE](https://blogs.technet.microsoft.com/mniehaus/2015/08/23/windows-10-pre-upgrade-validation-using-setup-exe/) for more information. - -
You can also download the [Windows Assessment and Deployment Kit (ADK) for Windows 10](http://go.microsoft.com/fwlink/p/?LinkId=526740) and install Application Compatibility Tools. -
0x8007002 This error is specific to upgrades using System Center Configuration Manager 2012 R2 SP1 CU3 (5.00.8238.1403)Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760) - -
The error 80072efe means that the connection with the server was terminated abnormally. - -
To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN. -
0x80240FFF Occurs when update synchronization fails. It can occur when you are using Windows Server Update Services on its own or when it is integrated with System Center Configuration Manager. If you enable update synchronization before you install hotfix 3095113, WSUS doesn't recognize the Upgrades classification and instead treats the upgrade like a regular update. You can prevent this by installing hotfix 3095113 before you enable update synchronization. However, if you have already run into this problem, do the following: - -
    -
  1. Disable the Upgrades classification.
  2. -
  3. Install hotfix 3095113.
  4. -
  5. Delete previously synched updates.
  6. -
  7. Enable the Upgrades classification.
  8. -
  9. Perform a full synch.
  10. -
-
For detailed information on how to run these steps check out How to delete upgrades in WSUS.

-
0x8007007EOccurs when update synchronization fails because you do not have hotfix 3095113 installed before you enable update synchronization. Specifically, the CopyToCache operation fails on clients that have already downloaded the upgrade because Windows Server Update Services has bad metadata related to the upgrade. It can occur when you are using standalone Windows Server Update Services or when WSUS is integrated with System Center Configuration Manager. Use the following steps to repair Windows Server Update Services. You must run these steps on each WSUS server that synched metadata before you installed the hotfix. - -
    -
  1. Stop the Windows Update service. Sign in as a user with administrative privileges, and then do the following: -
      -
    1. Open Administrative Tools from the Control Panel.
    2. -
    3. Double-click Services.
    4. -
    5. Find the Windows Update service, right-click it, and then click Stop. If prompted, enter your credentials.
    6. -
    -
  2. -
  3. Delete all files and folders under c:\Windows\SoftwareDistribution\DataStore.
  4. -
  5. Restart the Windows Update service.
  6. -
-
- -### Other error codes - - - - - - - - - - - - - - - -
Error CodesCauseMitigation
0x80070003- 0x20007 -This is a failure during SafeOS phase driver installation. - -[Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](#analyze-log-files) to determine the problem driver. -
0x8007025D - 0x2000C -This error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. - -Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). - -
0x80070490 - 0x20007An incompatible device driver is present. - -[Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](#analyze-log-files) to determine the problem driver. - -
0xC1900101 - 0x2000c -An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption. -Run checkdisk to repair the file system. For more information, see the [quick fixes](#quick-fixes) section in this guide. -
Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
0xC1900200 - 0x20008 - -The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. - -See [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) and verify the computer meets minimum requirements. - -
Review logs for [compatibility information](https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/).
0x80070004 - 0x3000D -This is a problem with data migration during the first boot phase. There are multiple possible causes. - -[Analyze log files](#analyze-log-files) to determine the issue.
0xC1900101 - 0x4001E -Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. -This is a generic error that occurs during the OOBE phase of setup. See the [0xC1900101](#0xc1900101) section of this guide and review general troubleshooting procedures described in that section.
0x80070005 - 0x4000D -The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data. -[Analyze log files](#analyze-log-files) to determine the data point that is reporting access denied.
0x80070004 - 0x50012 -Windows Setup failed to open a file. -[Analyze log files](#analyze-log-files) to determine the data point that is reporting access problems.
0xC190020e -
0x80070070 - 0x50011 -
0x80070070 - 0x50012 -
0x80070070 - 0x60000 -
These errors indicate the computer does not have enough free space available to install the upgrade. -To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to [free up drive space](https://support.microsoft.com/en-us/help/17421/windows-free-up-drive-space) before proceeding with the upgrade. - -
Note: If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. -
- - - +This topic contains a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. + +The topic was originally one page, but has been divided into sub-topics of different technical levels. Basic level provides common procedures that can resolve several types of upgrade errors. Advanced level requires some experience with detailed troubleshooting methods. + +The following four levels are assigned: + +Level 100: Basic
+Level 200: Moderate
+Level 300: Moderate advanced
+Level 400: Advanced
+ +## In this guide + +See the following topics: + +- [Quick fixes](quick-fixes.md): \Level 100\ Steps you can take to eliminate many Windows upgrade errors.
+- [SetupDiag](setupdiag.md): \Level 300\ SetupDiag is a new tool to help you isolate the root cause of an upgrade failure. +- [Troubleshooting upgrade errors](troubleshoot-upgrade-errors.md): \Level 300\ General advice and techniques for troubleshooting Windows 10 upgrade errors, and an explanation of phases used during the upgrade process.
+- [Windows Error Reporting](windows-error-reporting.md): \Level 300\ How to use Event Viewer to review details about a Windows 10 upgrade. +- [Upgrade error codes](upgrade-error-codes.md): \Level 400\ The components of an error code are explained. + - [Result codes](upgrade-error-codes.md#result-codes): Information about result codes. + - [Extend codes](upgrade-error-codes.md#extend-codes): Information about extend codes. +- [Log files](log-files.md): \Level 400\ A list and description of log files useful for troubleshooting. + - [Log entry structure](log-files.md#log-entry-structure): The format of a log entry is described. + - [Analyze log files](log-files.md#analyze-log-files): General procedures for log file analysis, and an example. +- [Resolution procedures](resolution-procedures.md): \Level 200\ Causes and mitigation procedures associated with specific error codes. + - [0xC1900101](resolution-procedures.md#0xc1900101): Information about the 0xC1900101 result code. + - [0x800xxxxx](resolution-procedures.md#0x800xxxxx): Information about result codes that start with 0x800. + - [Other result codes](resolution-procedures.md#other-result-codes): Additional causes and mitigation procedures are provided for some result codes. + - [Other error codes](resolution-procedures.md#other-error-codes): Additional causes and mitigation procedures are provided for some error codes. +- [Submit Windows 10 upgrade errors](submit-errors.md): \Level 100\ Submit upgrade errors to Microsoft for analysis. ## Related topics diff --git a/windows/deployment/upgrade/setupdiag.md b/windows/deployment/upgrade/setupdiag.md index 71f47196cb..a460f3c8b5 100644 --- a/windows/deployment/upgrade/setupdiag.md +++ b/windows/deployment/upgrade/setupdiag.md @@ -16,6 +16,10 @@ ms.localizationpriority: high **Applies to** - Windows 10 +>[!NOTE] +>This is a 300 level topic (moderate advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + [SetupDiag.exe](https://go.microsoft.com/fwlink/?linkid=870142) is a standalone diagnostic tool that can be used to obtain details about why a Windows 10 upgrade was unsuccessful. SetupDiag works by examining Windows Setup log files. It attempts to parse these log files to determine the root cause of a failure to update or upgrade the computer to Windows 10. SetupDiag can be run on the computer that failed to update, or you can export logs from the computer to another location and run SetupDiag in offline mode. diff --git a/windows/deployment/upgrade/submit-errors.md b/windows/deployment/upgrade/submit-errors.md index 01a1e06134..32eddd5c45 100644 --- a/windows/deployment/upgrade/submit-errors.md +++ b/windows/deployment/upgrade/submit-errors.md @@ -16,6 +16,10 @@ ms.localizationpriority: high **Applies to** - Windows 10 +>[!NOTE] +>This is a 100 level topic (basic).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + ## In this topic This topic describes how to submit problems with a Windows 10 upgrade to Microsoft using the Windows 10 Feedback Hub. diff --git a/windows/deployment/upgrade/troubleshoot-upgrade-errors.md b/windows/deployment/upgrade/troubleshoot-upgrade-errors.md new file mode 100644 index 0000000000..a7f5d26c91 --- /dev/null +++ b/windows/deployment/upgrade/troubleshoot-upgrade-errors.md @@ -0,0 +1,91 @@ +--- +title: Troubleshoot Windows 10 upgrade errors - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Troubleshooting upgrade errors + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 300 level topic (moderately advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + +If a Windows 10 upgrade is not successful, it can be very helpful to understand *when* an error occurred in the upgrade process. + +Briefly, the upgrade process consists of four phases: **Downlevel**, **SafeOS**, **First boot**, and **Second boot**. The computer will reboot once between each phase. + +These phases are explained in greater detail [below](#the-windows-10-upgrade-process). First, let's summarize the actions performed during each phase because this affects the type of errors that can be encountered. + +1. **Downlevel phase**: Because this phase runs on the source OS, upgrade errors are not typically seen. If you do encounter an error, ensure the source OS is stable. Also ensure the Windows setup source and the destination drive are accessible. + +2. **SafeOS phase**: Errors most commonly occur during this phase due to hardware issues, firmware issues, or non-microsoft disk encryption software. + + Since the computer is booted into Windows PE during the SafeOS phase, a useful troubleshooting technique is to boot into [Windows PE](https://docs.microsoft.com/windows-hardware/manufacture/desktop/winpe-intro) using installation media. You can use the [media creation tool](https://www.microsoft.com/software-download/windows10) to create bootable media, or you can use tools such as the [Windows ADK](https://developer.microsoft.com/windows/hardware/windows-assessment-deployment-kit), and then boot your device from this media to test for hardware and firmware compatibility issues. + + **Do not proceed with the Windows 10 installation after booting from this media**. This method can only be used to perform a clean install which will not migrate any of your apps and settings, and you will be required re-enter your Windows 10 license information. + + If the computer does not successfully boot into Windows PE using the media that you created, this is likely due to a hardware or firmware issue. Check with your hardware manufacturer and apply any recommended BIOS and firmware updates. If you are still unable to boot to installation media after applying updates, disconnect or replace legacy hardware. + + If the computer successfully boots into Windows PE, but you are not able to browse the system drive on the computer, it is possible that non-Microsoft disk encryption software is blocking your ability to perform a Windows 10 upgrade. Update or temporarily remove the disk encryption. + +3. **First boot phase**: Boot failures in this phase are relatively rare, and almost exclusively caused by device drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, then retry the upgrade. + +4. **Second boot phase**: In this phase, the system is running under the target OS with new drivers. Boot failures are most commonly due to anti-virus software or filter drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, temporarily uninstall anti-virus software, then retry the upgrade. + +If the general troubleshooting techniques described above or the [quick fixes](quick-fixes.md) detailed below do not resolve your issue, you can attempt to analyze [log files](log-files.md) and interpret [upgrade error codes](upgrade-error-codes.md). You can also [Submit Windows 10 upgrade errors using Feedback Hub](submit-errors.md) so that Microsoft can diagnose your issue. + +## The Windows 10 upgrade process + +The **Windows Setup** application is used to upgrade a computer to Windows 10, or to perform a clean installation. Windows Setup starts and restarts the computer, gathers information, copies files, and creates or adjusts configuration settings. + +When performing an operating system upgrade, Windows Setup uses phases described below. A reboot occurs between each of the phases. After the first reboot, the user interface will remain the same until the upgrade is completed. Percent progress is displayed and will advance as you move through each phase, reaching 100% at the end of the second boot phase. + +1. **Downlevel phase**: The downlevel phase is run within the previous operating system. Windows files are copied and installation components are gathered. + + ![downlevel phase](../images/downlevel.png) + +2. **Safe OS phase**: A recovery partition is configured, Windows files are expanded, and updates are installed. An OS rollback is prepared if needed. Example error codes: 0x2000C, 0x20017. + + ![safeOS phase](../images/safeos.png) + +3. **First boot phase**: Initial settings are applied. Example error codes: 0x30018, 0x3000D. + + ![first boot phase](../images/firstboot.png) + +4. **Second boot phase**: Final settings are applied. This is also called the **OOBE boot phase**. Example error codes: 0x4000D, 0x40017. + + At the end of the second boot phase, the **Welcome to Windows 10** screen is displayed, preferences are configured, and the Windows 10 sign-in prompt is displayed. + + ![second boot phase](../images/secondboot.png) + + ![second boot phase](../images/secondboot2.png) + + ![second boot phase](../images/secondboot3.png) + +5. **Uninstall phase**: This phase occurs if upgrade is unsuccessful (image not shown). Example error codes: 0x50000, 0x50015. + +**Figure 1**: Phases of a successful Windows 10 upgrade (uninstall is not shown): + +![Upgrade process](../images/upgrade-process.png) + +DU = Driver/device updates.
+OOBE = Out of box experience.
+WIM = Windows image (Microsoft) + +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) diff --git a/windows/deployment/upgrade/upgrade-error-codes.md b/windows/deployment/upgrade/upgrade-error-codes.md new file mode 100644 index 0000000000..cdd4fe37c9 --- /dev/null +++ b/windows/deployment/upgrade/upgrade-error-codes.md @@ -0,0 +1,144 @@ +--- +title: Upgrade error codes - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Upgrade error codes + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 400 level topic (advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + + +If the upgrade process is not successful, Windows Setup will return two codes: + +1. **A result code**: The result code corresponds to a specific Win32 or NTSTATUS error. +2. **An extend code**: The extend code contains information about both the *phase* in which an error occurred, and the *operation* that was being performed when the error occurred. + +>For example, a result code of **0xC1900101** with an extend code of **0x4000D** will be returned as: **0xC1900101 - 0x4000D**. + +Note: If only a result code is returned, this can be because a tool is being used that was not able to capture the extend code. For example, if you are using the [Windows 10 Upgrade Assistant](https://support.microsoft.com/en-us/kb/3159635) then only a result code might be returned. + +>[!TIP] +>If you are unable to locate the result and extend error codes, you can attempt to find these codes using Event Viewer. For more information, see [Windows Error Reporting](windows-error-reporting.md). + +## Result codes + +>A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Resolution procedures](resolution-procedures.md) section later in this article. + +Result codes can be matched to the type of error encountered. To match a result code to an error: + +1. Identify the error code type as either Win32 or NTSTATUS using the first hexadecimal digit: +
**8** = Win32 error code (ex: 0x**8**0070070) +
**C** = NTSTATUS value (ex: 0x**C**1900107) +2. Write down the last 4 digits of the error code (ex: 0x8007**0070** = 0070). These digits are the actual error code type as defined in the [HRESULT](https://msdn.microsoft.com/en-us/library/cc231198.aspx) or the [NTSTATUS](https://msdn.microsoft.com/en-us/library/cc231200.aspx) structure. Other digits in the code identify things such as the device type that produced the error. +3. Based on the type of error code determined in the first step (Win32 or NTSTATUS), match the 4 digits derived from the second step to either a Win32 error code or NTSTATUS value using the following links: + - [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) + - [NTSTATUS value](https://msdn.microsoft.com/en-us/library/cc704588.aspx) + +Examples: +- 0x80070070 + - Based on the "8" this is a Win32 error code + - The last four digits are 0070, so look up 0x00000070 in the [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) table + - The error is: **ERROR_DISK_FULL** +- 0xC1900107 + - Based on the "C" this is an NTSTATUS error code + - The last four digits are 0107, so look up 0x00000107 in the [NTSTATUS value](https://msdn.microsoft.com/en-us/library/cc704588.aspx) table + - The error is: **STATUS_SOME_NOT_MAPPED** + +Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more ambiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot. + +## Extend codes + +>**Important**: Extend codes reflect the current Windows 10 upgrade process, and might change in future releases of Windows 10. The codes discussed in this section apply to Windows 10 version 1607, also known as the Anniversary Update. + +Extend codes can be matched to the phase and operation when an error occurred. To match an extend code to the phase and operation: + +1. Use the first digit to identify the phase (ex: 0x4000D = 4). +2. Use the last two digits to identify the operation (ex: 0x4000D = 0D). +3. Match the phase and operation to values in the tables provided below. + +The following tables provide the corresponding phase and operation for values of an extend code: + +
+ + + +
Extend code: phase
HexPhase +
0SP_EXECUTION_UNKNOWN +
1SP_EXECUTION_DOWNLEVEL +
2SP_EXECUTION_SAFE_OS +
3SP_EXECUTION_FIRST_BOOT +
4SP_EXECUTION_OOBE_BOOT +
5SP_EXECUTION_UNINSTALL +
+ + + + + + + +
Extend code: operation
+ +
HexOperation +
0SP_EXECUTION_OP_UNKNOWN +
1SP_EXECUTION_OP_COPY_PAYLOAD +
2SP_EXECUTION_OP_DOWNLOAD_UPDATES +
3SP_EXECUTION_OP_INSTALL_UPDATES +
4SP_EXECUTION_OP_INSTALL_RECOVERY_ENVIRONMENT +
5SP_EXECUTION_OP_INSTALL_RECOVERY_IMAGE +
6SP_EXECUTION_OP_REPLICATE_OC +
7SP_EXECUTION_OP_INSTALL_DRVIERS +
8SP_EXECUTION_OP_PREPARE_SAFE_OS +
9SP_EXECUTION_OP_PREPARE_ROLLBACK +
ASP_EXECUTION_OP_PREPARE_FIRST_BOOT +
BSP_EXECUTION_OP_PREPARE_OOBE_BOOT +
CSP_EXECUTION_OP_APPLY_IMAGE +
DSP_EXECUTION_OP_MIGRATE_DATA +
ESP_EXECUTION_OP_SET_PRODUCT_KEY +
FSP_EXECUTION_OP_ADD_UNATTEND +
+
+ +
HexOperation +
10SP_EXECUTION_OP_ADD_DRIVER +
11SP_EXECUTION_OP_ENABLE_FEATURE +
12SP_EXECUTION_OP_DISABLE_FEATURE +
13SP_EXECUTION_OP_REGISTER_ASYNC_PROCESS +
14SP_EXECUTION_OP_REGISTER_SYNC_PROCESS +
15SP_EXECUTION_OP_CREATE_FILE +
16SP_EXECUTION_OP_CREATE_REGISTRY +
17SP_EXECUTION_OP_BOOT +
18SP_EXECUTION_OP_SYSPREP +
19SP_EXECUTION_OP_OOBE +
1ASP_EXECUTION_OP_BEGIN_FIRST_BOOT +
1BSP_EXECUTION_OP_END_FIRST_BOOT +
1CSP_EXECUTION_OP_BEGIN_OOBE_BOOT +
1DSP_EXECUTION_OP_END_OOBE_BOOT +
1ESP_EXECUTION_OP_PRE_OOBE +
1FSP_EXECUTION_OP_POST_OOBE +
20SP_EXECUTION_OP_ADD_PROVISIONING_PACKAGE +
+
+ +For example: An extend code of **0x4000D**, represents a problem during phase 4 (**0x4**) with data migration (**000D**). + +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) diff --git a/windows/deployment/upgrade/windows-error-reporting.md b/windows/deployment/upgrade/windows-error-reporting.md new file mode 100644 index 0000000000..e8c3251320 --- /dev/null +++ b/windows/deployment/upgrade/windows-error-reporting.md @@ -0,0 +1,66 @@ +--- +title: Windows error reporting - Windows IT Pro +description: Resolve Windows 10 upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback, ITPro +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.date: 03/30/2018 +ms.localizationpriority: high +--- + +# Windows error reporting + +**Applies to** +- Windows 10 + +>[!NOTE] +>This is a 300 level topic (moderately advanced).
+>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. + + +When Windows Setup fails, the result and extend code are recorded as an informational event in the Application log by Windows Error Reporting as event 1001. The event name is **WinSetupDiag02**. You can use Event Viewer to review this event, or you can use Windows PowerShell. + +To use Windows PowerShell, type the following commands from an elevated Windows PowerShell prompt: + +``` +$events = Get-WinEvent -FilterHashtable @{LogName="Application";ID="1001";Data="WinSetupDiag02"} +$event = [xml]$events[0].ToXml() +$event.Event.EventData.Data +``` + +To use Event Viewer: +1. Open Event Viewer and navigate to **Windows Logs\Application**. +2. Click **Find**, and then search for **winsetupdiag02**. +3. Double-click the event that is highlighted. + +Note: For legacy operating systems, the Event Name was WinSetupDiag01. + +Ten parameters are listed in the event: +
+ + + + + + + + + + + +
P1: The Setup Scenario (1=Media,5=WindowsUpdate,7=Media Creation Tool)
P2: Setup Mode (x=default,1=Downlevel,5=Rollback)
P3: New OS Architecture (x=default,0=X86,9=AMD64)
P4: Install Result (x=default,0=Success,1=Failure,2=Cancel,3=Blocked)
P5: Result Error Code (Ex: 0xc1900101)
P6: Extend Error Code (Ex: 0x20017)
P7: Source OS build (Ex: 9600)
P8: Source OS branch (not typically available)
P9: New OS build (Ex: 16299}
P10: New OS branch (Ex: rs3_release}
+ +The event will also contain links to log files that can be used to perform a detailed diagnosis of the error. An example of this event from a successful upgrade is shown below. + +![Windows Error Reporting](../images/event.png) + +## Related topics + +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
[Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
[Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
[Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
[Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) From 58c0b04d4b3409f6ac7e8f4530ab0475842aaff8 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Sun, 1 Apr 2018 14:44:55 +0000 Subject: [PATCH 20/30] Merged PR 6806: minor typo fixing one small typo in one file. --- windows/deployment/TOC.md | 1 - windows/deployment/upgrade/resolution-procedures.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index d36561005b..94f70ce62d 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -16,7 +16,6 @@ ### [Log files](upgrade/log-files.md) ### [Resolution procedures](upgrade/resolution-procedures.md) ### [Submit Windows 10 upgrade errors](upgrade/submit-errors.md) -### [SetupDiag](upgrade/setupdiag.md) ## [Deploy Windows 10](deploy.md) diff --git a/windows/deployment/upgrade/resolution-procedures.md b/windows/deployment/upgrade/resolution-procedures.md index 713ccc1b67..ae8d50adda 100644 --- a/windows/deployment/upgrade/resolution-procedures.md +++ b/windows/deployment/upgrade/resolution-procedures.md @@ -17,7 +17,7 @@ ms.localizationpriority: high - Windows 10 >[!NOTE] ->This is a 400 level topic (advanced).
+>This is a 200 level topic (moderate).
>See [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) for a full list of topics in this article. From cc0108a8698c9d1fc41603b1d0665ae1b095bba8 Mon Sep 17 00:00:00 2001 From: nathanmcnulty Date: Sun, 1 Apr 2018 23:41:23 -0700 Subject: [PATCH 21/30] Fix typo for box 5b - Change AD FA RA to AD FS RA --- .../hello-for-business/hello-planning-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-planning-guide.md b/windows/security/identity-protection/hello-for-business/hello-planning-guide.md index 61dc742a69..880d8394b1 100644 --- a/windows/security/identity-protection/hello-for-business/hello-planning-guide.md +++ b/windows/security/identity-protection/hello-for-business/hello-planning-guide.md @@ -284,7 +284,7 @@ If box **2a** reads **GP** and box **2b** reads **modern management**, write **A | Web Server | NDES | | CEP Encryption | NDES | -If box **2a** reads **GP** and box **2b** reads **N/A**, write **AD FA RA** in box **5b** and write the following certificate template names and issuances in box **5c** on your planning worksheet. +If box **2a** reads **GP** and box **2b** reads **N/A**, write **AD FS RA** in box **5b** and write the following certificate template names and issuances in box **5c** on your planning worksheet. | Certificate Template Name | Issued To | | --- | --- | From 8a8470b40235d7d5dcdcb028a2417d7379aa9b78 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Mon, 2 Apr 2018 16:08:09 +0000 Subject: [PATCH 22/30] Merged PR 6810: Fix typo and link --- windows/application-management/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/application-management/index.md b/windows/application-management/index.md index fdd42c35b8..23490f9d99 100644 --- a/windows/application-management/index.md +++ b/windows/application-management/index.md @@ -24,8 +24,8 @@ Learn about managing applications in Windows 10 and Windows 10 Mobile clients. | [Enable or block Windows Mixed Reality apps in the enterprise](manage-windows-mixed-reality.md) | Learn how to enable or block Windows Mixed Reality apps. | |[App-V](app-v/appv-getting-started.md)| Microsoft Application Virtualization (App-V) for Windows 10 enables organizations to deliver Win32 applications to users as virtual applications| | [Service Host process refactoring](svchost-service-refactoring.md) | Changes to Service Host grouping in Windows 10 | -|[Per User services in Windows 10](sideload-apps-in-windows-10.md)| Overview of per user services and instructions for viewing and disabling them in Windows 10 and Windows 2016| +|[Per User services in Windows 10](per-user-services-in-windows.md)| Overview of per user services and instructions for viewing and disabling them in Windows 10 and Windows 2016| [Disabling System Services in Windows Server](https://docs.microsoft.com/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server) | Security guidelines for disabling services in Windows Server 2016 with Desktop Experience |[Understand apps in Windows 10](apps-in-windows-10.md)| Overview of the different apps included by default in Windows 10 Enterprise| -| [Deploy app updgrades on Windows 10 Mobile](deploy-app-upgrades-windows-10-mobile.md) | How to upgrade apps on Windows 10 Mobile | +| [Deploy app upgrades on Windows 10 Mobile](deploy-app-upgrades-windows-10-mobile.md) | How to upgrade apps on Windows 10 Mobile | [Change history for Application management](change-history-for-application-management.md) | This topic lists new and updated topics in the Application management documentation for Windows 10 and Windows 10 Mobile. From 0e1f9f5f3ac5cf7b2eade54dd2f476e23a0b6ad5 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 2 Apr 2018 09:52:10 -0700 Subject: [PATCH 23/30] fixed typos in file titles --- .../hello-for-business/hello-hybrid-key-trust-prereqs.md | 2 +- .../security/identity-protection/hello-for-business/toc.md | 2 +- ...e-group-policy-management-console-to-windows-firewall.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md index 43ce0a6db5..645efb6bee 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md @@ -1,5 +1,5 @@ --- -title: Hybrid Key trust Windows Hello for Business Prerequistes (Windows Hello for Business) +title: Hybrid Key trust Windows Hello for Business Prerequisites (Windows Hello for Business) description: Prerequisites for Hybrid Windows Hello for Business Deployments keywords: identity, PIN, biometric, Hello, passport, WHFB, hybrid, key-trust ms.prod: w10 diff --git a/windows/security/identity-protection/hello-for-business/toc.md b/windows/security/identity-protection/hello-for-business/toc.md index 86c01a544c..ae838d1fcc 100644 --- a/windows/security/identity-protection/hello-for-business/toc.md +++ b/windows/security/identity-protection/hello-for-business/toc.md @@ -22,7 +22,7 @@ #### [Sign-in and Provision](hello-hybrid-key-whfb-provision.md) ### [Hybrid Azure AD Joined Certificate Trust Deployment](hello-hybrid-cert-trust.md) -#### [Prerequistes](hello-hybrid-cert-trust-prereqs.md) +#### [Prerequisites](hello-hybrid-cert-trust-prereqs.md) #### [New Installation Baseline](hello-hybrid-cert-new-install.md) #### [Configure Azure Device Registration](hello-hybrid-cert-trust-devreg.md) #### [Configure Windows Hello for Business policy settings](hello-hybrid-cert-whfb-settings.md) diff --git a/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md b/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md index c7078281bc..04fceb336d 100644 --- a/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md +++ b/windows/security/identity-protection/windows-firewall/open-the-group-policy-management-console-to-windows-firewall.md @@ -1,5 +1,5 @@ --- -title: Open the Group Policy Management Console to Windows Defender Firewall with Advanced Security (Windows 10) +title: Open the Group Policy Management Console to Windows Defender Firewall (Windows 10) description: Open the Group Policy Management Console to Windows Defender Firewall with Advanced Security ms.assetid: 5090b2c8-e038-4905-b238-19ecf8227760 ms.prod: w10 @@ -7,10 +7,10 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security author: brianlic-msft -ms.date: 08/17/2017 +ms.date: 04/02/2017 --- -# Open the Group Policy Management Console to Windows Defender Firewall with Advanced Security +# Open the Group Policy Management Console to Windows Defender Firewall **Applies to** - Windows 10 From 59425f2b10873d33a1637ae095971bc6179f6858 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 2 Apr 2018 10:23:58 -0700 Subject: [PATCH 24/30] added link to a blog --- ...cker-by-using-mbam-as-part-of-a-windows-deploymentmbam-25.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7234d14a83..ca4cba335c 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 @@ -14,7 +14,7 @@ ms.date: 04/23/2017 # How to Enable BitLocker by Using MBAM as Part of a Windows Deployment -This topic explains how to enable BitLocker on an end user's computer by using MBAM as part of your Windows imaging and deployment process. +This topic explains how to enable BitLocker on an end user's computer by using MBAM as part of your Windows imaging and deployment process. If you see a black screen at restart (after Install phase concludes) indicating that the drive cannot be unlocked, see [Windows versions prior Windows 10 build 1511 fail to start after "Setup Windows and Configuration Manager" step when Pre-Provision BitLocker is used with Windows PE 10.0.586.0 (1511)](https://blogs.technet.microsoft.com/system_center_configuration_manager_operating_system_deployment_support_blog/2016/03/30/windows-versions-prior-windows-10-build-1511-fail-to-start-after-setup-windows-and-configuration-manager-step-when-pre-provision-bitlocker-is-used-with-windows-pe-10-0-586-0-1511/). **Prerequisites:** From 88a1db886659d0fcd3f7abc11102d46205b49f3a Mon Sep 17 00:00:00 2001 From: Marc Shepard <37675325+marcshep-msft@users.noreply.github.com> Date: Mon, 2 Apr 2018 11:38:43 -0700 Subject: [PATCH 25/30] Update upgrade-readiness-deployment-script.md Added info about new device name opt-in --- .../upgrade/upgrade-readiness-deployment-script.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/deployment/upgrade/upgrade-readiness-deployment-script.md b/windows/deployment/upgrade/upgrade-readiness-deployment-script.md index fb04dd5bf6..7b45c2ed1b 100644 --- a/windows/deployment/upgrade/upgrade-readiness-deployment-script.md +++ b/windows/deployment/upgrade/upgrade-readiness-deployment-script.md @@ -66,7 +66,7 @@ To run the Upgrade Readiness deployment script: > > *IEOptInLevel = 3 Data collection is enabled for all sites* -4. The latest version (03.02.17) of the deployment script is configured to collect and send diagnostic and debugging data to Microsoft. If you wish to disable sending diagnostic and debugging data to Microsoft, set **AppInsightsOptIn = false**. By default, **AppInsightsOptIn** is set to **true**. +4. A recent version (03.02.17) of the deployment script is configured to collect and send diagnostic and debugging data to Microsoft. If you wish to disable sending diagnostic and debugging data to Microsoft, set **AppInsightsOptIn = false**. By default, **AppInsightsOptIn** is set to **true**. The data that is sent is the same data that is collected in the text log file that captures the events and error codes while running the script. This file is named in the following format: **UA_yyyy_mm_dd_hh_mm_ss_machineID.txt**. Log files are created in the drive that is specified in the RunConfig.bat file. By default this is set to: **%SystemDrive%\UADiagnostics**. @@ -75,7 +75,9 @@ To run the Upgrade Readiness deployment script: \*vortex\*.data.microsoft.com
\*settings\*.data.microsoft.com -5. After you finish editing the parameters in RunConfig.bat, you are ready to run the script. If you are using the Pilot version, run RunConfig.bat from an elevated command prompt. If you are using the Deployment version, use ConfigMgr or other software deployment service to run RunConfig.bat as system. +5. The latest version (03.28.2018) of the deployment script configures insider builds to continue to send the device name to the diagnostic data management service and the analytics portal. If you do not want to have insider builds send the device name sent to analytics and be available in the analytics portal, set **DeviceNAmeOptIn = false**. By default it is true, which preserves the behavior on previous versions of Windows. This setting only applies to insider builds. Note that the device name is also sent to AppInsights, so to ensure the device name is not sent to either place you would need to also set **AppInsightsOptIn = false**. + +6. After you finish editing the parameters in RunConfig.bat, you are ready to run the script. If you are using the Pilot version, run RunConfig.bat from an elevated command prompt. If you are using the Deployment version, use ConfigMgr or other software deployment service to run RunConfig.bat as system. ## Exit codes From 65131058015247c7c7043bda6754752fcc78da37 Mon Sep 17 00:00:00 2001 From: robsize <38013135+robsize@users.noreply.github.com> Date: Mon, 2 Apr 2018 11:48:35 -0700 Subject: [PATCH 26/30] Update configure-windows-diagnostic-data-in-your-organization.md Updated to reflect changes in Basic Diagnostic Data from RS3 forward along with updates to policy implementation details. --- ...ows-diagnostic-data-in-your-organization.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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 ec20ebc2bc..c77762a5e4 100644 --- a/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md +++ b/windows/configuration/configure-windows-diagnostic-data-in-your-organization.md @@ -56,7 +56,7 @@ Windows diagnostic data is vital technical data from Windows devices about the d - Improve Windows – through the aggregate analysis of the use of Windows - Personalize Windows engagement surfaces -Here are some specific examples of Windows diagnostic data data: +Here are some specific examples of Windows diagnostic data: - Type of hardware being used - Applications installed and usage details @@ -167,7 +167,7 @@ The diagnostic data data is categorized into four levels: - **Security**. Information that’s required to help keep Windows, Windows Server, and System Center secure, including data about the Connected User Experiences and Telemetry component settings, the Malicious Software Removal Tool, and Windows Defender. -- **Basic**. Basic device info, including: quality-related data, app compatibility, app usage data, and data from the **Security** level. +- **Basic**. Basic device info, including: quality-related data, app compatibility, and data from the **Security** level. - **Enhanced**. Additional insights, including: how Windows, Windows Server, System Center, and apps are used, how they perform, advanced reliability data, and data from both the **Basic** and the **Security** levels. @@ -188,7 +188,7 @@ Windows Server Update Services (WSUS) and System Center Configuration Manager fu The data gathered at this level includes: -- **Connected User Experiences and Telemetry component settings**. If general diagnostic data data has been gathered and is queued, it is sent to Microsoft. Along with this diagnostic data, the Connected User Experiences and Telemetry component may download a configuration settings file from Microsoft’s servers. This file is used to configure the Connected User Experiences and Telemetry component itself. The data gathered by the client for this request includes OS information, device id (used to identify what specific device is requesting settings) and device class (for example, whether the device is server or desktop). +- **Connected User Experiences and Telemetry component settings**. If general diagnostic data has been gathered and is queued, it is sent to Microsoft. Along with this diagnostic data, the Connected User Experiences and Telemetry component may download a configuration settings file from Microsoft’s servers. This file is used to configure the Connected User Experiences and Telemetry component itself. The data gathered by the client for this request includes OS information, device id (used to identify what specific device is requesting settings) and device class (for example, whether the device is server or desktop). - **Malicious Software Removal Tool (MSRT)** The MSRT infection report contains information, including device info and IP address. @@ -240,8 +240,6 @@ The data gathered at this level includes: - **General app data and app data for Internet Explorer add-ons**. Includes a list of apps that are installed on a native or virtualized instance of the OS and whether these apps function correctly after an upgrade. This app data includes the app name, publisher, version, and basic details about which files have been blocked from usage. - - **App usage data**. Includes how an app is used, including how long an app is used, when the app has focus, and when the app is started - - **Internet Explorer add-ons**. Includes a list of Internet Explorer add-ons that are installed on a device and whether these apps will work after an upgrade. - **System data**. Helps provide an understanding about whether a device meets the minimum requirements to upgrade to the next version of the operating system. System information includes the amount of memory, as well as information about the processor and BIOS. @@ -322,9 +320,9 @@ However, before more data is gathered, Microsoft’s privacy governance team, in Sharing diagnostic data data with Microsoft provides many benefits to enterprises, so we do not recommend turning it off. For most enterprise customers, simply adjusting the diagnostic data level and managing specific components is the best option. -Customers can set the diagnostic data level in both the user interface and with existing management tools. Users can change the diagnostic data level in the **Diagnostic data** setting. In the **Settings** app, it is in **Privacy\Feedback & diagnostics**. They can choose between Basic, Enhanced, and Full. The Security level is not available. +Customers can set the diagnostic data level in both the user interface and with existing management tools. Users can change the diagnostic data level in the **Diagnostic data** setting. In the **Settings** app, it is in **Privacy\Feedback & diagnostics**. They can choose between Basic and Full. The Enhanced level will only be displayed as an option when Group Policy or Mobile Device Management (MDM) are invoked with this level. The Security level is not available. -IT pros can use various methods, including Group Policy and Mobile Device Management (MDM), to choose a diagnostic data level. If you’re using Windows 10 Enterprise, Windows 10 Education, or Windows Server 2016, the Security diagnostic data level is available when managing the policy. Setting the diagnostic data level through policy overrides users’ choices. The remainder of this section describes how to do that. +IT pros can use various methods, including Group Policy and Mobile Device Management (MDM), to choose a diagnostic data level. If you’re using Windows 10 Enterprise, Windows 10 Education, or Windows Server 2016, the Security diagnostic data level is available when managing the policy. Setting the diagnostic data level through policy sets the upper boundary for the users’ choices. To disable user choice after setting the level with the policy, you will need to use the "Configure telemetry opt-in setting user interface" group policy. The remainder of this section describes how to use group policy to configure levels and settings interface. ### Manage your diagnostic data settings @@ -340,7 +338,7 @@ The lowest diagnostic data setting level supported through management policies i ### Configure the operating system diagnostic data level -You can configure your operating system diagnostic data settings using the management tools you’re already using, such as Group Policy, MDM, or Windows Provisioning. You can also manually change your settings using Registry Editor. Setting your diagnostic data levels through a management policy overrides any device level settings. +You can configure your operating system diagnostic data settings using the management tools you’re already using, such as Group Policy, MDM, or Windows Provisioning. You can also manually change your settings using Registry Editor. Setting your diagnostic data levels through a management policy sets the upper level for diagnostic data on the device. Use the appropriate value in the table below when you configure the management policy. @@ -351,6 +349,8 @@ Use the appropriate value in the table below when you configure the management p | Enhanced | Security data, basic system and quality data, and enhanced insights and advanced reliability data. | **2** | | Full | Security data, basic system and quality data, enhanced insights and advanced reliability data, and full diagnostics data. | **3** | + > [!NOTE] + > When the User Configuration policy is set for Diagnostic Data, this will override the Computer Configuration setting. ### Use Group Policy to set the diagnostic data level @@ -433,4 +433,4 @@ Web Pages - [Privacy at Microsoft](http://privacy.microsoft.com) - \ No newline at end of file + From 4037d403e592f211648f297cdd7d5ca71802a1fa Mon Sep 17 00:00:00 2001 From: Marc Shepard <37675325+marcshep-msft@users.noreply.github.com> Date: Mon, 2 Apr 2018 11:53:24 -0700 Subject: [PATCH 27/30] Update windows-analytics-FAQ-troubleshooting.md Added step to reset SQM ID to "devices not showing up" FAQ --- .../update/windows-analytics-FAQ-troubleshooting.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/deployment/update/windows-analytics-FAQ-troubleshooting.md b/windows/deployment/update/windows-analytics-FAQ-troubleshooting.md index f195cc6375..863e2e62d1 100644 --- a/windows/deployment/update/windows-analytics-FAQ-troubleshooting.md +++ b/windows/deployment/update/windows-analytics-FAQ-troubleshooting.md @@ -55,6 +55,11 @@ If you want to check a large number of devices, you should run the latest script If you think the issue might be related to a network proxy, check "Enable data sharing" section of the [Enrolling devices in Windows Analytics](windows-analytics-get-started.md) topic. Also see [Understanding connectivity scenarios and the deployment script](https://blogs.technet.microsoft.com/upgradeanalytics/2017/03/10/understanding-connectivity-scenarios-and-the-deployment-script/) on the Windows Analytics blog. +If you have deployed images that have not been generalized, then many of them might have the same ID and so analytics will see them as one device. If you suspect this is the issue, then you can reset the IDs on the non-generalized devices by performing these steps: +1. Net stop diagtrack +2. Reg delete hklm\software\microsoft\sqmclient /v MachineId /f +3. Net start diagtrack + ### Device Health crash data not appearing From e5408e3647514fce2b5680f21f8abc7b6bdacab9 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 2 Apr 2018 14:17:04 -0700 Subject: [PATCH 28/30] added options to config appidsvc --- .../configure-the-application-identity-service.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/applocker/configure-the-application-identity-service.md b/windows/security/threat-protection/applocker/configure-the-application-identity-service.md index 73a7463d29..81658b4b49 100644 --- a/windows/security/threat-protection/applocker/configure-the-application-identity-service.md +++ b/windows/security/threat-protection/applocker/configure-the-application-identity-service.md @@ -38,4 +38,12 @@ Membership in the local **Administrators** group, or equivalent, is the minimum 2. Click the **Services** tab, right-click **AppIDSvc**, and then click **Start Service**. 3. Verify that the status for the Application Identity service is **Running**. -Starting with Windows 10, the Application Identity service is now a protected process. Because of this, you can no longer manually set the service **Startup type** to **Automatic**. +Starting with Windows 10, the Application Identity service is now a protected process. Because of this, you can no longer manually set the service **Startup type** to **Automatic** by using the Sevices smnap-in. Try either of these methods instead: + +- Open an elevated commnad prompt or PowerShell session and type: + + ```powershell + sc.exe config appidsvc start= auto + ``` + +- Create a security template that configures appidsvc to be automatic start, and apply it using secedit.exe or LGPO.exe. From 5d3bbf3c0020b4aa39d0d466f47efea345aec16f Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Mon, 2 Apr 2018 14:19:23 -0700 Subject: [PATCH 29/30] added options to config appidsvc --- .../applocker/configure-the-application-identity-service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/applocker/configure-the-application-identity-service.md b/windows/security/threat-protection/applocker/configure-the-application-identity-service.md index 81658b4b49..eace7b9b57 100644 --- a/windows/security/threat-protection/applocker/configure-the-application-identity-service.md +++ b/windows/security/threat-protection/applocker/configure-the-application-identity-service.md @@ -7,7 +7,7 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library author: brianlic-msft -ms.date: 09/21/2017 +ms.date: 04/02/2018 --- # Configure the Application Identity service @@ -38,7 +38,7 @@ Membership in the local **Administrators** group, or equivalent, is the minimum 2. Click the **Services** tab, right-click **AppIDSvc**, and then click **Start Service**. 3. Verify that the status for the Application Identity service is **Running**. -Starting with Windows 10, the Application Identity service is now a protected process. Because of this, you can no longer manually set the service **Startup type** to **Automatic** by using the Sevices smnap-in. Try either of these methods instead: +Starting with Windows 10, the Application Identity service is now a protected process. Because of this, you can no longer manually set the service **Startup type** to **Automatic** by using the Sevices snap-in. Try either of these methods instead: - Open an elevated commnad prompt or PowerShell session and type: From 63d27137dff1ce98eb9fa84b4de7f28916d37408 Mon Sep 17 00:00:00 2001 From: Maricia Alforque Date: Mon, 2 Apr 2018 21:24:46 +0000 Subject: [PATCH 30/30] Merged PR 6836: Browser/AllowCookies in Policy CSP - updated the supported values section --- .../mdm/images/provisioning-csp-vpn.png | Bin 49838 -> 60867 bytes ...ew-in-windows-mdm-enrollment-management.md | 5 +---- .../mdm/policy-csp-browser.md | 7 ++++--- windows/client-management/mdm/vpn-csp.md | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/windows/client-management/mdm/images/provisioning-csp-vpn.png b/windows/client-management/mdm/images/provisioning-csp-vpn.png index 15e907a16c6993130e6fec26f02cedf8f154c547..f46b884641d976980ad2e2e683137ce09b62865d 100644 GIT binary patch literal 60867 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 literal 49838 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 z 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 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 b0f80a167b..4253263137 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 @@ -1329,9 +1329,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.

@@ -1342,7 +1339,6 @@ For details about Microsoft mobile device management protocols for Windows 10 s
  • UntrustedCertificates
- @@ -1673,6 +1669,7 @@ The DM agent for [push-button reset](https://msdn.microsoft.com/windows/hardware

The following existing policies were updated:

    +
  • Browser/AllowCookies - updated the supported values. There are 3 values - 0, 1, 2.
  • InternetExplorer/AllowSiteToZoneAssignmentList - updated the description and added an example SyncML
  • TextInput/AllowIMENetworkAccess - introduced new suggestion services in Japanese IME in addition to cloud suggestion.
diff --git a/windows/client-management/mdm/policy-csp-browser.md b/windows/client-management/mdm/policy-csp-browser.md index 79d91ff2dc..76ccab305a 100644 --- a/windows/client-management/mdm/policy-csp-browser.md +++ b/windows/client-management/mdm/policy-csp-browser.md @@ -6,7 +6,7 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: nickbrower -ms.date: 03/13/2018 +ms.date: 03//2018 --- # Policy CSP - Browser @@ -445,8 +445,9 @@ ADMX Info: The following list shows the supported values: -- 0 – Not allowed. -- 1 (default) – Allowed. +- 0 – Block all cookies +- 1 – Block only third party cookies +- 2 - Allow cookies diff --git a/windows/client-management/mdm/vpn-csp.md b/windows/client-management/mdm/vpn-csp.md index 47e0032fd3..fdbdbaed7c 100644 --- a/windows/client-management/mdm/vpn-csp.md +++ b/windows/client-management/mdm/vpn-csp.md @@ -7,7 +7,7 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: nickbrower -ms.date: 06/26/2017 +ms.date: 04/02/2017 --- # VPN CSP