From 2643e2a8c6c2cca95afb0f313484d0ec1f734064 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 5 Feb 2024 13:31:31 -0800 Subject: [PATCH 01/61] cpw-ad-wam-8470699 --- windows/client-management/manage-windows-copilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index 2e90b5b053..b2e3220531 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -3,7 +3,7 @@ title: Manage Copilot in Windows description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows. ms.topic: conceptual ms.subservice: windows-copilot -ms.date: 02/05/2024 +ms.date: 02/07/2024 ms.author: mstewart author: mestew appliesto: From 12f49bf9bced32acb354f0253f9429656e5f9459 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Feb 2024 11:48:57 -0800 Subject: [PATCH 02/61] cpw-ad-wam --- windows/client-management/manage-windows-copilot.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index b2e3220531..950891e365 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -61,7 +61,7 @@ Copilot is a consumer experience and has a daily limit on the number of chat que - Microsoft 365 E3 or E5 - Microsoft 365 F3 - Microsoft 365 A1, A3, or A5 - - Copilot with comercial data protection is limited to faculty and higher education students over 18 years of age + - Copilot with commercial data protection is limited to faculty and higher education students over 18 years of age - Office 365 A1, A3, or A5 - Copilot with comercial data protection is limited to faculty and higher education students over 18 years of age - Microsoft 365 Business Standard @@ -109,10 +109,12 @@ To verify that Copilot with commercial data protection is enabled for the user a 1. To verify that commercial data protection is enabled for the user, select the user's **Display name** to open the flyout menu. 1. In the flyout, select the **Licenses & apps** tab, then expand the **Apps** list. 1. Verify that **Copilot** is enabled for the user. -1. If you prefer to view a user's licenses from the [Azure portal](https://portal.azure.com), you'll find it under **Microsoft Entra ID** > **Users**. Select the user's name, then **Licenses**. Select a license that includes **Copilot**, and verify that it's listed as **On**. - - > [!Note] - > If you previously disabled Copilot with commercial data protection (formerly Bing Chat Enterprise) using the URL, `https://aka.ms/TurnOffBCE`, see [Manage Copilot](/copilot/manage) for verifying that commercial data protection is enabled for your users. +1. If you prefer to view a user's licenses from the [Azure portal](https://portal.azure.com), you'll find it under **Microsoft Entra ID** > **Users**. Select the user's name, then **Licenses**. Select a license that includes **Copilot**, and verify that it's listed as **On**. If you previously disabled Copilot with commercial data protection (formerly Bing Chat Enterprise), see [Manage Copilot](/copilot/manage) for verifying that commercial data protection is enabled for your users. +1. Copilot with commercial data protection is used as the chat provider platform for users when the following conditions are met: + - Users have an eligible license, commercial data protection in Copilot is enabled, and the [Copilot in Windows user experience is enabled](#enable-the-copilot-in-windows-user-experience-for-windows-11-version-22h2-clients). + - Users are signed in with their Microsoft Entra ID (work accounts) + - Users can sign into Windows with their MIcrosoft Entra ID + - For Active Directory users on Windows 11, a Microsoft Entra ID in the Web Account Manager (WAM) authentication broker can be used. Entra IDs in Microsoft Edge profiles and Microsoft 365 Apps would both be in WAM. The following sample PowerShell script connects to Microsoft Graph and lists which users that have Copilot with commercial data protection enabled and disabled: From 01cf1b9cc80cbff76495a6005347c073c0c6f92b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Feb 2024 13:59:28 -0800 Subject: [PATCH 03/61] cpw-ad-wam --- windows/client-management/manage-windows-copilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index 2d87052bd4..081ba7960c 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -3,7 +3,7 @@ title: Manage Copilot in Windows description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows. ms.topic: conceptual ms.subservice: windows-copilot -ms.date: 02/07/2024 +ms.date: 02/15/2024 ms.author: mstewart author: mestew appliesto: From 3c819b91426f49e55ee99a5fb8ff9b2f353445d7 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 12 Feb 2024 15:22:17 -0800 Subject: [PATCH 04/61] fix typo --- windows/client-management/manage-windows-copilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index 081ba7960c..433fe67577 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -113,7 +113,7 @@ To verify that Copilot with commercial data protection is enabled for the user a 1. Copilot with commercial data protection is used as the chat provider platform for users when the following conditions are met: - Users have an eligible license, commercial data protection in Copilot is enabled, and the [Copilot in Windows user experience is enabled](#enable-the-copilot-in-windows-user-experience-for-windows-11-version-22h2-clients). - Users are signed in with their Microsoft Entra ID (work accounts) - - Users can sign into Windows with their MIcrosoft Entra ID + - Users can sign into Windows with their Microsoft Entra ID - For Active Directory users on Windows 11, a Microsoft Entra ID in the Web Account Manager (WAM) authentication broker can be used. Entra IDs in Microsoft Edge profiles and Microsoft 365 Apps would both be in WAM. The following sample PowerShell script connects to Microsoft Graph and lists which users that have Copilot with commercial data protection enabled and disabled: From b2a8c2bc591ca0685ea3d32e7a3b63988a97862d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 27 Feb 2024 13:55:25 -0800 Subject: [PATCH 05/61] dep-nplogon-8787264 --- windows/whats-new/deprecated-features.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index be59977024..dfe4761e71 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 02/09/2024 +ms.date: 02/27/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -47,6 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| +| NPLogonNotify and NPPasswordChangeNotify APIs | The [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs are deprecated and will be removed in a future release. Starting in Windows 11, version 24H2, NPLogonNotify and NPPasswordChangeNotify will be disabled by default. | February 2024 | | Windows Mixed Reality | [Windows Mixed Reality](/windows/mixed-reality/enthusiast-guide/before-you-start) is deprecated and will be removed in Windows 11, version 24H2. This deprecation includes the [Mixed Reality Portal](/windows/mixed-reality/enthusiast-guide/install-windows-mixed-reality) app, [Windows Mixed Reality for SteamVR](/windows/mixed-reality/enthusiast-guide/using-steamvr-with-windows-mixed-reality), and Steam VR Beta. Existing Windows Mixed Reality devices will continue to work with Steam through November 2026, if users remain on their current released version of Windows 11, version 23H2. After November 2026, Windows Mixed Reality will no longer receive security updates, nonsecurity updates, bug fixes, technical support, or online technical content updates.

This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | | Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | From e7798c663bad5d308730669c6fbe7df47da9fe80 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:10:31 -0800 Subject: [PATCH 06/61] edits --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index dfe4761e71..b0ebd708af 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -47,7 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| -| NPLogonNotify and NPPasswordChangeNotify APIs | The [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs are deprecated and will be removed in a future release. Starting in Windows 11, version 24H2, NPLogonNotify and NPPasswordChangeNotify will be disabled by default. | February 2024 | +| NPLogonNotify and NPPasswordChangeNotify APIs | Starting in Windows 11, version 24H2, the inclusion of password payload in MPR notifications is set to disabled by default through group policy in [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs. The APIs may be removed in a future release. The primary reason for disabling this feature is to enhance security. When enabled, these APIs allow the caller to retrieve a users password, presenting potential risks for password exposure and harvesting by malicious users. | March 2024 | | Windows Mixed Reality | [Windows Mixed Reality](/windows/mixed-reality/enthusiast-guide/before-you-start) is deprecated and will be removed in Windows 11, version 24H2. This deprecation includes the [Mixed Reality Portal](/windows/mixed-reality/enthusiast-guide/install-windows-mixed-reality) app, [Windows Mixed Reality for SteamVR](/windows/mixed-reality/enthusiast-guide/using-steamvr-with-windows-mixed-reality), and Steam VR Beta. Existing Windows Mixed Reality devices will continue to work with Steam through November 2026, if users remain on their current released version of Windows 11, version 23H2. After November 2026, Windows Mixed Reality will no longer receive security updates, nonsecurity updates, bug fixes, technical support, or online technical content updates.

This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | | Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | From e490a29aea34ea2276a40890b3d814d40c5a92ee Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Wed, 13 Mar 2024 15:54:40 -0400 Subject: [PATCH 07/61] Update articles for new UI to meet DMA compliance --- .../client-tools/add-remove-hide-features.md | 10 +++++----- windows/deployment/windows-missing-fonts.md | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/client-management/client-tools/add-remove-hide-features.md b/windows/client-management/client-tools/add-remove-hide-features.md index 6bcc413598..fcc9748749 100644 --- a/windows/client-management/client-tools/add-remove-hide-features.md +++ b/windows/client-management/client-tools/add-remove-hide-features.md @@ -4,7 +4,7 @@ description: Learn how to add or remove Windows optional features using the Opti author: aczechowski ms.author: aaroncz manager: aaroncz -ms.date: 03/13/2024 +ms.date: 03/19/2024 ms.topic: how-to ms.service: windows-client ms.subservice: itpro-apps @@ -85,7 +85,7 @@ Once the **System > Optional features** pane is open, add a feature with the fol 1. Once all of the desired features are selected, select the **Next** button. - 1. Review the selected list of features and then select the **Install** button to add the selected features. + 1. Review the selected list of features and then select the **Add** button to add the selected features. ::: zone-end @@ -99,7 +99,7 @@ Once the **Optional features** pane is open, add a feature with the following st 1. Find the desired feature to add and then select the box next to the feature to add it. Multiple features can be selected. - 1. Once all of the desired features are selected, select the **Install** button. + 1. Once all of the desired features are selected, select the **Add** button. ::: zone-end @@ -115,7 +115,7 @@ Once the **System > Optional features** pane is open, remove a feature with the 1. Under **Installed features**, search for the feature that needs to be removed in the **Search installed features** search box, or scroll through the list of added features until the feature that needs to be removed is found. -1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Uninstall** button. +1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Remove** button. ::: zone-end @@ -125,7 +125,7 @@ Once the **Optional features** pane is open, remove a feature with the following 1. Under **Installed features**, search for the feature that needs to be removed in the **Find an installed optional feature** search box, or scroll through the list of added features until the feature that needs to be removed is found. -1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Uninstall** button. +1. Once the feature that needs to be removed is found, select the feature to expand it, and then select the **Remove** button. ::: zone-end diff --git a/windows/deployment/windows-missing-fonts.md b/windows/deployment/windows-missing-fonts.md index d98de67b71..f6e957d89b 100644 --- a/windows/deployment/windows-missing-fonts.md +++ b/windows/deployment/windows-missing-fonts.md @@ -7,7 +7,7 @@ author: frankroj ms.author: frankroj manager: aaroncz ms.topic: article -ms.date: 03/13/2024 +ms.date: 03/19/2024 ms.subservice: itpro-deploy zone_pivot_groups: windows-versions-11-10 appliesto: @@ -111,7 +111,7 @@ Once the **Time & language > Language & region** pane is open, add the fonts ass 1. Once the desired language is found, select the language, and then select the **Next** button. - 1. In the **Install language features** window, select the desired options for the language, and then select the **Install** button. + 1. In the **Install language features** window, select the desired options for the language, and then select the **Add** button. 1. The desired language should now be available in the drop-down menu next to **Windows display language**. Drop down the **Windows display language** menu and select the desired language. @@ -139,7 +139,7 @@ Once the **Language** pane is open, add the fonts associated with a language and 1. Once the desired language is found, select the language, and then select the **Next** button. - 1. In the **Install language features** window, select the desired features for the language, and then select the **Install** button. + 1. In the **Install language features** window, select the desired features for the language, and then select the **Add** button. 1. The desired language should now be available in the drop-down menu below **Windows display language**. Drop down the **Windows display language** menu and select the desired language. @@ -203,7 +203,7 @@ Once the **System > Optional features** pane is open, add a supplemental font wi 1. Once all of the desired supplemental fonts are selected, select the **Next** button. - 1. Review the selected list of features and then select the **Install** button to add the selected features. + 1. Review the selected list of features and then select the **Add** button to add the selected features. ::: zone-end @@ -227,7 +227,7 @@ Once the **Optional features** pane is open, add a supplemental font with the fo 1. Find the desired supplemental font to add and then select the box next to the supplemental font to add it. Multiple supplemental fonts can be selected. - 1. Once all of the desired supplemental fonts are selected, select the **Install** button. + 1. Once all of the desired supplemental fonts are selected, select the **Add** button. ::: zone-end From e04b02255f970fea8a705e8740f310403a8c9aed Mon Sep 17 00:00:00 2001 From: yunakam-msft <63231957+yukinakamori@users.noreply.github.com> Date: Thu, 14 Mar 2024 16:22:17 +0900 Subject: [PATCH 08/61] Update configure-the-application-identity-service.md Added a note when using the sc command. --- .../applocker/configure-the-application-identity-service.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/applocker/configure-the-application-identity-service.md b/windows/security/application-security/application-control/windows-defender-application-control/applocker/configure-the-application-identity-service.md index ab3f97c501..b31f8f059d 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/applocker/configure-the-application-identity-service.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/applocker/configure-the-application-identity-service.md @@ -40,3 +40,6 @@ Starting with Windows 10, the Application Identity service is now a protected pr ``` - Create a security template that configures appidsvc to be automatic start, and apply it using secedit.exe or LGPO.exe. + +> [!NOTE] +> The Startup type of the Application Identity service cannot be set to Manual using sc.exe. Therefore, we recommend to perform a system backup before changing it. From 5dd6a6d717874c5ba0af0b1ebda0a978e0f98f9a Mon Sep 17 00:00:00 2001 From: Kevin Sheehan <116211220+kbsheehan@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:02:53 -0400 Subject: [PATCH 09/61] Update unifiedwritefilter-csp.md Added Windows 11 support in the note. --- windows/client-management/mdm/unifiedwritefilter-csp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/unifiedwritefilter-csp.md b/windows/client-management/mdm/unifiedwritefilter-csp.md index 1df0f1e524..d4bcc4bdc1 100644 --- a/windows/client-management/mdm/unifiedwritefilter-csp.md +++ b/windows/client-management/mdm/unifiedwritefilter-csp.md @@ -19,7 +19,7 @@ The table below shows the applicability of Windows: The UnifiedWriteFilter (UWF) configuration service provider enables the IT administrator to remotely manage the UWF to help protect physical storage media including any writable storage type. -> **Note**  The UnifiedWriteFilter CSP is only supported in Windows 10 Enterprise and Windows 10 Education. +> **Note**  The UnifiedWriteFilter CSP is only supported in Windows 10/11 Enterprise and Windows 10/11 Education. The following example shows the UWF configuration service provider in tree format. ``` From 2f2002ec08a491658caf109beaf7fbf02e2391e8 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 19 Mar 2024 08:42:25 -0700 Subject: [PATCH 10/61] fix merge conflict --- windows/whats-new/deprecated-features.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 27b25a3083..1e1c2a291c 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,11 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -<<<<<<< HEAD -ms.date: 02/27/2024 -======= ms.date: 03/14/2024 ->>>>>>> 2611102eb68f1f90118309d07c5503b1ffb5ad07 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -51,12 +47,9 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| -<<<<<<< HEAD | NPLogonNotify and NPPasswordChangeNotify APIs | Starting in Windows 11, version 24H2, the inclusion of password payload in MPR notifications is set to disabled by default through group policy in [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs. The APIs may be removed in a future release. The primary reason for disabling this feature is to enhance security. When enabled, these APIs allow the caller to retrieve a users password, presenting potential risks for password exposure and harvesting by malicious users. | March 2024 | -======= | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

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

This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | | Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | From fe4004182ea7290c04568bb4309637a21b261d19 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 19 Mar 2024 11:31:37 -0700 Subject: [PATCH 11/61] add enablemprnotifications info --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 1e1c2a291c..240545d36a 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -47,7 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| -| NPLogonNotify and NPPasswordChangeNotify APIs | Starting in Windows 11, version 24H2, the inclusion of password payload in MPR notifications is set to disabled by default through group policy in [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs. The APIs may be removed in a future release. The primary reason for disabling this feature is to enhance security. When enabled, these APIs allow the caller to retrieve a users password, presenting potential risks for password exposure and harvesting by malicious users. | March 2024 | +| NPLogonNotify and NPPasswordChangeNotify APIs | Starting in Windows 11, version 24H2, the inclusion of password payload in MPR notifications is set to disabled by default through group policy in [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs. The APIs may be removed in a future release. The primary reason for disabling this feature is to enhance security. When enabled, these APIs allow the caller to retrieve a users password, presenting potential risks for password exposure and harvesting by malicious users. To include password payload in MPR notifications, set the [EnableMPRNotifications](/windows/client-management/mdm/policy-csp-windowslogon#enablemprnotifications) policy to `enabled`.| March 2024 | | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

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

This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | From eef3c38746752de73c40cef8777d2386de013526 Mon Sep 17 00:00:00 2001 From: zacharylayne Date: Wed, 20 Mar 2024 09:54:07 -0700 Subject: [PATCH 12/61] Update policies-in-policy-csp-supported-by-hololens2.md Added policies to: https://learn.microsoft.com/en-us/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2 that were in the 23H2 release here: https://learn.microsoft.com/en-us/hololens/hololens-release-notes See issue https://dev.azure.com/microsoft/OS/_workitems/edit/48800141 As a bonus, fixed links for the following: LetAppsAccessLocation_ForceAllowTheseApps LetAppsAccessLocation_ForceDenyTheseApps LetAppsAccessLocation_UserInControlOfTheseApps ConfigureTelemetryOptInSettingsUx DisableDeviceDelete --- ...es-in-policy-csp-supported-by-hololens2.md | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md index 8a1244f15d..04fb46bf39 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md @@ -39,6 +39,10 @@ ms.date: 02/03/2023 - [DeliveryOptimization/DOSetHoursToLimitForegroundDownloadBandwidth](policy-csp-deliveryoptimization.md#dosethourstolimitforegrounddownloadbandwidth) 10 - [DeliveryOptimization/DOSetHoursToLimitBackgroundDownloadBandwidth](policy-csp-deliveryoptimization.md#dosethourstolimitbackgrounddownloadbandwidth) 10 - [DeliveryOptimization/DOSetHoursToLimitBackgroundDownloadBandwidth](policy-csp-deliveryoptimization.md#dosethourstolimitbackgrounddownloadbandwidth) 10 +- [Device/{TenantId}/Policies/EnableWindowsHelloProvisioningForSecurityKeys](passportforwork-csp.md#devicetenantidpoliciesenablewindowshelloprovisioningforsecuritykeys) 12 +- [DeviceInstallation/AllowInstallationOfMatchingDeviceIDs](policy-csp-deviceinstallation.md#allowinstallationofmatchingdeviceids) 12 +- [DeviceInstallation/DeviceInstall_Removable_Deny](policy-csp-deviceinstallation.md#deviceinstall_removable_deny) 12 +- [DeviceInstallation/EnableInstallationPolicyLayering](policy-csp-deviceinstallation.md#enableinstallationpolicylayering) 12 - [DeviceLock/AllowIdleReturnWithoutPassword](policy-csp-devicelock.md#allowidlereturnwithoutpassword) - [DeviceLock/AllowSimpleDevicePassword](policy-csp-devicelock.md#allowsimpledevicepassword) - [DeviceLock/AlphanumericDevicePasswordRequired](policy-csp-devicelock.md#alphanumericdevicepasswordrequired) @@ -59,12 +63,18 @@ ms.date: 02/03/2023 - [MixedReality/ConfigureMovingPlatform](policy-csp-mixedreality.md#configuremovingplatform) *[Feb. 2022 Servicing release](/hololens/hololens-release-notes#windows-holographic-version-21h2---february-2022-update) - [MixedReality/ConfigureNtpClient](./policy-csp-mixedreality.md#configurentpclient) 12 - [MixedReality/DisallowNetworkConnectivityPassivePolling](./policy-csp-mixedreality.md#disallownetworkconnectivitypassivepolling) 12 +- [MixedReality/EnableStartMenuWristTap](./policy-csp-mixedreality.md#enablestartmenuwristtap)12 +- [MixedReality/EnableStartMenuSingleHandGesture](./policy-csp-mixedreality.md#enablestartmenusinglehandgesture) 12 +- [MixedReality/EnableStartMenuVoiceCommand](./policy-csp-mixedreality.md#enablestartmenuvoicecommand) 12 - [MixedReality/FallbackDiagnostics](./policy-csp-mixedreality.md#fallbackdiagnostics) 9 - [MixedReality/ManualDownDirectionDisabled](policy-csp-mixedreality.md#manualdowndirectiondisabled) *[Feb. 2022 Servicing release](/hololens/hololens-release-notes#windows-holographic-version-21h2---february-2022-update) - [MixedReality/MicrophoneDisabled](./policy-csp-mixedreality.md#microphonedisabled) 9 - [MixedReality/NtpClientEnabled](./policy-csp-mixedreality.md#ntpclientenabled) 12 +- [MixedReality/PreferLogonAsOtherUser](./policy-csp-mixedreality.md#preferlogonasotheruser) 12 - [MixedReality/SkipCalibrationDuringSetup](./policy-csp-mixedreality.md#skipcalibrationduringsetup) 12 - [MixedReality/SkipTrainingDuringSetup](./policy-csp-mixedreality.md#skiptrainingduringsetup) 12 +- [MixedReality/RequireStartIconHold](./policy-csp-mixedreality.md#requirestarticonhold) 12 +- [MixedReality/RequireStartIconVisible](./policy-csp-mixedreality.md#requirestarticonvisible) 12 - [MixedReality/VisitorAutoLogon](policy-csp-mixedreality.md#visitorautologon) 10 - [MixedReality/VolumeButtonDisabled](./policy-csp-mixedreality.md#volumebuttondisabled) 9 - [Power/DisplayOffTimeoutOnBattery](./policy-csp-power.md#displayofftimeoutonbattery) 9, 14 @@ -91,9 +101,9 @@ ms.date: 02/03/2023 - [Privacy/LetAppsAccessGazeInput_ForceDenyTheseApps](policy-csp-privacy.md#letappsaccessgazeinput_forcedenytheseapps) 8 - [Privacy/LetAppsAccessGazeInput_UserInControlOfTheseApps](policy-csp-privacy.md#letappsaccessgazeinput_userincontroloftheseapps) 8 - [Privacy/LetAppsAccessLocation](policy-csp-privacy.md#letappsaccesslocation) -- [Privacy/LetAppsAccessLocation_ForceAllowTheseApps](/windows/client-management/mdm/policy-csp-privacy) 12 -- [Privacy/LetAppsAccessLocation_ForceDenyTheseApps](/windows/client-management/mdm/policy-csp-privacy) 12 -- [Privacy/LetAppsAccessLocation_UserInControlOfTheseApps](/windows/client-management/mdm/policy-csp-privacy) 12 +- [Privacy/LetAppsAccessLocation_ForceAllowTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_forceallowtheseapps) 12 +- [Privacy/LetAppsAccessLocation_ForceDenyTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_forcedenytheseapps) 12 +- [Privacy/LetAppsAccessLocation_UserInControlOfTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_userincontroloftheseapps) 12 - [Privacy/LetAppsAccessMicrophone](policy-csp-privacy.md#letappsaccessmicrophone) - [Privacy/LetAppsAccessMicrophone_ForceAllowTheseApps](policy-csp-privacy.md#letappsaccessmicrophone_forceallowtheseapps) 8 - [Privacy/LetAppsAccessMicrophone_ForceDenyTheseApps](policy-csp-privacy.md#letappsaccessmicrophone_forcedenytheseapps) 8 @@ -113,8 +123,8 @@ ms.date: 02/03/2023 - [System/AllowLocation](policy-csp-system.md#allowlocation) - [System/AllowStorageCard](policy-csp-system.md#allowstoragecard) - [System/AllowTelemetry](policy-csp-system.md#allowtelemetry) -- [System/ConfigureTelemetryOptInSettingsUx](/windows/client-management/mdm/policy-csp-system) 12 -- [System/DisableDeviceDelete](/windows/client-management/mdm/policy-csp-system) 12 +- [System/ConfigureTelemetryOptInSettingsUx](/windows/client-management/mdm/policy-csp-system.md#configuretelemetryoptinsettingsux) 12 +- [System/DisableDeviceDelete](/windows/client-management/mdm/policy-csp-system.md#disabledevicedelete) 12 - [TimeLanguageSettings/ConfigureTimeZone](./policy-csp-timelanguagesettings.md#configuretimezone) 9 - [Update/ActiveHoursEnd](./policy-csp-update.md#activehoursend) 9 - [Update/ActiveHoursMaxRange](./policy-csp-update.md#activehoursmaxrange) 9 @@ -165,6 +175,3 @@ Footnotes: [Policy CSP](policy-configuration-service-provider.md) [Full HoloLens CSP Details](/windows/client-management/mdm/configuration-service-provider-support) - - - From f843410cc0d688e7fb1d2fd1181761335ab18d9d Mon Sep 17 00:00:00 2001 From: zacharylayne Date: Wed, 20 Mar 2024 10:23:54 -0700 Subject: [PATCH 13/61] Update policies-in-policy-csp-supported-by-hololens2.md Fixed some links that were broken. I'm pretty awesome. --- .../policies-in-policy-csp-supported-by-hololens2.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md index 04fb46bf39..db7aa3399c 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md @@ -41,7 +41,7 @@ ms.date: 02/03/2023 - [DeliveryOptimization/DOSetHoursToLimitBackgroundDownloadBandwidth](policy-csp-deliveryoptimization.md#dosethourstolimitbackgrounddownloadbandwidth) 10 - [Device/{TenantId}/Policies/EnableWindowsHelloProvisioningForSecurityKeys](passportforwork-csp.md#devicetenantidpoliciesenablewindowshelloprovisioningforsecuritykeys) 12 - [DeviceInstallation/AllowInstallationOfMatchingDeviceIDs](policy-csp-deviceinstallation.md#allowinstallationofmatchingdeviceids) 12 -- [DeviceInstallation/DeviceInstall_Removable_Deny](policy-csp-deviceinstallation.md#deviceinstall_removable_deny) 12 +- [DeviceInstallation/DeviceInstall_Removable_Deny](policy-csp-admx-deviceinstallation.md#deviceinstall_removable_deny) 12 - [DeviceInstallation/EnableInstallationPolicyLayering](policy-csp-deviceinstallation.md#enableinstallationpolicylayering) 12 - [DeviceLock/AllowIdleReturnWithoutPassword](policy-csp-devicelock.md#allowidlereturnwithoutpassword) - [DeviceLock/AllowSimpleDevicePassword](policy-csp-devicelock.md#allowsimpledevicepassword) @@ -101,9 +101,9 @@ ms.date: 02/03/2023 - [Privacy/LetAppsAccessGazeInput_ForceDenyTheseApps](policy-csp-privacy.md#letappsaccessgazeinput_forcedenytheseapps) 8 - [Privacy/LetAppsAccessGazeInput_UserInControlOfTheseApps](policy-csp-privacy.md#letappsaccessgazeinput_userincontroloftheseapps) 8 - [Privacy/LetAppsAccessLocation](policy-csp-privacy.md#letappsaccesslocation) -- [Privacy/LetAppsAccessLocation_ForceAllowTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_forceallowtheseapps) 12 -- [Privacy/LetAppsAccessLocation_ForceDenyTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_forcedenytheseapps) 12 -- [Privacy/LetAppsAccessLocation_UserInControlOfTheseApps](/windows/client-management/mdm/policy-csp-privacy.md#letappsaccesslocation_userincontroloftheseapps) 12 +- [Privacy/LetAppsAccessLocation_ForceAllowTheseApps](policy-csp-privacy.md#letappsaccesslocation_forceallowtheseapps) 12 +- [Privacy/LetAppsAccessLocation_ForceDenyTheseApps](policy-csp-privacy.md#letappsaccesslocation_forcedenytheseapps) 12 +- [Privacy/LetAppsAccessLocation_UserInControlOfTheseApps](policy-csp-privacy.md#letappsaccesslocation_userincontroloftheseapps) 12 - [Privacy/LetAppsAccessMicrophone](policy-csp-privacy.md#letappsaccessmicrophone) - [Privacy/LetAppsAccessMicrophone_ForceAllowTheseApps](policy-csp-privacy.md#letappsaccessmicrophone_forceallowtheseapps) 8 - [Privacy/LetAppsAccessMicrophone_ForceDenyTheseApps](policy-csp-privacy.md#letappsaccessmicrophone_forcedenytheseapps) 8 @@ -123,8 +123,8 @@ ms.date: 02/03/2023 - [System/AllowLocation](policy-csp-system.md#allowlocation) - [System/AllowStorageCard](policy-csp-system.md#allowstoragecard) - [System/AllowTelemetry](policy-csp-system.md#allowtelemetry) -- [System/ConfigureTelemetryOptInSettingsUx](/windows/client-management/mdm/policy-csp-system.md#configuretelemetryoptinsettingsux) 12 -- [System/DisableDeviceDelete](/windows/client-management/mdm/policy-csp-system.md#disabledevicedelete) 12 +- [System/ConfigureTelemetryOptInSettingsUx](client-management/mdm/policy-csp-system.md#configuretelemetryoptinsettingsux) 12 +- [System/DisableDeviceDelete](policy-csp-system.md#disabledevicedelete) 12 - [TimeLanguageSettings/ConfigureTimeZone](./policy-csp-timelanguagesettings.md#configuretimezone) 9 - [Update/ActiveHoursEnd](./policy-csp-update.md#activehoursend) 9 - [Update/ActiveHoursMaxRange](./policy-csp-update.md#activehoursmaxrange) 9 From a00cec391f7419636b4a44bbce3e5f62c0956c71 Mon Sep 17 00:00:00 2001 From: zacharylayne Date: Wed, 20 Mar 2024 10:32:30 -0700 Subject: [PATCH 14/61] Update policies-in-policy-csp-supported-by-hololens2.md Fixed another broken link. --- .../mdm/policies-in-policy-csp-supported-by-hololens2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md index db7aa3399c..c0c0fd2588 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md @@ -123,7 +123,7 @@ ms.date: 02/03/2023 - [System/AllowLocation](policy-csp-system.md#allowlocation) - [System/AllowStorageCard](policy-csp-system.md#allowstoragecard) - [System/AllowTelemetry](policy-csp-system.md#allowtelemetry) -- [System/ConfigureTelemetryOptInSettingsUx](client-management/mdm/policy-csp-system.md#configuretelemetryoptinsettingsux) 12 +- [System/ConfigureTelemetryOptInSettingsUx](policy-csp-system.md#configuretelemetryoptinsettingsux) 12 - [System/DisableDeviceDelete](policy-csp-system.md#disabledevicedelete) 12 - [TimeLanguageSettings/ConfigureTimeZone](./policy-csp-timelanguagesettings.md#configuretimezone) 9 - [Update/ActiveHoursEnd](./policy-csp-update.md#activehoursend) 9 From a73a785e6d472809b2be2882ece599ad95fd2123 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Wed, 20 Mar 2024 12:08:13 -0700 Subject: [PATCH 15/61] Learn Editor: Update mcc-isp-overview.md --- windows/deployment/do/mcc-isp-overview.md | 12 ++++++++++++ .../mcc-isp-overview/mcc-isp-hardwarerec.png | Bin 0 -> 73604 bytes .../mcc-isp-overview/mcc-isp-hardwarerec1.png | Bin 0 -> 81764 bytes .../mcc-isp-overview/mcc-isp-peeringvsmcc.png | Bin 0 -> 124642 bytes 4 files changed, 12 insertions(+) create mode 100644 windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png create mode 100644 windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png create mode 100644 windows/deployment/do/media/mcc-isp-overview/mcc-isp-peeringvsmcc.png diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index 60b248f3ae..6335796712 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -71,3 +71,15 @@ The following steps describe how MCC is provisioned and used: 1. Subsequent requests from end-user devices for content will be served from cache. 1. If the MCC node is unavailable, the client gets content from the CDN to ensure uninterrupted service for your subscribers. +## __Are you already peering with 8075?__ + +MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC. + +## ![mcc-isp-peeringvsmcc](media/mcc-isp-overview/mcc-isp-peeringvsmcc.png) + +__Hardware recommendation__ + +Below are the hardware recommendations based on traffic ranges. + +![mcc-isp-hardwarerec](media/mcc-isp-overview/mcc-isp-hardwarerec1.png) + diff --git a/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png b/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png new file mode 100644 index 0000000000000000000000000000000000000000..73e1d5cfb0b71794806c909df1d01990452405ca GIT binary patch literal 73604 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

tQv9^4?txI2$$lZSkWGncF3 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�}P^)4Z3U${GlAfkTyTaL$?zW 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 z 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 iBlqy9oHKG literal 0 HcmV?d00001 diff --git a/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png b/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png new file mode 100644 index 0000000000000000000000000000000000000000..b3977259dc2fbf7210d5b976f80fbdc60c08c682 GIT binary patch literal 81764 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

}Hzp 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 F{{d-mRYm{+ literal 0 HcmV?d00001 From 9628144e259884d5ec15326a9f89f1416764d588 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:14:48 -0700 Subject: [PATCH 16/61] Learn Editor: Update mcc-isp-overview.md --- windows/deployment/do/mcc-isp-overview.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index 6335796712..298b96cc2c 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -81,5 +81,14 @@ __Hardware recommendation__ Below are the hardware recommendations based on traffic ranges. -![mcc-isp-hardwarerec](media/mcc-isp-overview/mcc-isp-hardwarerec1.png) + +|Microsoft Connected Cache Machine Class | Scenario |Traffic Range|VM/Hardware Recommendation| +| -------- | -------- | -------- | -------- | +| Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak|VM Up to 8 Cores

Up to 16 GB Memory

1 500 GB SSD| +| Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that may require one of more cache nodes. |5 - 20 Gbps Peak|VM or Hardware

16 Cores*

32 GB Memory

2 - 3 500 GB SSDs each| +|Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and may require deployment of multiple cache nodes.|20 - 40 Gbps Peak|Hardware (see sample spec below)

32 or More Cores*

64 or more GB Memory

4 - 6 500 - 1 TB SSDs** each| + +*Requires systems (chipset, CPU, motherboard) with PCIe version 3 or higher + +**Drive speeds are important and to achieve higher egress we recommend SSD NVMe in m.2 PCIe slot (version 4 or higher) From 7a8bcc722b0910fe953b4553815ed7539e8f66e2 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:22:26 -0700 Subject: [PATCH 17/61] Learn Editor: Update mcc-isp-overview.md --- windows/deployment/do/mcc-isp-overview.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index 298b96cc2c..d574ebd6f6 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -37,8 +37,11 @@ Microsoft Connected Cache uses Delivery Optimization as the backbone for Microso - Endpoint protection: Windows Defender definition updates - Xbox: Xbox Game Pass (PC only) -Do you peer with [Microsoft (ASN 8075)](/azure/internet-peering/)? Microsoft Connected Cache complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, and Edgecast. Microsoft Peering mainly caches dynamic content - by onboarding to Microsoft Connected Cache, you'll cache static content that otherwise would be served from the CDN. +#### Are you already peering with 8075? +MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC! + +![mcc-isp-peeringvsmcc](media/mcc-isp-overview/mcc-isp-peeringvsmcc.png) For the full list of content endpoints that Microsoft Connected Cache for ISPs supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md). ## How MCC works @@ -71,13 +74,7 @@ The following steps describe how MCC is provisioned and used: 1. Subsequent requests from end-user devices for content will be served from cache. 1. If the MCC node is unavailable, the client gets content from the CDN to ensure uninterrupted service for your subscribers. -## __Are you already peering with 8075?__ - -MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC. - -## ![mcc-isp-peeringvsmcc](media/mcc-isp-overview/mcc-isp-peeringvsmcc.png) - -__Hardware recommendation__ +### __Hardware recommendation__ Below are the hardware recommendations based on traffic ranges. From 8eb4633e49eeb01a3ea0c30921003159ab927248 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:37:06 -0700 Subject: [PATCH 19/61] Update mcc-isp-faq.yml Updated hardware recommendations and added peering question. --- windows/deployment/do/mcc-isp-faq.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/mcc-isp-faq.yml b/windows/deployment/do/mcc-isp-faq.yml index 863ae62232..7f23b6dbb6 100644 --- a/windows/deployment/do/mcc-isp-faq.yml +++ b/windows/deployment/do/mcc-isp-faq.yml @@ -27,6 +27,8 @@ sections: answer: Yes. Microsoft Connected Cache is a free service. - question: What will Microsoft Connected Cache do for me? How will it impact our customers? answer: As an ISP, your network can benefit from reduced load on your backbone and improve customer download experience for supported Microsoft static content. It will also help you save on CDN costs. + - question: I already peer with Microsoft(8075). What benefit will I receive by adding Microsoft Connected Cache to my network? + answer: MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC. - question: Is there a non-disclosure agreement to sign? answer: No, a non-disclosure agreement isn't required. - question: What are the prerequisites and hardware requirements? @@ -40,8 +42,15 @@ sections: The following are recommended hardware configurations: - - [!INCLUDE [Microsoft Connected Cache Prerequisites](includes/mcc-prerequisites.md)] +| Microsoft Connected Cache Machine Class | Scenario |Traffic Range|VM/Hardware Recommendation| +| -------- | -------- | -------- | -------- | +| Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak|VM Up to 8 Cores

Up to 16 GB Memory

1 500 GB SSD| +| Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that may require one of more cache nodes. |5 - 20 Gbps Peak|VM or Hardware

16 Cores*

32 GB Memory

2 - 3 500 GB SSDs each| +|Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and may require deployment of multiple cache nodes.|20 - 40 Gbps Peak|Hardware (see sample spec below)

32 or More Cores*

64 or more GB Memory

4 - 6 500 - 1 TB SSDs** each| + +*Requires systems (chipset, CPU, motherboard) with PCIe version 3 or higher + +**Drive speeds are important and to achieve higher egress we recommend SSD NVMe in m.2 PCIe slot (version 4 or higher) We have one customer who is able to achieve mid-30s Gbps egress rate using the following hardware specification: - Dell PowerEdge R330 From 6f575f0f41ae584e21f927d1cff9532bf727a6c4 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 20 Mar 2024 14:59:30 -0700 Subject: [PATCH 20/61] update metadata --- windows/client-management/manage-windows-copilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index aa745019bb..2459acb9b0 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -3,7 +3,7 @@ title: Manage Copilot in Windows description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows. ms.topic: conceptual ms.subservice: windows-copilot -ms.date: 03/14/2024 +ms.date: 03/21/2024 ms.author: mstewart author: mestew appliesto: From f55722c585808aea73d10ed4de5402379cfa8368 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:17:57 -0600 Subject: [PATCH 21/61] Update policy-csp-windowslogon.md --- windows/client-management/mdm/policy-csp-windowslogon.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/windows/client-management/mdm/policy-csp-windowslogon.md b/windows/client-management/mdm/policy-csp-windowslogon.md index 9d17406fe6..8af407de72 100644 --- a/windows/client-management/mdm/policy-csp-windowslogon.md +++ b/windows/client-management/mdm/policy-csp-windowslogon.md @@ -389,6 +389,13 @@ This policy controls the configuration under which winlogon sends MPR notificati +> [!NOTE] +> Starting in Windows Insiders build 25216, the behavior of EnableMPRNotifications policy was changed, and the Group Policy was updated with the following text: +> +> - **Friendly name**: Configure the transmission of the user's password in the content of MPR notifications sent by winlogon +> - **Description**: This policy controls whether the user's password is included in the content of MPR notifications sent by winlogon in the system. +> - If you disable this setting or do not configure it, winlogon sends MPR notifications with empty password fields of the user's authentication info. +> - If you enable this setting, winlogon sends MPR notifications containing the user's password in the authentication info. From a1d9d6d021a4876ab3847b0ef48922616365b02d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 21 Mar 2024 10:06:10 -0700 Subject: [PATCH 22/61] edits --- windows/deployment/do/mcc-isp-faq.yml | 50 +++++++++++++-------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/windows/deployment/do/mcc-isp-faq.yml b/windows/deployment/do/mcc-isp-faq.yml index 7f23b6dbb6..a14d758d86 100644 --- a/windows/deployment/do/mcc-isp-faq.yml +++ b/windows/deployment/do/mcc-isp-faq.yml @@ -15,7 +15,7 @@ metadata: appliesto: - ✅
Windows 11 - ✅ Windows 10 - ms.date: 04/27/2023 + ms.date: 03/21/2024 title: Microsoft Connected Cache Frequently Asked Questions summary: | Frequently asked questions about Microsoft Connected Cache @@ -28,7 +28,7 @@ sections: - question: What will Microsoft Connected Cache do for me? How will it impact our customers? answer: As an ISP, your network can benefit from reduced load on your backbone and improve customer download experience for supported Microsoft static content. It will also help you save on CDN costs. - question: I already peer with Microsoft(8075). What benefit will I receive by adding Microsoft Connected Cache to my network? - answer: MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC. + answer: MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. can't be served via 8075. So, even if you're peering with Microsoft, you can benefit from installing MCC. - question: Is there a non-disclosure agreement to sign? answer: No, a non-disclosure agreement isn't required. - question: What are the prerequisites and hardware requirements? @@ -42,36 +42,36 @@ sections: The following are recommended hardware configurations: -| Microsoft Connected Cache Machine Class | Scenario |Traffic Range|VM/Hardware Recommendation| -| -------- | -------- | -------- | -------- | -| Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak|VM Up to 8 Cores

Up to 16 GB Memory

1 500 GB SSD| -| Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that may require one of more cache nodes. |5 - 20 Gbps Peak|VM or Hardware

16 Cores*

32 GB Memory

2 - 3 500 GB SSDs each| -|Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and may require deployment of multiple cache nodes.|20 - 40 Gbps Peak|Hardware (see sample spec below)

32 or More Cores*

64 or more GB Memory

4 - 6 500 - 1 TB SSDs** each| - -*Requires systems (chipset, CPU, motherboard) with PCIe version 3 or higher - -**Drive speeds are important and to achieve higher egress we recommend SSD NVMe in m.2 PCIe slot (version 4 or higher) - + | Microsoft Connected Cache Machine Class | Scenario |Traffic Range| VM/Hardware Recommendation| + | -------- | -------- | -------- | -------- | + | Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak| VM
Up to 8 cores

Up to 16-GB memory

1 500 GB SSD| + | Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that might require one of more cache nodes. |5 to 20 Gbps Peak| VM or hardware

16 cores*

32-GB memory

2 - 3 500-GB SSDs each| + |Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and might require deployment of multiple cache nodes.|20 to 40 Gbps Peak| Hardware, see sample spec below:

32 or more cores*

64 or more GB memory

4 - 6 500 - 1-TB SSDs** each| + + *Requires systems (chipset, CPU, motherboard) with PCIe version 3, or higher. + + **Drive speeds are important and to achieve higher egress, we recommend SSD NVMe in m.2 PCIe slot (version 4, or higher). + We have one customer who is able to achieve mid-30s Gbps egress rate using the following hardware specification: - Dell PowerEdge R330 - 2 x Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40 GHz, total 32 core - 48 GB, Micron Technology 18ASF1G72PDZ-2G1A1, Speed: 2133 MT/s - 4 - Transcend SSD230s 1 TB SATA Drives Intel Corporation Ethernet 10G 2P X520 Adapter (Link Aggregated) - - question: Will I need to provide hardware BareMetal server or VM? - answer: Microsoft Connected Cache is a software-only caching solution and will require you to provide your own server to host the software. + - question: Do I need to provide hardware BareMetal server or VM? + answer: Microsoft Connected Cache is a software-only caching solution and requires you to provide your own server to host the software. - question: Can we use hard drives instead of SSDs? answer: We highly recommend using SSDs as Microsoft Connected Cache is a read intensive application. We also recommend using multiple drives to improve performance. - - question: Will I need to manually enter the CIDR blocks? If I have multiple cache nodes, should I configure a subset of CIDR blocks to each cache node? - answer: You can choose to route your traffic using manual CIDR blocks or BGP. If you have multiple Microsoft Connected Cache(s), you can allocate subsets of CIDR blocks to each cache node if you wish. However, since Microsoft Connected Cache has automatic load balancing, we recommend adding all of your traffic to all of your cache nodes. + - question: Do I need to manually enter the CIDR blocks? If I have multiple cache nodes, should I configure a subset of CIDR blocks to each cache node? + answer: You can choose to route your traffic using manual CIDR blocks or BGP. If you have multiple Microsoft Connected Caches, you can allocate subsets of CIDR blocks to each cache node if you wish. However, since Microsoft Connected Cache has automatic load balancing, we recommend adding all of your traffic to all of your cache nodes. - question: Should I add any load balancing mechanism? - answer: You don't need to add any load balancing. Our service will take care of routing traffic if you have multiple cache nodes serving the same CIDR blocks based on the reported health of the cache node. - - question: How many Microsoft Connected Cache instances will I need? How do we set up if we support multiple countries or regions? - answer: As stated in the table above, the recommended configuration will achieve near the maximum possible egress of 40 Gbps with a two-port link aggregated NIC and four cache drives. We have a feature coming soon that will help you estimate the number of cache nodes needed. If your ISP spans multiple countries or regions, you can set up separate cache nodes per country or region. + answer: You don't need to add any load balancing. Our service takes care of routing traffic if you have multiple cache nodes serving the same CIDR blocks based on the reported health of the cache node. + - question: How many Microsoft Connected Cache instances do I need? How do we set up if we support multiple countries or regions? + answer: As stated in the recommend hardware table, the recommended configuration achieves near the maximum possible egress of 40 Gbps with a two-port link aggregated NIC and four cache drives. We have a feature coming soon that helps you estimate the number of cache nodes needed. If your ISP spans multiple countries or regions, you can set up separate cache nodes per country or region. - question: Where should we install Microsoft Connected Cache? answer: You are in control of your hardware and you can pick the location based on your traffic and end customers. You can choose the location where you have your routers or where you have dense traffic or any other parameters. - question: How long would a piece of content live within the Microsoft Connected Cache? Is content purged from the cache? - answer: Once a request for said content is made, NGINX will look at the cache control headers from the original acquisition. If that content has expired, NGINX will continue to serve the stale content while it's downloading the new content. We cache the content for 30 days. The content will be in the hot cache path (open handles and such) for 24 hrs, but will reside on disk for 30 days. The drive fills up and nginx will start to delete content based on its own algorithm, probably some combination of least recently used. + answer: Once a request for said content is made, NGINX looks at the cache control headers from the original acquisition. If that content is expired, NGINX continues to serve the stale content while it's downloading the new content. We cache the content for 30 days. The content will be in the hot cache path (open handles and such) for 24 hrs, but will reside on disk for 30 days. The drive fills up and nginx will start to delete content based on its own algorithm, probably some combination of least recently used. - question: What content is cached by Microsoft Connected Cache? answer: For more information about content cached, see [Delivery Optimization and Microsoft Connected Cache content endpoints - Windows Deployment](delivery-optimization-endpoints.md). - question: Does Microsoft Connected Cache support Xbox or Teams content? @@ -82,9 +82,9 @@ sections: answer: We have already successfully onboarded ISPs in many countries and regions around the world and have received positive feedback! However, you can always start off with a portion of your CIDR blocks to test out the performance of MCC before expanding to more customers. - question: How does Microsoft Connected Cache populate its content? answer: Microsoft Connected Cache is a cold cache warmed by client requests. The client requests content and that is what fills up the cache. There's no off-peak cache fill necessary. Microsoft Connected Cache will reach out to different CDN providers just like a client device would. The traffic flow from Microsoft Connected Cache will vary depending on how you currently transit to each of these CDN providers. The content can come from third party CDNs or from AFD. - - question: What CDNs will Microsoft Connected Cache pull content from? + - question: What CDNs does Microsoft Connected Cache pull content from? answer: | - Microsoft relies on a dynamic mix of 1st and 3rd party CDN providers to ensure enough capacity, redundancy, and performance for the delivery of Microsoft served content. Though we don't provide lists of the CDN vendors we utilize as they can change without notice, our endpoints are public knowledge. If someone were to perform a series of DNS lookups against our endpoints (tlu.dl.delivery.mp.microsoft.com for example), they would be able to determine which CDN or CDNs were in rotation at a given point in time: + Microsoft relies on a dynamic mix of 1st and 3rd party CDN providers to ensure enough capacity, redundancy, and performance for the delivery of Microsoft served content. Though we don't provide lists of the CDN vendors we utilize as they can change without notice, our endpoints are public knowledge. If someone were to perform a series of DNS lookups against our endpoints (tlu.dl.delivery.mp.microsoft.com for example), they would be able to determine which CDN or CDNs were in rotation at a given point in time: $ dig +noall +answer tlu.dl.delivery.mp.microsoft.com | grep -P "IN\tA" @@ -93,13 +93,13 @@ sections: $ whois 13.107.4.50|grep "Organization:" Organization: Microsoft Corporation (MSFT) - - question: I'm a network service provider and have downstream transit customers. If one of my downstream transit customers onboards to Microsoft Connected Cache, how will it affect my traffic? + - question: I'm a network service provider and have downstream transit customers. If one of my downstream transit customers onboards to Microsoft Connected Cache, how does it affect my traffic? answer: If a downstream customer deploys a Microsoft Connected Cache node, the cache controller will prefer the downstream ASN when handling that ASN's traffic. - question: I signed up for Microsoft Connected Cache, but I'm not receiving the verification email. What should I do? - answer: First, check that the email under the NOC role is correct in your PeeringDB page. If the email associated with NOC role is correct, search for an email from the sender "microsoft-noreply@microsoft.com" with the email subject - "Here's your Microsoft Connected Cache verification code" in your Spam folders. Still can't find it? Ensure that your email admin rules allow emails from the sender "microsoft-noreply@microsoft.com". + answer: First, check that the email under the NOC role is correct in your PeeringDB page. If the email associated with NOC role is correct, search for an email from the sender "microsoft-noreply@microsoft.com" with the email subject - "Here's your Microsoft Connected Cache verification code" in your Spam folders. Still can't find it? Ensure that your email admin rules allow emails from the sender `microsoft-noreply@microsoft.com`. - question: I noticed I can set up BGP for routing. How does BGP routing work for Microsoft Connected Cache? answer: BGP routing can be set up as an automatic method of routing traffic. To learn more about how BGP is used with Microsoft Connected Cache, see [BGP Routing](mcc-isp-create-provision-deploy.md#bgp-routing). - question: I have an active MCC, but I'm noticing I hit the message limit for my IoT Hub each day. Does this affect my MCC performance and should I be concerned? - answer: Even when the quota of 8k messages is hit, the MCC functionality won't be affected. Your client devices will continue to download content as normal. You'll also not be charged above the 8k message limit, so you don't need to worry at all about getting a paid plan. MCC will always be a free service. So if functionality isn't impacted, what is? Instead, messages about the configuration or edge deployment would be impacted. This means that if there was a request to update your MCC and the daily quota was reached, your MCC might not update. In that case, you would just need to wait for the next day to update. This is only a limitation of the early preview and isn't an issue during public preview. + answer: Even when the quota of 8k messages is hit, the MCC functionality isn't affected. Your client devices continue to download content as normal. You also won't be charged above the 8k message limit, so you don't need to worry at all about getting a paid plan. MCC will always be a free service. So if functionality isn't impacted, what is? Instead, messages about the configuration or edge deployment would be impacted. This means that if there was a request to update your MCC and the daily quota was reached, your MCC might not update. In that case, you would just need to wait for the next day to update. This is only a limitation of the early preview and isn't an issue during public preview. - question: What do I do if I need more support and have more questions even after reading this FAQ page? answer: For further support for Microsoft Connected Cache, visit [Troubleshooting Issues for Microsoft Connected Cache for ISP (public preview)](mcc-isp-support.md). From def6a99b9a37f661158b64efdb5039760718914b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 21 Mar 2024 11:08:37 -0700 Subject: [PATCH 23/61] edits --- windows/deployment/do/mcc-isp-faq.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/mcc-isp-faq.yml b/windows/deployment/do/mcc-isp-faq.yml index a14d758d86..9f0d502be8 100644 --- a/windows/deployment/do/mcc-isp-faq.yml +++ b/windows/deployment/do/mcc-isp-faq.yml @@ -46,7 +46,7 @@ sections: | -------- | -------- | -------- | -------- | | Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak| VM
Up to 8 cores

Up to 16-GB memory

1 500 GB SSD| | Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that might require one of more cache nodes. |5 to 20 Gbps Peak| VM or hardware

16 cores*

32-GB memory

2 - 3 500-GB SSDs each| - |Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and might require deployment of multiple cache nodes.|20 to 40 Gbps Peak| Hardware, see sample spec below:

32 or more cores*

64 or more GB memory

4 - 6 500 - 1-TB SSDs** each| + |Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and might require deployment of multiple cache nodes.|20 to 40 Gbps Peak| Hardware, see sample spec below:

32 or more cores*

64 or more GB memory

4 - 6 500 - 1-TB SSDs** each | *Requires systems (chipset, CPU, motherboard) with PCIe version 3, or higher. @@ -67,7 +67,7 @@ sections: - question: Should I add any load balancing mechanism? answer: You don't need to add any load balancing. Our service takes care of routing traffic if you have multiple cache nodes serving the same CIDR blocks based on the reported health of the cache node. - question: How many Microsoft Connected Cache instances do I need? How do we set up if we support multiple countries or regions? - answer: As stated in the recommend hardware table, the recommended configuration achieves near the maximum possible egress of 40 Gbps with a two-port link aggregated NIC and four cache drives. We have a feature coming soon that helps you estimate the number of cache nodes needed. If your ISP spans multiple countries or regions, you can set up separate cache nodes per country or region. + answer: As stated in the recommended hardware table, the recommended configuration achieves near the maximum possible egress of 40 Gbps with a two-port link aggregated NIC and four cache drives. We have a feature coming soon that helps you estimate the number of cache nodes needed. If your ISP spans multiple countries or regions, you can set up separate cache nodes per country or region. - question: Where should we install Microsoft Connected Cache? answer: You are in control of your hardware and you can pick the location based on your traffic and end customers. You can choose the location where you have your routers or where you have dense traffic or any other parameters. - question: How long would a piece of content live within the Microsoft Connected Cache? Is content purged from the cache? From 193c5225b234679dd86bc5d1b6fd8a9104551f62 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 21 Mar 2024 13:38:05 -0700 Subject: [PATCH 24/61] edits, remove unused png files --- windows/deployment/do/mcc-isp-overview.md | 23 +++++++++--------- .../mcc-isp-overview/mcc-isp-hardwarerec.png | Bin 73604 -> 0 bytes .../mcc-isp-overview/mcc-isp-hardwarerec1.png | Bin 81764 -> 0 bytes 3 files changed, 12 insertions(+), 11 deletions(-) delete mode 100644 windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png delete mode 100644 windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index d574ebd6f6..f56b2ea6ef 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -13,7 +13,7 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Microsoft Connected Cache for ISPs -ms.date: 07/27/2023 +ms.date: 03/21/2024 --- # Microsoft Connected Cache for ISPs overview @@ -39,9 +39,10 @@ Microsoft Connected Cache uses Delivery Optimization as the backbone for Microso #### Are you already peering with 8075? -MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. cannot be served via 8075. So, even if you are peering with Microsoft, you can benefit from installing MCC! +MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. can't be served via 8075. So, even if you're peering with Microsoft, you can benefit from installing MCC. + +:::image type="content" source="./media/mcc-isp-overview/mcc-isp-peeringvsmcc.png" alt-text="Chart containing Peering vs Cache Content Traffic." lightbox="./media/mcc-isp-overview/mcc-isp-peeringvsmcc.png"::: -![mcc-isp-peeringvsmcc](media/mcc-isp-overview/mcc-isp-peeringvsmcc.png) For the full list of content endpoints that Microsoft Connected Cache for ISPs supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md). ## How MCC works @@ -74,18 +75,18 @@ The following steps describe how MCC is provisioned and used: 1. Subsequent requests from end-user devices for content will be served from cache. 1. If the MCC node is unavailable, the client gets content from the CDN to ensure uninterrupted service for your subscribers. -### __Hardware recommendation__ -Below are the hardware recommendations based on traffic ranges. +### Hardware recommendation +The following are recommended hardware configurations based on traffic ranges: -|Microsoft Connected Cache Machine Class | Scenario |Traffic Range|VM/Hardware Recommendation| +| Microsoft Connected Cache Machine Class | Scenario |Traffic Range| VM/Hardware Recommendation| | -------- | -------- | -------- | -------- | -| Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak|VM Up to 8 Cores

Up to 16 GB Memory

1 500 GB SSD| -| Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that may require one of more cache nodes. |5 - 20 Gbps Peak|VM or Hardware

16 Cores*

32 GB Memory

2 - 3 500 GB SSDs each| -|Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and may require deployment of multiple cache nodes.|20 - 40 Gbps Peak|Hardware (see sample spec below)

32 or More Cores*

64 or more GB Memory

4 - 6 500 - 1 TB SSDs** each| +| Edge | For smaller ISPs or remote sites part of a larger network. |< 5 Gbps Peak| **VM**

Up to 8 cores

Up to 16-GB memory

1 500 GB SSD| +| Metro POP | For ISPs, IXs, or Transit Providers serving a moderate amount of traffic in a network that might require one of more cache nodes. |5 to 20 Gbps Peak| **VM or hardware**

16 cores*

32-GB memory

2 - 3 500-GB SSDs each| +|Data Center|For ISPs, IXs, or Transit Providers serving a large amount traffic daily and might require deployment of multiple cache nodes.|20 to 40 Gbps Peak| **Hardware**, see sample spec below:

32 or more cores*

64 or more GB memory

4 - 6 500 - 1-TB SSDs** each | -*Requires systems (chipset, CPU, motherboard) with PCIe version 3 or higher +*Requires systems (chipset, CPU, motherboard) with PCIe version 3, or higher. -**Drive speeds are important and to achieve higher egress we recommend SSD NVMe in m.2 PCIe slot (version 4 or higher) +**Drive speeds are important and to achieve higher egress, we recommend SSD NVMe in m.2 PCIe slot (version 4, or higher). diff --git a/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png b/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec.png deleted file mode 100644 index 73e1d5cfb0b71794806c909df1d01990452405ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73604 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

tQv9^4?txI2$$lZSkWGncF3 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�}P^)4Z3U${GlAfkTyTaL$?zW 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 z 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 iBlqy9oHKG diff --git a/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png b/windows/deployment/do/media/mcc-isp-overview/mcc-isp-hardwarerec1.png deleted file mode 100644 index b3977259dc2fbf7210d5b976f80fbdc60c08c682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81764 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

}Hzp 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 Date: Thu, 21 Mar 2024 13:38:59 -0700 Subject: [PATCH 25/61] edits, remove unused png files --- windows/deployment/do/mcc-isp-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index f56b2ea6ef..eb223f6f06 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -37,7 +37,7 @@ Microsoft Connected Cache uses Delivery Optimization as the backbone for Microso - Endpoint protection: Windows Defender definition updates - Xbox: Xbox Game Pass (PC only) -#### Are you already peering with 8075? +### Are you already peering with 8075? MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. can't be served via 8075. So, even if you're peering with Microsoft, you can benefit from installing MCC. From 3ec755e46d5d06eab4e9d26fcfb6e89aff26a63a Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:32:30 -0700 Subject: [PATCH 26/61] Update mcc-isp-overview.md --- windows/deployment/do/mcc-isp-overview.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-isp-overview.md b/windows/deployment/do/mcc-isp-overview.md index eb223f6f06..e3474b59cb 100644 --- a/windows/deployment/do/mcc-isp-overview.md +++ b/windows/deployment/do/mcc-isp-overview.md @@ -37,13 +37,14 @@ Microsoft Connected Cache uses Delivery Optimization as the backbone for Microso - Endpoint protection: Windows Defender definition updates - Xbox: Xbox Game Pass (PC only) +For the full list of content endpoints that Microsoft Connected Cache for ISPs supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md). + ### Are you already peering with 8075? MCC complements peering by offloading static content that is served off of multiple CDNs such as Akamai, Lumen, Edgecast. Static content such as OS updates, Apps, Software installs etc. can't be served via 8075. So, even if you're peering with Microsoft, you can benefit from installing MCC. :::image type="content" source="./media/mcc-isp-overview/mcc-isp-peeringvsmcc.png" alt-text="Chart containing Peering vs Cache Content Traffic." lightbox="./media/mcc-isp-overview/mcc-isp-peeringvsmcc.png"::: -For the full list of content endpoints that Microsoft Connected Cache for ISPs supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md). ## How MCC works From be0f3271d463bb97b812cc073bcb68deb293c01b Mon Sep 17 00:00:00 2001 From: Harman Thind <63820404+hathin@users.noreply.github.com> Date: Thu, 21 Mar 2024 17:03:39 -0700 Subject: [PATCH 27/61] Update windows-autopatch-register-devices.md @tiaraquan Updating these docs to reflect changes where we no longer check for serial number, model, manufacturer --- .../deploy/windows-autopatch-register-devices.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md index b7245596bf..f0938f7fd7 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md @@ -80,10 +80,6 @@ To be eligible for Windows Autopatch management, devices must meet a minimum set - Device configuration - Office Click-to-run - Last Intune device check in completed within the last 28 days. -- Devices must have Serial Number, Model and Manufacturer. - -> [!NOTE] -> Windows Autopatch doesn't support device emulators that don't generate the serial number, model and manufacturer information. Devices that use a non-supported device emulator fail the **Intune or Cloud-Attached** prerequisite check. > [!IMPORTANT] > Windows Autopatch supports registering [Windows 10 Long-Term Servicing Channel (LTSC)](/windows/whats-new/ltsc/) devices that are being currently serviced by the [Windows LTSC](/windows/release-health/release-information). The service only supports managing the [Windows quality updates](../operate/windows-autopatch-windows-quality-update-overview.md) workload for devices currently serviced by the LTSC. Windows Update for Business service and Windows Autopatch don't offer Windows feature updates for devices that are part of the LTSC. You must either use [LTSC media](https://www.microsoft.com/evalcenter/evaluate-windows-10-enterprise) or the [Configuration Manager Operating System Deployment capabilities to perform an in-place upgrade](/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager) for Windows devices that are part of the LTSC. From c4a2d50e07a049563094f9f735630a8ecdf06d2d Mon Sep 17 00:00:00 2001 From: Warren Williams Date: Thu, 21 Mar 2024 19:06:30 -0500 Subject: [PATCH 28/61] Learn Editor: Update deprecated-features.md --- windows/whats-new/deprecated-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 4b4df97331..3f995f79a3 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -48,7 +48,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

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

This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | | Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | @@ -99,7 +99,7 @@ The features in this article are no longer being actively developed, and might b |IIS Digest Authentication | We recommend that users use alternative authentication methods.| 1709 | |RSA/AES Encryption for IIS | We recommend that users use CNG encryption provider. | 1709 | |Screen saver functionality in Themes | Disabled in Themes. Screen saver functionality in Group Policies, Control Panel, and Sysprep continues to be functional. Lock screen features and policies are preferred. | 1709 | -|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work. | 1709 | +|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided you upgrade your Windows clients to an updated version of 21h2.| 1709 | |System Image Backup (SIB) Solution|This feature is also known as the **Backup and Restore (Windows 7)** legacy control panel. For full-disk backup solutions, look for a third-party product from another software publisher. You can also use [OneDrive](/onedrive/) to sync data files with Microsoft 365.| 1709 | |TLS RC4 Ciphers |To be disabled by default. For more information, see [TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server)| 1709 | |Trusted Platform Module (TPM) Owner Password Management |This functionality within TPM.msc will be migrated to a new user interface.| 1709 | From 35decd4fea0f8c8815eb91eff5b8d00aa7895279 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 22 Mar 2024 09:38:49 -0700 Subject: [PATCH 30/61] wordpad-dep-moreinfo-8840580 --- windows/whats-new/deprecated-features-resources.md | 12 +++++++++++- windows/whats-new/deprecated-features.md | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/windows/whats-new/deprecated-features-resources.md b/windows/whats-new/deprecated-features-resources.md index 31d2f8b2ba..2bafb5aff4 100644 --- a/windows/whats-new/deprecated-features-resources.md +++ b/windows/whats-new/deprecated-features-resources.md @@ -1,7 +1,7 @@ --- title: Resources for deprecated features in the Windows client description: Resources and details for deprecated features in the Windows client. -ms.date: 10/09/2023 +ms.date: 03/25/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -21,6 +21,16 @@ appliesto: This article provides additional resources about [deprecated features for Windows client](deprecated-features.md) that may be needed by IT professionals. The following information is provided to help IT professionals plan for the removal of deprecated features: +## WordPad + +WordPad will be removed from all editions of Windows in an upcoming release. As a result, Windows will no longer have a built-in, default RTF reader. We recommend Microsoft Word for rich text documents like .doc and .rtf and Notepad for plain text documents like .txt. The following binaries will be removed as a result of WordPad removal: + +- wordpad.exe +- wordpadfilter.dll +- write.exe + +Avoid taking a direct dependency on these binaries and Wordpad in your product. Instead, for trying to open a text file, rely on Microsoft Word or Notepad. + ## VBScript VBScript will be available as a [feature on demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities) before being retired in future Windows releases. Initially, the VBScript feature on demand will be preinstalled to allow for uninterrupted use while you prepare for the retirement of VBScript. diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 240545d36a..dc1d26cacc 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 03/14/2024 +ms.date: 03/25/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -62,7 +62,7 @@ The features in this article are no longer being actively developed, and might b | Remote Mailslots | Remote Mailslots are deprecated. The Remote Mailslot protocol is a dated, simple, unreliable, insecure IPC method first introduced in MS DOS. This protocol was first disabled by default in [Windows 11 Insider Preview Build ](https://blogs.windows.com/windows-insider/2023/03/08/announcing-windows-11-insider-preview-build-25314/). For more information on Remote Mailslots, see [About Mailslots](/windows/win32/ipc/about-mailslots) and [[MS-MAIL]: Remote Mailslot Protocol](/openspecs/windows_protocols/ms-mail/8ea19aa4-6e5a-4aed-b628-0b5cd75a1ab9).| November 2023 | | Timeline for Microsoft Entra accounts | Cross-device syncing of Microsoft Entra user activity history will stop starting in January 2024. Microsoft will stop storing this data in the cloud, aligning with [the previous change for Microsoft accounts (MSA)](https://blogs.windows.com/windows-insider/2021/04/14/announcing-windows-10-insider-preview-build-21359) in 2021. The timeline user experience was retired in Windows 11, although it remains in Windows 10. The timeline user experience and all your local activity history still remains on Windows 10 devices. Users can access web history using their browser and access recent files through OneDrive and Office. | October 2023 | | VBScript | VBScript is deprecated. In future releases of Windows, VBScript will be available as a feature on demand before its removal from the operating system. For more information, see [Resources for deprecated features](deprecated-features-resources.md#vbscript). | October 2023 | -| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt. | September 1, 2023 | +| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt.

**[Update - March 2024]**: If you're a developer and need information about the affected binaries, see [Resources for deprecated features](deprecated-features-resources.md#wordpad). | September 1, 2023 | | AllJoyn | Microsoft's implementation of AllJoyn, which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | | TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| | Cortana in Windows | Cortana in Windows as a standalone app is deprecated. This change only impacts Cortana in Windows, and your productivity assistant, Cortana, will continue to be available in Outlook mobile, Teams mobile, Microsoft Teams display, and Microsoft Teams rooms. | June 2023 | From eed9febe43ca8a0d8a19b64d502a413e89d11e13 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 22 Mar 2024 10:19:20 -0700 Subject: [PATCH 31/61] wordpad-dep-moreinfo-8840580 --- windows/whats-new/deprecated-features-resources.md | 2 +- windows/whats-new/deprecated-features.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/deprecated-features-resources.md b/windows/whats-new/deprecated-features-resources.md index 2bafb5aff4..521dc1b1be 100644 --- a/windows/whats-new/deprecated-features-resources.md +++ b/windows/whats-new/deprecated-features-resources.md @@ -23,7 +23,7 @@ This article provides additional resources about [deprecated features for Window ## WordPad -WordPad will be removed from all editions of Windows in an upcoming release. As a result, Windows will no longer have a built-in, default RTF reader. We recommend Microsoft Word for rich text documents like .doc and .rtf and Notepad for plain text documents like .txt. The following binaries will be removed as a result of WordPad removal: +WordPad will be removed from all editions of Windows starting in Windows 11, version 24H2 and Windows Server 2025. As a result, Windows will no longer have a built-in, default RTF reader. We recommend Microsoft Word for rich text documents like .doc and .rtf and Notepad for plain text documents like .txt. The following binaries will be removed as a result of WordPad removal: - wordpad.exe - wordpadfilter.dll diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index dc1d26cacc..bdd77ff872 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -62,7 +62,7 @@ The features in this article are no longer being actively developed, and might b | Remote Mailslots | Remote Mailslots are deprecated. The Remote Mailslot protocol is a dated, simple, unreliable, insecure IPC method first introduced in MS DOS. This protocol was first disabled by default in [Windows 11 Insider Preview Build ](https://blogs.windows.com/windows-insider/2023/03/08/announcing-windows-11-insider-preview-build-25314/). For more information on Remote Mailslots, see [About Mailslots](/windows/win32/ipc/about-mailslots) and [[MS-MAIL]: Remote Mailslot Protocol](/openspecs/windows_protocols/ms-mail/8ea19aa4-6e5a-4aed-b628-0b5cd75a1ab9).| November 2023 | | Timeline for Microsoft Entra accounts | Cross-device syncing of Microsoft Entra user activity history will stop starting in January 2024. Microsoft will stop storing this data in the cloud, aligning with [the previous change for Microsoft accounts (MSA)](https://blogs.windows.com/windows-insider/2021/04/14/announcing-windows-10-insider-preview-build-21359) in 2021. The timeline user experience was retired in Windows 11, although it remains in Windows 10. The timeline user experience and all your local activity history still remains on Windows 10 devices. Users can access web history using their browser and access recent files through OneDrive and Office. | October 2023 | | VBScript | VBScript is deprecated. In future releases of Windows, VBScript will be available as a feature on demand before its removal from the operating system. For more information, see [Resources for deprecated features](deprecated-features-resources.md#vbscript). | October 2023 | -| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt.

**[Update - March 2024]**: If you're a developer and need information about the affected binaries, see [Resources for deprecated features](deprecated-features-resources.md#wordpad). | September 1, 2023 | +| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt.

**[Update - March 2024]**: WordPad will be removed from all editions of Windows starting in Windows 11, version 24H2 and Windows Server 2025. If you're a developer and need information about the affected binaries, see [Resources for deprecated features](deprecated-features-resources.md#wordpad). | September 1, 2023 | | AllJoyn | Microsoft's implementation of AllJoyn, which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | | TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| | Cortana in Windows | Cortana in Windows as a standalone app is deprecated. This change only impacts Cortana in Windows, and your productivity assistant, Cortana, will continue to be available in Outlook mobile, Teams mobile, Microsoft Teams display, and Microsoft Teams rooms. | June 2023 | From 8118e07c87f3e4d24c74a654d6b8b273cabc102c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 22 Mar 2024 10:29:44 -0700 Subject: [PATCH 32/61] wordpad-dep-moreinfo-8840580 --- windows/whats-new/deprecated-features.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index bdd77ff872..851c356c74 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -19,13 +19,13 @@ appliesto: # Deprecated features for Windows client -Each version of Windows client adds new features and functionality. Occasionally, new versions also remove features and functionality, often because they've added a newer option. This article provides details about the features and functionalities that are no longer being developed in Windows client. For more information about features that have been removed, see [Windows features removed](removed-features.md). +Each version of Windows client adds new features and functionality. Occasionally, new versions also remove features and functionality, often because they added a newer option. This article provides details about the features and functionalities that are no longer being developed in Windows client. For more information about features that were removed, see [Windows features removed](removed-features.md). For more information about features in Windows 11, see [Feature deprecations and removals](https://www.microsoft.com/windows/windows-11-specifications#table3). To understand the distinction between *deprecation* and *removal*, see [Windows client features lifecycle](feature-lifecycle.md). -The features in this article are no longer being actively developed, and might be removed in a future update. Some features have been replaced with other features or functionality and some are now available from other sources. +The features in this article are no longer being actively developed, and might be removed in a future update. Some features were replaced with other features or functionality and some are now available from other sources. > [!TIP] > You can use RSS to be notified when this page is updated. For example, the following RSS link includes this article: @@ -63,12 +63,12 @@ The features in this article are no longer being actively developed, and might b | Timeline for Microsoft Entra accounts | Cross-device syncing of Microsoft Entra user activity history will stop starting in January 2024. Microsoft will stop storing this data in the cloud, aligning with [the previous change for Microsoft accounts (MSA)](https://blogs.windows.com/windows-insider/2021/04/14/announcing-windows-10-insider-preview-build-21359) in 2021. The timeline user experience was retired in Windows 11, although it remains in Windows 10. The timeline user experience and all your local activity history still remains on Windows 10 devices. Users can access web history using their browser and access recent files through OneDrive and Office. | October 2023 | | VBScript | VBScript is deprecated. In future releases of Windows, VBScript will be available as a feature on demand before its removal from the operating system. For more information, see [Resources for deprecated features](deprecated-features-resources.md#vbscript). | October 2023 | | WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt.

**[Update - March 2024]**: WordPad will be removed from all editions of Windows starting in Windows 11, version 24H2 and Windows Server 2025. If you're a developer and need information about the affected binaries, see [Resources for deprecated features](deprecated-features-resources.md#wordpad). | September 1, 2023 | -| AllJoyn | Microsoft's implementation of AllJoyn, which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | +| AllJoyn | Microsoft's implementation of AllJoyn, which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) is deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | | TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| | Cortana in Windows | Cortana in Windows as a standalone app is deprecated. This change only impacts Cortana in Windows, and your productivity assistant, Cortana, will continue to be available in Outlook mobile, Teams mobile, Microsoft Teams display, and Microsoft Teams rooms. | June 2023 | | Microsoft Support Diagnostic Tool (MSDT) | [MSDT](/windows-server/administration/windows-commands/msdt) is deprecated and will be removed in a future release of Windows. MSDT is used to gather diagnostic data for analysis by support professionals. For more information, see [Resources for deprecated features](deprecated-features-resources.md) | January 2023 | | Universal Windows Platform (UWP) Applications for 32-bit Arm | This change is applicable only to devices with an Arm processor, for example Snapdragon processors from Qualcomm. If you have a PC built with a processor from Intel or AMD, this content isn't applicable. If you aren't sure which type of processor you have, check **Settings** > **System** > **About**.

Support for 32-bit Arm versions of applications will be removed in a future release of Windows 11. After this change, for the small number of applications affected, app features might be different and you might notice a difference in performance. For more technical details about this change, see [Update app architecture from Arm32 to Arm64](/windows/arm/arm32-to-arm64). | January 2023 | -| Update Compliance | [Update Compliance](/windows/deployment/update/update-compliance-monitor), a cloud-based service for the Windows client, is no longer being developed. This service has been replaced with [Windows Update for Business reports](/windows/deployment/update/wufb-reports-overview), which provides reporting on client compliance with Microsoft updates from the Azure portal. | November 2022| +| Update Compliance | [Update Compliance](/windows/deployment/update/update-compliance-monitor), a cloud-based service for the Windows client, is no longer being developed. This service was replaced with [Windows Update for Business reports](/windows/deployment/update/wufb-reports-overview), which provides reporting on client compliance with Microsoft updates from the Azure portal. | November 2022| | Windows Information Protection | [Windows Information Protection](/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip) will no longer be developed in future versions of Windows. For more information, see [Announcing sunset of Windows Information Protection (WIP)](https://go.microsoft.com/fwlink/?linkid=2202124).

For your data protection needs, Microsoft recommends that you use [Microsoft Purview Information Protection](/microsoft-365/compliance/information-protection) and [Microsoft Purview Data Loss Prevention](/microsoft-365/compliance/dlp-learn-about-dlp). | July 2022 | | BitLocker To Go Reader | **Note: BitLocker to Go as a feature is still supported.**
Reading of BitLocker-protected removable drives ([BitLocker To Go](/windows/security/information-protection/bitlocker/bitlocker-to-go-faq)) from Windows XP or Windows Vista in later operating systems is deprecated and might be removed in a future release of Windows client.
The following items might not be available in a future release of Windows client:
- ADMX policy: **Allow access to BitLocker-protected removable data drives from earlier versions of Windows**
- Command line parameter: [`manage-bde -DiscoveryVolumeType`](/windows-server/administration/windows-commands/manage-bde-on) (-dv)
- Catalog file: **c:\windows\BitLockerDiscoveryVolumeContents**
- BitLocker 2 Go Reader app: **bitlockertogo.exe** and associated files | 21H1 | | Personalization roaming | Roaming of Personalization settings (including wallpaper, slideshow, accent colors, and lock screen images) is no longer being developed and might be removed in a future release. | 21H1 | @@ -86,7 +86,7 @@ The features in this article are no longer being actively developed, and might b | Wi-Fi WEP and TKIP | Since the 1903 release, a warning message has appeared when connecting to Wi-Fi networks secured with WEP or TKIP (which aren't as secure as those using WPA2 or WPA3). In a future release, any connection to a Wi-Fi network using these old ciphers will be disallowed. Wi-Fi routers should be updated to use AES ciphers, available with WPA2 or WPA3. | 1903 | | Print 3D app | 3D Builder is the recommended 3D printing app. To 3D print objects on new Windows devices, customers must first install 3D Builder from the Store.| 1903 | |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](/windows/security/identity-protection/hello-for-business/hello-feature-dynamic-lock), including an inbox method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this reason, and because non-Microsoft partners didn't adopt the CDF method, we're no longer developing CDF Dynamic Lock APIs.| 1809 | -|OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| 1809 | +|OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We added a sync engine to the Outlook app that provides the same synchronization.| 1809 | |[Software Restriction Policies](/windows-server/identity/software-restriction-policies/software-restriction-policies) in Group Policy|Instead of using the Software Restriction Policies through Group Policy, you can use [AppLocker](/windows/security/threat-protection/applocker/applocker-overview) or [Windows Defender Application Control](/windows/security/threat-protection/windows-defender-application-control) to control which apps users can access and what code can run in the kernel.| 1803 | |[Offline symbol packages](/windows-hardware/drivers/debugger/debugger-download-symbols) (Debug symbol MSIs)|We're no longer making the symbol packages available as a downloadable MSI. Instead, the [Microsoft Symbol Server is moving to be an Azure-based symbol store](/archive/blogs/windbg/update-on-microsofts-symbol-server). If you need the Windows symbols, connect to the Microsoft Symbol Server to cache your symbols locally or use a manifest file with SymChk.exe on a computer with internet access.| 1803 | |Windows Help Viewer (WinHlp32.exe)|All Windows help information is [available online](https://support.microsoft.com/products/windows?os=windows-10). The Windows Help Viewer is no longer supported in Windows 10. For more information, see [Error opening Help in Windows-based programs: "Feature not included" or "Help not supported"](https://support.microsoft.com/topic/error-opening-help-in-windows-based-programs-feature-not-included-or-help-not-supported-3c841463-d67c-6062-0ee7-1a149da3973b).| 1803 | @@ -113,7 +113,7 @@ The features in this article are no longer being actively developed, and might b |TLS DHE_DSS ciphers DisabledByDefault| [TLS RC4 Ciphers](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server) will be disabled by default in this release. | 1703 | |TCPChimney | TCP Chimney Offload is no longer being developed. See [Performance Tuning Network Adapters](/windows-server/networking/technologies/network-subsystem/net-sub-performance-tuning-nics). | 1703 | |IPsec Task Offload| [IPsec Task Offload](/windows-hardware/drivers/network/task-offload) versions 1 and 2 are no longer being developed and shouldn't be used. | 1703 | -|`wusa.exe /uninstall /kb:####### /quiet`|The `wusa` tool usage to quietly uninstall an update has been deprecated. The uninstall command with `/quiet` switch fails with event ID 8 in the Setup event log. Uninstalling updates quietly could be a security risk because malicious software could quietly uninstall an update in the background without user intervention.|1507
Applies to Windows Server 2016 and Windows Server 2019.| +|`wusa.exe /uninstall /kb:####### /quiet`|The `wusa` tool usage to quietly uninstall an update is deprecated. The uninstall command with `/quiet` switch fails with event ID 8 in the Setup event log. Uninstalling updates quietly could be a security risk because malicious software could quietly uninstall an update in the background without user intervention.|1507
Applies to Windows Server 2016 and Windows Server 2019.| From e132e878e596d5e984b29dda6a276b88ccd97218 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:10:50 -0700 Subject: [PATCH 33/61] edits --- windows/whats-new/deprecated-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index d8274c4d66..a330683d12 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 03/14/2024 +ms.date: 03/25/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -100,7 +100,7 @@ The features in this article are no longer being actively developed, and might b |IIS Digest Authentication | We recommend that users use alternative authentication methods.| 1709 | |RSA/AES Encryption for IIS | We recommend that users use CNG encryption provider. | 1709 | |Screen saver functionality in Themes | Disabled in Themes. Screen saver functionality in Group Policies, Control Panel, and Sysprep continues to be functional. Lock screen features and policies are preferred. | 1709 | -|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided you upgrade your Windows clients to an updated version of 21h2.| 1709 | +|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:

- Windows 11

- Windows 10, version 21H2, or later | 1709 | |System Image Backup (SIB) Solution|This feature is also known as the **Backup and Restore (Windows 7)** legacy control panel. For full-disk backup solutions, look for a third-party product from another software publisher. You can also use [OneDrive](/onedrive/) to sync data files with Microsoft 365.| 1709 | |TLS RC4 Ciphers |To be disabled by default. For more information, see [TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server)| 1709 | |Trusted Platform Module (TPM) Owner Password Management |This functionality within TPM.msc will be migrated to a new user interface.| 1709 | From e61f1970ed17bab3da71d2f580cddeb36e67f76a Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:15:18 -0700 Subject: [PATCH 34/61] edit formatting --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index a330683d12..d0351b9191 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -100,7 +100,7 @@ The features in this article are no longer being actively developed, and might b |IIS Digest Authentication | We recommend that users use alternative authentication methods.| 1709 | |RSA/AES Encryption for IIS | We recommend that users use CNG encryption provider. | 1709 | |Screen saver functionality in Themes | Disabled in Themes. Screen saver functionality in Group Policies, Control Panel, and Sysprep continues to be functional. Lock screen features and policies are preferred. | 1709 | -|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:

- Windows 11

- Windows 10, version 21H2, or later | 1709 | +|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:
- Windows 11
- Windows 10, version 21H2, or later | 1709 | |System Image Backup (SIB) Solution|This feature is also known as the **Backup and Restore (Windows 7)** legacy control panel. For full-disk backup solutions, look for a third-party product from another software publisher. You can also use [OneDrive](/onedrive/) to sync data files with Microsoft 365.| 1709 | |TLS RC4 Ciphers |To be disabled by default. For more information, see [TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server)| 1709 | |Trusted Platform Module (TPM) Owner Password Management |This functionality within TPM.msc will be migrated to a new user interface.| 1709 | From 5473e130d6fb79b452443eb4676f123b85356065 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:33:40 +0530 Subject: [PATCH 35/61] Update .acrolinx-config.edn --- .acrolinx-config.edn | 48 ++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/.acrolinx-config.edn b/.acrolinx-config.edn index c7880180f3..2794193b88 100644 --- a/.acrolinx-config.edn +++ b/.acrolinx-config.edn @@ -2,40 +2,32 @@ :allowed-branchname-matches ["main" "release-.*"] :allowed-filename-matches ["windows/"] - :targets + :use-gh-statuses true + + :targets { :counts { - ;;:correctness 13 - ;;:total 15 ;; absolute flag count but i don't know the difference between this and issues - ;;:issues 15 ;; coming from the platform, will need to be tested. + ;;:correctness 13 + ;;:total 15 ;; + ;;:issues 15 ;; + ;;:correctness 13 ;; } :scores { ;;:terminology 100 - :qualityscore 80 ;; Confirmed with Hugo that you just comment out the single score and leave the structure in place + :qualityscore 80 ;; ;;:correctness 40 } } :guidance-profile "d2b6c2c8-00ee-47f1-8d10-b280cc3434c1" ;; Profile ID for "M365-specific" - :acrolinx-check-settings - { - "languageId" "en" - "ruleSetName" "Standard" - "requestedFlagTypes" ["CORRECTNESS" "SPELLING" "GRAMMAR" "STYLE" - "TERMINOLOGY_DEPRECATED" - "TERMINOLOGY_VALID" - "VOICE_GUIDANCE" - ] - "termSetNames" ["M365" "Products" "Microsoft"] - } - :template-header " -## Acrolinx Scorecards + +## Acrolinx Scorecards -**The minimum Acrolinx topic score of 80 is required for all MAGIC content merged to the default branch.** +**The minimum Acrolinx topic score of 80 is required for all Magic content merged to the default branch.** If you need a scoring exception for content in this PR, add the *Sign off* and the *Acrolinx exception* labels to the PR. The PubOps Team will review the exception request and may take one or more of the following actions: @@ -43,22 +35,26 @@ If you need a scoring exception for content in this PR, add the *Sign off* and t - Escalate the exception request to the Acrolinx Review Team for review. - Approve the exception and work with the GitHub Admin Team to merge the PR to the default branch. -For more information about the exception criteria and exception process, see [Minimum Acrolinx topic scores for publishing](https://review.docs.microsoft.com/en-us/office-authoring-guide/acrolinx-min-score?branch=master). +For more information about the exception criteria and exception process, see [Minimum Acrolinx topic scores for publishing](https://review.docs.microsoft.com/en-us/office-authoring-guide/acrolinx-min-score?branch=main). -Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology: +Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. _You should fix all spelling errors regardless of your total score_. Fixing spelling errors helps maintain customer trust in overall content quality. -| Article | Score | Issues | Correctness
score | Scorecard | Processed | -| ------- | ----- | ------ | ------ | --------- | --------- | +| Article | Total score
(Required: 80) | Words + phrases
(Brand, terms) | Correctness
(Spelling, grammar) | Clarity
(Readability) | +|---------|:--------------:|:--------------------:|:------:|:---------:| " :template-change - "| ${s/file} | ${acrolinx/qualityscore} | ${acrolinx/flags/issues} | ${acrolinx/scores/correctness} | [link](${acrolinx/scorecard}) | ${s/status} | + "| ${s/status} ${s/file} | [${acrolinx/qualityscore}](${acrolinx/scorecard}) | ${acrolinx/scores/words_and_phrases} | ${acrolinx/scores/correctness} | ${acrolinx/scores/clarity} | " :template-footer " -**More info about Acrolinx** +**More information about Acrolinx** -Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see [Use the Visual Studio Code extension to run Acrolinx locally](https://review.docs.microsoft.com/en-us/office-authoring-guide/acrolinx-vscode?branch=master). +- [Install Acrolinx locally for VSCode for Magic](https://review.docs.microsoft.com/office-authoring-guide/acrolinx-vscode?branch=main) +- [False positives or issues](https://aka.ms/acrolinxbug) +- [Request a new Acrolinx term](https://microsoft.sharepoint.com/teams/M365Dev2/SitePages/M365-terminology.aspx) +- [Troubleshooting issues with Acrolinx](https://review.docs.microsoft.com/help/contribute/acrolinx-error-messages) + " } From 17a23a9ffada22435934a6db9e37fae434e01a48 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 26 Mar 2024 11:15:47 -0600 Subject: [PATCH 36/61] Freshness update --- ...tion-based-protection-of-code-integrity.md | 182 ++++++------------ ...ormation-virtualization-based-security.png | Bin 84515 -> 13287 bytes 2 files changed, 63 insertions(+), 119 deletions(-) diff --git a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md index 81b826505e..b1448ef801 100644 --- a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md @@ -2,7 +2,7 @@ title: Enable memory integrity description: This article explains the steps to opt in to using memory integrity on Windows devices. ms.topic: conceptual -ms.date: 03/16/2023 +ms.date: 03/26/2024 appliesto: - "✅
Windows 11" - "✅ Windows 10" @@ -16,14 +16,13 @@ appliesto: **Memory integrity** is a virtualization-based security (VBS) feature available in Windows. Memory integrity and VBS improve the threat model of Windows and provide stronger protections against malware trying to exploit the Windows kernel. VBS uses the Windows hypervisor to create an isolated virtual environment that becomes the root of trust of the OS that assumes the kernel can be compromised. Memory integrity is a critical component that protects and hardens Windows by running kernel mode code integrity within the isolated virtual environment of VBS. Memory integrity also restricts kernel memory allocations that could be used to compromise the system. > [!NOTE] -> Memory integrity works better with Intel Kabylake and higher processors with *Mode-Based Execution Control*, and AMD Zen 2 and higher processors with *Guest Mode Execute Trap* capabilities. Older processors rely on an emulation of these features, called *Restricted User Mode*, and will have a bigger impact on performance. When nested virtualization is enabled, memory integrity works better when the VM is version >= 9.3. +> +> - Memory integrity is sometimes referred to as *hypervisor-protected code integrity (HVCI)* or *hypervisor enforced code integrity*, and was originally released as part of *Device Guard*. Device Guard is no longer used except to locate memory integrity and VBS settings in Group Policy or the Windows registry. +> - Memory integrity works better with Intel Kabylake and higher processors with *Mode-Based Execution Control*, and AMD Zen 2 and higher processors with *Guest Mode Execute Trap* capabilities. Older processors rely on an emulation of these features, called *Restricted User Mode*, and will have a bigger impact on performance. When nested virtualization is enabled, memory integrity works better when the VM is version >= 9.3. > [!WARNING] > Some applications and hardware device drivers may be incompatible with memory integrity. This incompatibility can cause devices or software to malfunction and in rare cases may result in a boot failure (blue screen). Such issues may occur after memory integrity has been turned on or during the enablement process itself. If compatibility issues occur, see [Troubleshooting](#troubleshooting) for remediation steps. -> [!NOTE] -> Memory integrity is sometimes referred to as *hypervisor-protected code integrity (HVCI)* or *hypervisor enforced code integrity*, and was originally released as part of *Device Guard*. Device Guard is no longer used except to locate memory integrity and VBS settings in Group Policy or the Windows registry. - ## Memory integrity features - Protects modification of the Control Flow Guard (CFG) bitmap for kernel mode drivers. @@ -47,21 +46,16 @@ Beginning with Windows 11 22H2, **Windows Security** shows a warning if memory i ### Enable memory integrity using Intune -Enabling in Intune requires using the Code Integrity node in the [VirtualizationBasedTechnology CSP](/windows/client-management/mdm/policy-csp-virtualizationbasedtechnology). You can configure these settings by using the [settings catalog](/mem/intune/configuration/settings-catalog). +Use the **Virtualization Based Technology** > **Hypervisor Enforced Code Integrity** setting using the [settings catalog](/mem/intune/configuration/settings-catalog) to enable memory integrity. You can also use the HypervisorEnforcedCodeIntegrity node in the [VirtualizationBasedTechnology CSP](/windows/client-management/mdm/policy-csp-virtualizationbasedtechnology). ### Enable memory integrity using Group Policy 1. Use Group Policy Editor (gpedit.msc) to either edit an existing GPO or create a new one. - -2. Navigate to **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard**. - -3. Double-click **Turn on Virtualization Based Security**. - -4. Select **Enabled** and under **Virtualization Based Protection of Code Integrity**, select **Enabled without UEFI lock**. Only select **Enabled with UEFI lock** if you want to prevent memory integrity from being disabled remotely or by policy update. Once enabled with UEFI lock, you must have access to the UEFI BIOS menu to turn off Secure Boot if you want to turn off memory integrity. - +1. Navigate to **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard**. +1. Double-click **Turn on Virtualization Based Security**. +1. Select **Enabled** and under **Virtualization Based Protection of Code Integrity**, select **Enabled without UEFI lock**. Only select **Enabled with UEFI lock** if you want to prevent memory integrity from being disabled remotely or by policy update. Once enabled with UEFI lock, you must have access to the UEFI BIOS menu to turn off Secure Boot if you want to turn off memory integrity. ![Enable memory integrity using Group Policy.](images/enable-hvci-gp.png) - -5. Select **Ok** to close the editor. +1. Select **Ok** to close the editor. To apply the new policy on a domain-joined computer, either restart or run `gpupdate /force` in an elevated command prompt. @@ -69,8 +63,6 @@ To apply the new policy on a domain-joined computer, either restart or run `gpup Set the following registry keys to enable memory integrity. These keys provide exactly the same set of configuration options provided by Group Policy. - - > [!IMPORTANT] > > - Among the commands that follow, you can choose settings for **Secure Boot** and **Secure Boot with DMA**. In most situations, we recommend that you choose **Secure Boot**. This option provides Secure Boot with as much protection as is supported by a given computer's hardware. A computer with input/output memory management units (IOMMUs) will have Secure Boot with DMA protection. A computer without IOMMUs will simply have Secure Boot enabled. @@ -79,19 +71,13 @@ Set the following registry keys to enable memory integrity. These keys provide e > > - All drivers on the system must be compatible with virtualization-based protection of code integrity; otherwise, your system may fail. We recommend that you enable these features on a group of test computers before you enable them on users' computers. -#### For Windows 10 version 1607 and later and for Windows 11 version 21H2 - Recommended settings (to enable memory integrity without UEFI Lock): ```console reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f - reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f - reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f ``` @@ -155,52 +141,6 @@ reg delete HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\Hyperviso reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity /v "WasEnabledBy" /t REG_DWORD /d 2 /f ``` -#### For Windows 10 version 1511 and earlier - -Recommended settings (to enable memory integrity, without UEFI Lock): - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f - -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - -If you want to customize the preceding recommended settings, use the following settings. - -**To enable VBS (it is always locked to UEFI)** - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f -``` - -**To enable VBS and require Secure boot only (value 1)** - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f -``` - -**To enable VBS with Secure Boot and DMA (value 3)** - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 3 /f -``` - -**To enable memory integrity (with the default, UEFI lock)** - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f -``` - -**To enable memory integrity without UEFI lock** - -```console -reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f -``` - ### Enable memory integrity using Windows Defender Application Control (WDAC) You can use WDAC policy to turn on memory integrity using any of the following techniques: @@ -214,10 +154,12 @@ You can use WDAC policy to turn on memory integrity using any of the following t ### Validate enabled VBS and memory integrity features -Windows 10, Windows 11, and Windows Server 2016 and higher have a WMI class for VBS-related properties and features: *Win32\_DeviceGuard*. This class can be queried from an elevated Windows PowerShell session by using the following command: +#### Use Win32_DeviceGuard WMI class + +Windows 10, Windows 11, and Windows Server 2016 and higher have a WMI class for VBS-related properties and features: **Win32_DeviceGuard**. This class can be queried from an elevated Windows PowerShell session by using the following command: ```powershell -Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard +Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard ``` > [!NOTE] @@ -225,83 +167,85 @@ Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windo The output of this command provides details of the available hardware-based security features and those features that are currently enabled. -#### AvailableSecurityProperties +##### AvailableSecurityProperties This field helps to enumerate and report state on the relevant security properties for VBS and memory integrity. -Value | Description --|- -**0.** | If present, no relevant properties exist on the device. -**1.** | If present, hypervisor support is available. -**2.** | If present, Secure Boot is available. -**3.** | If present, DMA protection is available. -**4.** | If present, Secure Memory Overwrite is available. -**5.** | If present, NX protections are available. -**6.** | If present, SMM mitigations are available. -**7.** | If present, MBEC/GMET is available. -**8.** | If present, APIC virtualization is available. +| Value | Description | +|-------|---------------------------------------------------------| +| **0** | If present, no relevant properties exist on the device. | +| **1** | If present, hypervisor support is available. | +| **2** | If present, Secure Boot is available. | +| **3** | If present, DMA protection is available. | +| **4** | If present, Secure Memory Overwrite is available. | +| **5** | If present, NX protections are available. | +| **6** | If present, SMM mitigations are available. | +| **7** | If present, MBEC/GMET is available. | +| **8** | If present, APIC virtualization is available. | -#### InstanceIdentifier +##### InstanceIdentifier A string that is unique to a particular device and set by WMI. -#### RequiredSecurityProperties +##### RequiredSecurityProperties This field describes the required security properties to enable VBS. -Value | Description --|- -**0.** | Nothing is required. -**1.** | If present, hypervisor support is needed. -**2.** | If present, Secure Boot is needed. -**3.** | If present, DMA protection is needed. -**4.** | If present, Secure Memory Overwrite is needed. -**5.** | If present, NX protections are needed. -**6.** | If present, SMM mitigations are needed. -**7.** | If present, MBEC/GMET is needed. +| Value | Description | +|-------|------------------------------------------------| +| **0** | Nothing is required. | +| **1** | If present, hypervisor support is needed. | +| **2** | If present, Secure Boot is needed. | +| **3** | If present, DMA protection is needed. | +| **4** | If present, Secure Memory Overwrite is needed. | +| **5** | If present, NX protections are needed. | +| **6** | If present, SMM mitigations are needed. | +| **7** | If present, MBEC/GMET is needed. | -#### SecurityServicesConfigured +##### SecurityServicesConfigured This field indicates whether Credential Guard or memory integrity has been configured. -Value | Description --|- -**0.** | No services are configured. -**1.** | If present, Credential Guard is configured. -**2.** | If present, memory integrity is configured. -**3.** | If present, System Guard Secure Launch is configured. -**4.** | If present, SMM Firmware Measurement is configured. +| Value | Description | +|-------|-------------------------------------------------------| +| **0** | No services are configured. | +| **1** | If present, Credential Guard is configured. | +| **2** | If present, memory integrity is configured. | +| **3** | If present, System Guard Secure Launch is configured. | +| **4** | If present, SMM Firmware Measurement is configured. | -#### SecurityServicesRunning +##### SecurityServicesRunning This field indicates whether Credential Guard or memory integrity is running. -Value | Description --|- -**0.** | No services running. -**1.** | If present, Credential Guard is running. -**2.** | If present, memory integrity is running. -**3.** | If present, System Guard Secure Launch is running. -**4.** | If present, SMM Firmware Measurement is running. +| Value | Description | +|-------|----------------------------------------------------| +| **0** | No services running. | +| **1** | If present, Credential Guard is running. | +| **2** | If present, memory integrity is running. | +| **3** | If present, System Guard Secure Launch is running. | +| **4** | If present, SMM Firmware Measurement is running. | -#### Version +##### Version This field lists the version of this WMI class. The only valid value now is **1.0**. -#### VirtualizationBasedSecurityStatus +##### VirtualizationBasedSecurityStatus This field indicates whether VBS is enabled and running. -Value | Description --|- -**0.** | VBS isn't enabled. -**1.** | VBS is enabled but not running. -**2.** | VBS is enabled and running. +| Value | Description | +|-------|---------------------------------| +| **0** | VBS isn't enabled. | +| **1** | VBS is enabled but not running. | +| **2** | VBS is enabled and running. | -#### PSComputerName +##### PSComputerName This field lists the computer name. All valid values for computer name. +#### Use msinfo32.exe + Another method to determine the available and enabled VBS features is to run msinfo32.exe from an elevated PowerShell session. When you run this program, the VBS features are displayed at the bottom of the **System Summary** section. :::image type="content" alt-text="Virtualization-based security features in the System Summary of System Information." source="images/system-information-virtualization-based-security.png" lightbox="images/system-information-virtualization-based-security.png"::: diff --git a/windows/security/hardware-security/images/system-information-virtualization-based-security.png b/windows/security/hardware-security/images/system-information-virtualization-based-security.png index d865fc1715b52c313ceaca02f74380a3ed2bcad4..8884277fc487e3f9227c634695c7003164cf2a2a 100644 GIT binary patch literal 13287 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%0D^QBs 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 MqT_`Mi|c>=FBGFAlmGw# literal 84515 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 Date: Tue, 26 Mar 2024 11:29:41 -0600 Subject: [PATCH 37/61] Freshness update --- ...nd-windows-defender-application-control.md | 30 +++++++++---------- ...tion-based-protection-of-code-integrity.md | 12 ++++---- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md b/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md index f268f032bb..05fed4e21e 100644 --- a/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md +++ b/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md @@ -5,36 +5,34 @@ ms.localizationpriority: medium author: vinaypamnani-msft ms.author: vinpa manager: aaroncz -ms.date: 03/16/2023 +ms.date: 03/26/2024 ms.topic: article +appliesto: +- ✅ Windows 11 +- ✅ Windows 10 +- ✅ Windows Server 2022 +- ✅ Windows Server 2019 +- ✅ Windows Server 2016 --- # Windows Defender Application Control and virtualization-based protection of code integrity -**Applies to** - -- Windows 10 -- Windows 11 -- Windows Server 2016 and higher - -Windows includes a set of hardware and OS technologies that, when configured together, allow enterprises to "lock down" Windows systems so they behave more like mobile devices. In this configuration, [**Windows Defender Application Control (WDAC)**](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) is used to restrict devices to run only approved apps, while the OS is hardened against kernel memory attacks using [**memory integrity**](../../hardware-security/enable-virtualization-based-protection-of-code-integrity.md). +Windows includes a set of hardware and OS technologies that, when configured together, allow enterprises to "lock down" Windows systems so they behave more like kiosk devices. In this configuration, [**Windows Defender Application Control (WDAC)**](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) is used to restrict devices to run only approved apps, while the OS is hardened against kernel memory attacks using [**memory integrity**](../../hardware-security/enable-virtualization-based-protection-of-code-integrity.md). > [!NOTE] > Memory integrity is sometimes referred to as *hypervisor-protected code integrity (HVCI)* or *hypervisor enforced code integrity*, and was originally released as part of *Device Guard*. Device Guard is no longer used except to locate memory integrity and VBS settings in Group Policy or the Windows registry. -WDAC policies and memory integrity are powerful protections that can be used separately. However, when these two technologies are configured to work together, they present a strong protection capability for Windows devices. - -Using WDAC to restrict devices to only authorized apps has these advantages over other solutions: +WDAC policies and memory integrity are powerful protections that can be used separately. However, when these two technologies are configured to work together, they present a strong protection capability for Windows devices. Using WDAC to restrict devices to only authorized apps has these advantages over other solutions: 1. The Windows kernel handles enforcement of WDAC policy and requires no other services or agents. -2. The WDAC policy takes effect early in the boot sequence before nearly all other OS code and before traditional antivirus solutions run. -3. WDAC lets you set application control policy for any code that runs on Windows, including kernel mode drivers and even code that runs as part of Windows. -4. Customers can protect the WDAC policy even from local administrator tampering by digitally signing the policy. Changing signed policy requires both administrative privilege and access to the organization's digital signing process. Using signed policies makes it difficult for an attacker, including one who has managed to gain administrative privilege, to tamper with WDAC policy. -5. You can protect the entire WDAC enforcement mechanism with memory integrity. Even if a vulnerability exists in kernel mode code, memory integrity greatly reduces the likelihood that an attacker could successfully exploit it. Without memory integrity, an attacker who compromises the kernel could normally disable most system defenses, including application control policies enforced by WDAC or any other application control solution. +1. The WDAC policy takes effect early in the boot sequence before nearly all other OS code and before traditional antivirus solutions run. +1. WDAC lets you set application control policy for any code that runs on Windows, including kernel mode drivers and even code that runs as part of Windows. +1. Customers can protect the WDAC policy even from local administrator tampering by digitally signing the policy. Changing signed policy requires both administrative privilege and access to the organization's digital signing process. Using signed policies makes it difficult for an attacker, including one who manages to gain administrative privilege, to tamper with WDAC policy. +1. You can protect the entire WDAC enforcement mechanism with memory integrity. Even if a vulnerability exists in kernel mode code, memory integrity greatly reduces the likelihood that an attacker could successfully exploit it. Without memory integrity, an attacker who compromises the kernel could normally disable most system defenses, including application control policies enforced by WDAC or any other application control solution. There are no direct dependencies between WDAC and memory integrity. You can deploy them individually or together and there's no order in which they must be deployed. -Memory integrity relies on Windows virtualization-based security, and has hardware, firmware, and kernel driver compatibility requirements that some older systems can't meet. +Memory integrity relies on Windows Virtualization-based security, and has hardware, firmware, and kernel driver compatibility requirements that some older systems can't meet. WDAC has no specific hardware or software requirements. diff --git a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md index b1448ef801..1ef34f786a 100644 --- a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md @@ -13,7 +13,7 @@ appliesto: # Enable virtualization-based protection of code integrity -**Memory integrity** is a virtualization-based security (VBS) feature available in Windows. Memory integrity and VBS improve the threat model of Windows and provide stronger protections against malware trying to exploit the Windows kernel. VBS uses the Windows hypervisor to create an isolated virtual environment that becomes the root of trust of the OS that assumes the kernel can be compromised. Memory integrity is a critical component that protects and hardens Windows by running kernel mode code integrity within the isolated virtual environment of VBS. Memory integrity also restricts kernel memory allocations that could be used to compromise the system. +**Memory integrity** is a Virtualization-based security (VBS) feature available in Windows. Memory integrity and VBS improve the threat model of Windows and provide stronger protections against malware trying to exploit the Windows kernel. VBS uses the Windows hypervisor to create an isolated virtual environment that becomes the root of trust of the OS that assumes the kernel can be compromised. Memory integrity is a critical component that protects and hardens Windows by running kernel mode code integrity within the isolated virtual environment of VBS. Memory integrity also restricts kernel memory allocations that could be used to compromise the system. > [!NOTE] > @@ -57,7 +57,7 @@ Use the **Virtualization Based Technology** > **Hypervisor Enforced Code Integri ![Enable memory integrity using Group Policy.](images/enable-hvci-gp.png) 1. Select **Ok** to close the editor. -To apply the new policy on a domain-joined computer, either restart or run `gpupdate /force` in an elevated command prompt. +To apply the new policy on a domain-joined computer, either restart or run `gpupdate /force` in an elevated Command Prompt. ### Use registry keys to enable memory integrity @@ -204,7 +204,7 @@ This field describes the required security properties to enable VBS. ##### SecurityServicesConfigured -This field indicates whether Credential Guard or memory integrity has been configured. +This field indicates whether Credential Guard or memory integrity is configured. | Value | Description | |-------|-------------------------------------------------------| @@ -252,7 +252,7 @@ Another method to determine the available and enabled VBS features is to run msi ## Troubleshooting -- If a device driver fails to load or crashes at runtime, you may be able to update the driver using **Device Manager**. +- If a device driver fails to load or crashes at runtime, you might be able to update the driver using **Device Manager**. - If you experience a critical error during boot or your system is unstable after turning on memory integrity, you can recover using the Windows Recovery Environment (Windows RE). 1. First, disable any policies that are used to enable VBS and memory integrity, for example Group Policy. 2. Then, boot to Windows RE on the affected computer, see [Windows RE Technical Reference](/windows-hardware/manufacture/desktop/windows-recovery-environment--windows-re--technical-reference). @@ -282,5 +282,5 @@ Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true - The Hyper-V host must run at least Windows Server 2016 or Windows 10 version 1607. - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - Memory integrity and [nested virtualization](/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) can be enabled at the same time. To enable the Hyper-V role on the virtual machine, you must first install the Hyper-V role in a Windows nested virtualization environment. -- Virtual Fibre Channel adapters aren't compatible with memory integrity. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using `Set-VMSecurity`. -- The AllowFullSCSICommandSet option for pass-through disks isn't compatible with memory integrity. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using `Set-VMSecurity`. +- Virtual Fibre Channel adapters aren't compatible with memory integrity. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of Virtualization-based security using `Set-VMSecurity`. +- The AllowFullSCSICommandSet option for pass-through disks isn't compatible with memory integrity. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of Virtualization-based security using `Set-VMSecurity`. From c2e7670e64311b0f0abe0a926efa76f1356ca3fc Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 26 Mar 2024 11:46:44 -0600 Subject: [PATCH 38/61] Freshness update --- .../user-account-control/how-it-works.md | 52 +++++++++---------- .../user-account-control/index.md | 9 ++-- .../settings-and-configuration.md | 30 +++++------ 3 files changed, 46 insertions(+), 45 deletions(-) diff --git a/windows/security/application-security/application-control/user-account-control/how-it-works.md b/windows/security/application-security/application-control/user-account-control/how-it-works.md index 27338890ca..628efba7cf 100644 --- a/windows/security/application-security/application-control/user-account-control/how-it-works.md +++ b/windows/security/application-security/application-control/user-account-control/how-it-works.md @@ -1,8 +1,8 @@ --- -title: How User Account Control works +title: How User Account Control works description: Learn about User Account Control (UAC) components and how it interacts with the end users. ms.topic: concept-article -ms.date: 05/24/2023 +ms.date: 03/26/2024 --- # How User Account Control works @@ -26,7 +26,7 @@ To better understand how this process works, let's take a closer look at the Win The following diagram shows how the sign in process for an administrator differs from the sign in process for a standard user. -:::image type="content" source="images/uac-windows-logon-process.gif" alt-text="Diagram that describes the UAC Windows logon process."::: +:::image type="content" source="images/uac-windows-logon-process.gif" alt-text="Diagram that describes the UAC Windows sign-in process."::: By default, both standard and administrator users access resources and execute apps in the security context of a standard user.\ When a user signs in, the system creates an access token for that user. The access token contains information about the level of access that the user is granted, including specific security identifiers (SIDs) and Windows privileges. @@ -91,9 +91,9 @@ The elevation process is further secured by directing the prompt to the *secure When an executable file requests elevation, the *interactive desktop*, also called the *user desktop*, is switched to the secure desktop. The secure desktop dims the user desktop and displays an elevation prompt that must be responded to before continuing. When the user selects **Yes** or **No**, the desktop switches back to the user desktop. > [!NOTE] -> Starting in **Windows Server 2019**, it's not possible to paste the content of the clipboard on the secure desktop. This is the same behavior of the currently supported Windows client OS versions. +> Starting in **Windows Server 2019**, it's not possible to paste the content of the clipboard on the secure desktop. This is the same behavior of the currently supported Windows client OS versions. -Malware can present an imitation of the secure desktop, but when the **User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode** policy setting is set to **Prompt for consent**, the malware doesn't gain elevation if the user selects **Yes** on the imitation. If the policy setting is set to **Prompt for credentials**, malware imitating the credential prompt may be able to gather the credentials from the user. However, the malware doesn't gain elevated privilege and the system has other protections that mitigate malware from taking control of the user interface even with a harvested password. +Malware can present an imitation of the secure desktop, but when the **User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode** policy setting is set to **Prompt for consent**, the malware doesn't gain elevation if the user selects **Yes** on the imitation. If the policy setting is set to **Prompt for credentials**, malware imitating the credential prompt might be able to gather the credentials from the user. However, the malware doesn't gain elevated privilege and the system has other protections that mitigate malware from taking control of the user interface even with a harvested password. While malware could present an imitation of the secure desktop, this issue can't occur unless a user previously installed the malware on the PC. Because processes requiring an administrator access token can't silently install when UAC is enabled, the user must explicitly provide consent by selecting **Yes** or by providing administrator credentials. The specific behavior of the UAC elevation prompt is dependent upon security policies. @@ -109,34 +109,34 @@ To better understand each component, review the following tables: |Component|Description| |--- |--- | -|

User performs operation requiring privilege|

If the operation changes the file system or registry, Virtualization is called. All other operations call ShellExecute.| -|

ShellExecute|

ShellExecute calls CreateProcess. ShellExecute looks for the ERROR_ELEVATION_REQUIRED error from CreateProcess. If it receives the error, ShellExecute calls the Application Information service to attempt to perform the requested task with the elevated prompt.| -|

CreateProcess|

If the application requires elevation, CreateProcess rejects the call with ERROR_ELEVATION_REQUIRED.| +|User performs operation requiring privilege|If the operation changes the file system or registry, Virtualization is called. All other operations call ShellExecute.| +|ShellExecute|ShellExecute calls CreateProcess. ShellExecute looks for the ERROR_ELEVATION_REQUIRED error from CreateProcess. If it receives the error, ShellExecute calls the Application Information service to attempt to perform the requested task with the elevated prompt.| +|CreateProcess|If the application requires elevation, CreateProcess rejects the call with ERROR_ELEVATION_REQUIRED.| ### System |Component|Description| |--- |--- | -|

Application Information service|

A system service that helps start apps that require one or more elevated privileges or user rights to run, such as local administrative tasks, and apps that require higher integrity levels. The Application Information service helps start such apps by creating a new process for the application with an administrative user's full access token when elevation is required. Depending on the configured policies, the user may give consent.| -|

Elevating an ActiveX install|

If ActiveX isn't installed, the system checks the UAC slider level. If ActiveX is installed, the **User Account Control: Switch to the secure desktop when prompting for elevation** Group Policy setting is checked.| -|

Check UAC slider level|

UAC has a slider to select from four levels of notification.

  • **Always notify** will:

    • Notify you when programs try to install software or make changes to your computer.
    • Notify you when you make changes to Windows settings.
    • Freeze other tasks until you respond.

    Recommended if you often install new software or visit unfamiliar websites.

  • **Notify me only when programs try to make changes to my computer** will:

    • Notify you when programs try to install software or make changes to your computer.
    • Not notify you when you make changes to Windows settings.
    • Freeze other tasks until you respond.

    Recommended if you don't often install apps or visit unfamiliar websites.

  • **Notify me only when programs try to make changes to my computer (do not dim my desktop)** will:

    • Notify you when programs try to install software or make changes to your computer.
    • Not notify you when you make changes to Windows settings.
    • Not freeze other tasks until you respond.

    Not recommended. Choose this only if it takes a long time to dim the desktop on your computer.

  • **Never notify (Disable UAC prompts)** will:

    • Not notify you when programs try to install software or make changes to your computer.
    • Not notify you when you make changes to Windows settings.
    • Not freeze other tasks until you respond.

    Not recommended due to security concerns.| -|

    Secure desktop enabled|

    The **User Account Control: Switch to the secure desktop when prompting for elevation** policy setting is checked:

    • If the secure desktop is enabled, all elevation requests go to the secure desktop regardless of prompt behavior policy settings for administrators and standard users.

    • If the secure desktop isn't enabled, all elevation requests go to the interactive user's desktop, and the per-user settings for administrators and standard users are used.| -|

      CreateProcess|

      CreateProcess calls AppCompat, Fusion, and Installer detection to assess if the app requires elevation. The file is then inspected to determine its requested execution level, which is stored in the application manifest for the file. CreateProcess fails if the requested execution level specified in the manifest doesn't match the access token and returns an error (ERROR_ELEVATION_REQUIRED) to ShellExecute.| -|

      AppCompat|

      The AppCompat database stores information in the application compatibility fix entries for an application.| -|

      Fusion|

      The Fusion database stores information from application manifests that describe the applications. The manifest schema is updated to add a new requested execution level field.| -|

      Installer detection|

      Installer detection detects setup files, which helps prevent installations from being run without the user's knowledge and consent.| +|Application Information service|A system service that helps start apps that require one or more elevated privileges or user rights to run, such as local administrative tasks, and apps that require higher integrity levels. The Application Information service helps start such apps by creating a new process for the application with an administrative user's full access token when elevation is required. Depending on the configured policies, the user might give consent.| +|Elevating an ActiveX install|If ActiveX isn't installed, the system checks the UAC slider level. If ActiveX is installed, the **User Account Control: Switch to the secure desktop when prompting for elevation** Group Policy setting is checked.| +|Check UAC slider level|UAC has a slider to select from four levels of notification.

      • **Always notify** will:
        • Notify you when programs try to install software or make changes to your computer.
        • Notify you when you make changes to Windows settings.
        • Freeze other tasks until you respond.
        Recommended if you often install new software or visit unfamiliar websites.
      • **Notify me only when programs try to make changes to my computer** will:
        • Notify you when programs try to install software or make changes to your computer.
        • Not notify you when you make changes to Windows settings.
        • Freeze other tasks until you respond.
        Recommended if you don't often install apps or visit unfamiliar websites.
      • **Notify me only when programs try to make changes to my computer (do not dim my desktop)** will:
        • Notify you when programs try to install software or make changes to your computer.
        • Not notify you when you make changes to Windows settings.
        • Not freeze other tasks until you respond.
        Not recommended. Choose this only if it takes a long time to dim the desktop on your computer.
      • **Never notify (Disable UAC prompts)** will:
        • Not notify you when programs try to install software or make changes to your computer.
        • Not notify you when you make changes to Windows settings.
        • Not freeze other tasks until you respond.
        Not recommended due to security concerns.| +|Secure desktop enabled|The **User Account Control: Switch to the secure desktop when prompting for elevation** policy setting is checked:
        • If the secure desktop is enabled, all elevation requests go to the secure desktop regardless of prompt behavior policy settings for administrators and standard users.
        • If the secure desktop isn't enabled, all elevation requests go to the interactive user's desktop, and the per-user settings for administrators and standard users are used.| +|CreateProcess|CreateProcess calls AppCompat, Fusion, and Installer detection to assess if the app requires elevation. The file is then inspected to determine its requested execution level, which is stored in the application manifest for the file. CreateProcess fails if the requested execution level specified in the manifest doesn't match the access token and returns an error (ERROR_ELEVATION_REQUIRED) to ShellExecute.| +|AppCompat|The AppCompat database stores information in the application compatibility fix entries for an application.| +|Fusion|The Fusion database stores information from application manifests that describe the applications. The manifest schema is updated to add a new requested execution level field.| +|Installer detection|Installer detection detects setup files, which helps prevent installations from being run without the user's knowledge and consent.| ### Kernel |Component|Description| |--- |--- | -|

          Virtualization|

          Virtualization technology ensures that noncompliant apps don't silently fail to run or fail in a way that the cause can't be determined. UAC also provides file and registry virtualization and logging for applications that write to protected areas.| -|

          File system and registry|

          The per-user file and registry virtualization redirects per-computer registry and file write requests to equivalent per-user locations. Read requests are redirected to the virtualized per-user location first and to the per-computer location second.| - +|Virtualization|Virtualization technology ensures that noncompliant apps don't silently fail to run or fail in a way that the cause can't be determined. UAC also provides file and registry virtualization and logging for applications that write to protected areas.| +|File system and registry|The per-user file and registry virtualization redirects per-computer registry and file write requests to equivalent per-user locations. Read requests are redirected to the virtualized per-user location first and to the per-computer location second.| + The slider never turns off UAC completely. If you set it to **Never notify**, it will: - Keep the UAC service running -- Cause all elevation request initiated by administrators to be auto-approved without showing a UAC prompt +- Cause all elevation request initiated by administrators to be autoapproved without showing a UAC prompt - Automatically deny all elevation requests for standard users > [!IMPORTANT] @@ -156,7 +156,7 @@ Most app tasks operate properly by using virtualization features. Although virtu Virtualization isn't an option in the following scenarios: - Virtualization doesn't apply to apps that are elevated and run with a full administrative access token -- Virtualization supports only 32-bit apps. Non-elevated 64-bit apps receive an access denied message when they attempt to acquire a handle (a unique identifier) to a Windows object. Native Windows 64-bit apps are required to be compatible with UAC and to write data into the correct locations +- Virtualization supports only 32-bit apps. Nonelevated 64-bit apps receive an access denied message when they attempt to acquire a handle (a unique identifier) to a Windows object. Native Windows 64-bit apps are required to be compatible with UAC and to write data into the correct locations - Virtualization is disabled if the app includes an app manifest with a requested execution level attribute ### Request execution levels @@ -178,11 +178,11 @@ Installer detection only applies to: Before a 32-bit process is created, the following attributes are checked to determine whether it's an installer: - The file name includes keywords such as "install," "setup," or "update." -- Versioning Resource fields contain the following keywords: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name, and Export Name -- Keywords in the side-by-side manifest are embedded in the executable file -- Keywords in specific StringTable entries are linked in the executable file -- Key attributes in the resource script data are linked in the executable file -- There are targeted sequences of bytes within the executable file +- Versioning Resource fields contain the following keywords: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name, and Export Name. +- Keywords in the side-by-side manifest are embedded in the executable file. +- Keywords in specific StringTable entries are linked in the executable file. +- Key attributes in the resource script data are linked in the executable file. +- There are targeted sequences of bytes within the executable file. > [!NOTE] > The keywords and sequences of bytes were derived from common characteristics observed from various installer technologies. diff --git a/windows/security/application-security/application-control/user-account-control/index.md b/windows/security/application-security/application-control/user-account-control/index.md index 3b5e6e8561..1b697ee8ba 100644 --- a/windows/security/application-security/application-control/user-account-control/index.md +++ b/windows/security/application-security/application-control/user-account-control/index.md @@ -2,19 +2,20 @@ title: User Account Control description: Learn how User Account Control (UAC) helps to prevent unauthorized changes to Windows devices. ms.topic: overview -ms.date: 05/24/2023 +ms.date: 03/26/2024 --- # User Account Control overview -User Account Control (UAC) is a Windows security feature designed to protect the operating system from unauthorized changes. When changes to the system require administrator-level permission, UAC notifies the user, giving the opportunity to approve or deny the change. UAC improves the security of Windows devices by limiting the access that malicious code has to execute with administrator privileges. UAC empowers users to make informed decisions about actions that may affect the stability and security of their device. +User Account Control (UAC) is a Windows security feature designed to protect the operating system from unauthorized changes. When changes to the system require administrator-level permission, UAC notifies the user, giving the opportunity to approve or deny the change. UAC improves the security of Windows devices by limiting the access that malicious code has to execute with administrator privileges. UAC empowers users to make informed decisions about actions that might affect the stability and security of their device. Unless you disable UAC, malicious software is prevented from disabling or interfering with UAC settings. UAC is enabled by default, and you can configure it if you have administrative privileges. ## Benefits of UAC -UAC allows all users to sign in their devices using a *standard user account*. Processes launched using a *standard user token* may perform tasks using access rights granted to a standard user. For instance, Windows Explorer automatically inherits standard user level permissions. Any applications that are started using Windows Explorer (for example, by opening a shortcut) also run with the standard set of user permissions. Most applications, including the ones included with the operating system, are designed to work properly this way.\ -Other applications, like ones that aren't designed with security settings in mind, may require more permissions to run successfully. These applications are referred to as *legacy apps*. +UAC allows all users to sign in their devices using a *standard user account*. Processes launched using a *standard user token* might perform tasks using access rights granted to a standard user. For instance, Windows Explorer automatically inherits standard user level permissions. Any applications that are started using Windows Explorer (for example, by opening a shortcut) also run with the standard set of user permissions. Most applications, including the ones included with the operating system, are designed to work properly this way. + +Other applications, like ones that aren't designed with security settings in mind, might require more permissions to run successfully. These applications are referred to as *legacy apps*. When a user tries to perform an action that requires administrative privileges, UAC triggers a *consent prompt*. The prompt notifies the user that a change is about to occur, asking for their permission to proceed: diff --git a/windows/security/application-security/application-control/user-account-control/settings-and-configuration.md b/windows/security/application-security/application-control/user-account-control/settings-and-configuration.md index e9d01861ab..8c81845b7b 100644 --- a/windows/security/application-security/application-control/user-account-control/settings-and-configuration.md +++ b/windows/security/application-security/application-control/user-account-control/settings-and-configuration.md @@ -1,7 +1,7 @@ --- title: User Account Control settings and configuration -description: Learn about the User Account Control settings and how to configure them via Intune, CSP, group policy and registry. -ms.date: 07/31/2023 +description: Learn about the User Account Control settings and how to configure them via Intune, CSP, group policy, and registry. +ms.date: 03/26/2024 ms.topic: how-to --- @@ -20,7 +20,7 @@ The following table lists the available settings to configure the UAC behavior, |Detect application installations and prompt for elevation|Controls the behavior of application installation detection for the computer.

          **Enabled (default)**: When an app installation package is detected that requires elevation of privilege, the user is prompted to enter an administrative user name and password. If the user enters valid credentials, the operation continues with the applicable privilege.
          **Disabled**: App installation packages aren't detected and prompted for elevation. Enterprises that are running standard user desktops and use delegated installation technologies, such as Microsoft Intune, should disable this policy setting. In this case, installer detection is unnecessary. | |Only elevate executables that are signed and validated|Enforces signature checks for any interactive applications that request elevation of privilege. IT admins can control which applications are allowed to run by adding certificates to the Trusted Publishers certificate store on local devices.

          **Enabled**: Enforces the certificate certification path validation for a given executable file before it's permitted to run.
          **Disabled (default)**: Doesn't enforce the certificate certification path validation before a given executable file is permitted to run.| |Only elevate UIAccess applications that are installed in secure locations|Controls whether applications that request to run with a User Interface Accessibility (UIAccess) integrity level must reside in a secure location in the file system. Secure locations are limited to the following folders:
          - `%ProgramFiles%`, including subfolders
          - `%SystemRoot%\system32\`
          - `%ProgramFiles(x86)%`, including subfolders


          **Enabled (default)**: If an app resides in a secure location in the file system, it runs only with UIAccess integrity.
          **Disabled**: An app runs with UIAccess integrity even if it doesn't reside in a secure location in the file system.

          **Note:** Windows enforces a digital signature check on any interactive apps that requests to run with a UIAccess integrity level regardless of the state of this setting.| -|Run all administrators in Admin Approval Mode|Controls the behavior of all UAC policy settings.

          **Enabled (default)**: Admin Approval Mode is enabled. This policy must be enabled and related UAC settings configured. The policy allows the built-in Administrator account and members of the Administrators group to run in Admin Approval Mode.
          **Disabled**: Admin Approval Mode and all related UAC policy settings are disabled. Note: If this policy setting is disabled, **Windows Security** notifies you that the overall security of the operating system has been reduced.| +|Run all administrators in Admin Approval Mode|Controls the behavior of all UAC policy settings.

          **Enabled (default)**: Admin Approval Mode is enabled. This policy must be enabled and related UAC settings configured. The policy allows the built-in Administrator account and members of the Administrators group to run in Admin Approval Mode.
          **Disabled**: Admin Approval Mode and all related UAC policy settings are disabled. Note: If this policy setting is disabled, **Windows Security** notifies you that the overall security of the operating system is reduced.| |Switch to the secure desktop when prompting for elevation|This policy setting controls whether the elevation request prompt is displayed on the interactive user's desktop or the secure desktop.

          **Enabled (default)**: All elevation requests go to the secure desktop regardless of prompt behavior policy settings for administrators and standard users.
          **Disabled**: All elevation requests go to the interactive user's desktop. Prompt behavior policy settings for administrators and standard users are used.| |Virtualize File And Registry Write Failures To Per User Locations|Controls whether application write failures are redirected to defined registry and file system locations. This setting mitigates applications that run as administrator and write run-time application data to `%ProgramFiles%`, `%Windir%`, `%Windir%\system32`, or `HKLM\Software`.

          **Enabled (default)**: App write failures are redirected at run time to defined user locations for both the file system and registry.
          **Disabled**: Apps that write data to protected locations fail.| @@ -67,18 +67,18 @@ You can use security policies to configure how User Account Control works in you The policy settings are located under: `Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options`. -| Group Policy setting |Default value| -| - | - | -|User Account Control: Admin Approval Mode for the built-in Administrator account| Disabled | -|User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop| Disabled | -|User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode| Prompt for consent for non-Windows binaries | -|User Account Control: Behavior of the elevation prompt for standard users | Prompt for credentials | -|User Account Control: Detect application installations and prompt for elevation| Enabled (default for home edition only)
          Disabled (default) | -|User Account Control: Only elevate executables that are signed and validated| Disabled | -|User Account Control: Only elevate UIAccess applications that are installed in secure locations | Enabled | -|User Account Control: Run all administrators in Admin Approval Mode| Enabled | -|User Account Control: Switch to the secure desktop when prompting for elevation | Enabled | -|User Account Control: Virtualize file and registry write failures to per-user locations | Enabled | +| Group Policy setting | Default value | +|------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| +| User Account Control: Admin Approval Mode for the built-in Administrator account | Disabled | +| User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop | Disabled | +| User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode | Prompt for consent for non-Windows binaries | +| User Account Control: Behavior of the elevation prompt for standard users | Prompt for credentials | +| User Account Control: Detect application installations and prompt for elevation | Enabled (default for home edition only)
          Disabled (default) | +| User Account Control: Only elevate executables that are signed and validated | Disabled | +| User Account Control: Only elevate UIAccess applications that are installed in secure locations | Enabled | +| User Account Control: Run all administrators in Admin Approval Mode | Enabled | +| User Account Control: Switch to the secure desktop when prompting for elevation | Enabled | +| User Account Control: Virtualize file and registry write failures to per-user locations | Enabled | #### [:::image type="icon" source="../../../images/icons/registry.svg" border="false"::: **Registry**](#tab/reg) From 6f1d2f991073eb628441275ccab7b13b77d8f78c Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 26 Mar 2024 12:12:22 -0600 Subject: [PATCH 39/61] Freshness update --- .../windows-sandbox-architecture.md | 10 ++-- ...indows-sandbox-configure-using-wsb-file.md | 50 +++++++++---------- .../windows-sandbox-overview.md | 9 ++-- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md index dac2d9f311..399efd6820 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md @@ -2,7 +2,7 @@ title: Windows Sandbox architecture description: Windows Sandbox architecture ms.topic: article -ms.date: 05/25/2023 +ms.date: 03/26/2024 --- # Windows Sandbox architecture @@ -15,7 +15,7 @@ Rather than requiring a separate copy of Windows to boot the sandbox, Dynamic Ba Most OS files are immutable and can be freely shared with Windows Sandbox. A small subset of operating system files are mutable and can't be shared, so the sandbox base image contains pristine copies of them. A complete Windows image can be constructed from a combination of the sharable immutable files on the host and the pristine copies of the mutable files. With the help of this scheme, Windows Sandbox has a full Windows installation to boot from without needing to download or store an extra copy of Windows. -Before Windows Sandbox is installed, the dynamic base image package is stored as a compressed 30-MB package. Once it's installed, the dynamic base image occupies about 500 MB of disk space. +Before Windows Sandbox is installed, the dynamic base image package is stored as a compressed 30-MB package. Once installed, the dynamic base image occupies about 500 MB of disk space. ![A chart compares scale of dynamic image of files and links with the host file system.](images/1-dynamic-host.png) @@ -27,7 +27,7 @@ Traditional VMs apportion statically sized allocations of host memory. When reso ## Memory sharing -Because Windows Sandbox runs the same operating system image as the host, it has been enhanced to use the same physical memory pages as the host for operating system binaries via a technology referred to as "direct map." For example, when *ntdll.dll* is loaded into memory in the sandbox, it uses the same physical pages as those pages of the binary when loaded on the host. Memory sharing between the host and the sandbox results in a smaller memory footprint when compared to traditional VMs, without compromising valuable host secrets. +Because Windows Sandbox runs the same operating system image as the host, it's enhanced to use the same physical memory pages as the host for operating system binaries via a technology referred to as "direct map." For example, when *ntdll.dll* is loaded into memory in the sandbox, it uses the same physical pages as those pages of the binary when loaded on the host. Memory sharing between the host and the sandbox results in a smaller memory footprint when compared to traditional VMs, without compromising valuable host secrets. ![A chart compares the memory footprint in Windows Sandbox versus a traditional VM.](images/3-memory-sharing.png) @@ -37,7 +37,7 @@ With ordinary virtual machines, the Microsoft hypervisor controls the scheduling ![A chart compares the scheduling in Windows Sandbox versus a traditional VM.](images/4-integrated-kernal.png) -Windows Sandbox employs a unique policy that allows the virtual processors of the Sandbox to be scheduled like host threads. Under this scheme, high-priority tasks on the host can preempt less important work in the Sandbox. This preemption means that the most important work will be prioritized, whether it's on the host or in the container. +Windows Sandbox employs a unique policy that allows the virtual processors of the Sandbox to be scheduled like host threads. Under this scheme, high-priority tasks on the host can preempt less important work in the Sandbox. This preemption means that the most important work is prioritized, whether it's on the host or in the container. ## WDDM GPU virtualization @@ -47,7 +47,7 @@ This feature allows programs running inside the sandbox to compete for GPU resou ![A chart illustrates graphics kernel use in Sandbox managed alongside apps on the host.](images/5-wddm-gpu-virtualization.png) -To take advantage of these benefits, a system with a compatible GPU and graphics drivers (WDDM 2.5 or newer) is required. Incompatible systems will render apps in Windows Sandbox with Microsoft's CPU-based rendering technology, Windows Advanced Rasterization Platform (WARP). +To take advantage of these benefits, a system with a compatible GPU and graphics drivers (WDDM 2.5 or newer) is required. Incompatible systems render apps in Windows Sandbox with Microsoft's CPU-based rendering technology, Windows Advanced Rasterization Platform (WARP). ## Battery pass-through diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md index b33a5b9f67..236eeb8788 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md @@ -2,7 +2,7 @@ title: Windows Sandbox configuration description: Windows Sandbox configuration ms.topic: article -ms.date: 05/25/2023 +ms.date: 03/26/2024 --- # Windows Sandbox configuration @@ -11,13 +11,13 @@ Windows Sandbox supports simple configuration files, which provide a minimal set A configuration file enables the user to control the following aspects of Windows Sandbox: -- **vGPU (virtualized GPU)**: Enable or disable the virtualized GPU. If vGPU is disabled, the sandbox will use Windows Advanced Rasterization Platform (WARP). +- **vGPU (virtualized GPU)**: Enable or disable the virtualized GPU. If vGPU is disabled, the sandbox uses Windows Advanced Rasterization Platform (WARP). - **Networking**: Enable or disable network access within the sandbox. -- **Mapped folders**: Share folders from the host with *read* or *write* permissions. Exposing host directories may allow malicious software to affect the system or steal data. +- **Mapped folders**: Share folders from the host with *read* or *write* permissions. Exposing host directories might allow malicious software to affect the system or steal data. - **Logon command**: A command that's executed when Windows Sandbox starts. - **Audio input**: Shares the host's microphone input into the sandbox. - **Video input**: Shares the host's webcam input into the sandbox. -- **Protected client**: Places increased security settings on the RDP session to the sandbox. +- **Protected client**: Places increased security settings on the Remote Desktop Protocol (RDP) session to the sandbox. - **Printer redirection**: Shares printers from the host into the sandbox. - **Clipboard redirection**: Shares the host clipboard with the sandbox so that text and files can be pasted back and forth. - **Memory in MB**: The amount of memory, in megabytes, to assign to the sandbox. @@ -37,7 +37,7 @@ To create a configuration file: ``` -3. Add appropriate configuration text between the two lines. For details, see the correct syntax and the examples below. +3. Add appropriate configuration text between the two lines. For details, see [examples](#examples). 4. Save the file with the desired name, but make sure its filename extension is `.wsb`. In Notepad, you should enclose the filename and the extension inside double quotation marks, for example, `"My config file.wsb"`. ## Using a configuration file @@ -59,7 +59,7 @@ Enables or disables GPU sharing. Supported values: - *Enable*: Enables vGPU support in the sandbox. -- *Disable*: Disables vGPU support in the sandbox. If this value is set, the sandbox will use software rendering, which may be slower than virtualized GPU. +- *Disable*: Disables vGPU support in the sandbox. If this value is set, the sandbox uses software rendering, which might be slower than virtualized GPU. - *Default* This value is the default value for vGPU support. Currently, this default value denotes that vGPU is disabled. > [!NOTE] @@ -82,7 +82,7 @@ Supported values: ### Mapped folders -An array of folders, each representing a location on the host machine that will be shared into the sandbox at the specified path. At this time, relative paths aren't supported. If no path is specified, the folder will be mapped to the container user's desktop. +An array of folders, each representing a location on the host machine that is shared with the sandbox at the specified path. At this time, relative paths aren't supported. If no path is specified, the folder is mapped to the container user's desktop. ```xml @@ -97,11 +97,9 @@ An array of folders, each representing a location on the host machine that will ``` -*HostFolder*: Specifies the folder on the host machine to share into the sandbox. The folder must already exist on the host, or the container will fail to start. - -*SandboxFolder*: Specifies the destination in the sandbox to map the folder to. If the folder doesn't exist, it will be created. If no sandbox folder is specified, the folder will be mapped to the container desktop. - -*ReadOnly*: If *true*, enforces read-only access to the shared folder from within the container. Supported values: *true*/*false*. Defaults to *false*. +- *HostFolder*: Specifies the folder on the host machine to share into the sandbox. The folder must already exist on the host, or the container fails to start. +- *SandboxFolder*: Specifies the destination in the sandbox to map the folder to. If the folder doesn't exist, it is created. If no sandbox folder is specified, the folder is mapped to the container desktop. +- *ReadOnly*: If *true*, enforces read-only access to the shared folder from within the container. Supported values: *true*/*false*. Defaults to *false*. > [!NOTE] > Files and folders mapped in from the host can be compromised by apps in the sandbox or potentially affect the host. @@ -129,7 +127,7 @@ Enables or disables audio input to the sandbox. Supported values: -- *Enable*: Enables audio input in the sandbox. If this value is set, the sandbox will be able to receive audio input from the user. Applications that use a microphone may require this capability. +- *Enable*: Enables audio input in the sandbox. If this value is set, the sandbox can receive audio input from the user. Applications that use a microphone may require this capability. - *Disable*: Disables audio input in the sandbox. If this value is set, the sandbox can't receive audio input from the user. Applications that use a microphone may not function properly with this setting. - *Default*: This value is the default value for audio input support. Currently, this default value denotes that audio input is enabled. @@ -189,7 +187,7 @@ Enables or disables sharing of the host clipboard with the sandbox. Supported values: - *Enable*: Enables sharing of the host clipboard with the sandbox. -- *Disable*: Disables clipboard redirection in the sandbox. If this value is set, copy/paste in and out of the sandbox will be restricted. +- *Disable*: Disables clipboard redirection in the sandbox. If this value is set, copy/paste in and out of the sandbox is restricted. - *Default*: This value is the default value for clipboard redirection. Currently, copy/paste between the host and sandbox are permitted under *Default*. ### Memory in MB @@ -198,13 +196,15 @@ Specifies the amount of memory that the sandbox can use in megabytes (MB). `value` -If the memory value specified is insufficient to boot a sandbox, it will be automatically increased to the required minimum amount. +If the memory value specified is insufficient to boot a sandbox, it is automatically increased to the required minimum amount. -## Example 1 +## Examples + +### Example 1 The following config file can be used to easily test the downloaded files inside the sandbox. To achieve this testing, networking and vGPU are disabled, and the sandbox is allowed read-only access to the shared downloads folder. For convenience, the logon command opens the downloads folder inside the sandbox when it's started. -### Downloads.wsb +#### Downloads.wsb ```xml @@ -223,17 +223,17 @@ The following config file can be used to easily test the downloaded files inside ``` -## Example 2 +### Example 2 The following config file installs Visual Studio Code in the sandbox, which requires a slightly more complicated LogonCommand setup. -Two folders are mapped into the sandbox; the first (SandboxScripts) contains VSCodeInstall.cmd, which will install and run Visual Studio Code. The second folder (CodingProjects) is assumed to contain project files that the developer wants to modify using Visual Studio Code. +Two folders are mapped into the sandbox; the first (SandboxScripts) contains VSCodeInstall.cmd, which installs and runs Visual Studio Code. The second folder (CodingProjects) is assumed to contain project files that the developer wants to modify using Visual Studio Code. With the Visual Studio Code installer script already mapped into the sandbox, the LogonCommand can reference it. -### VSCodeInstall.cmd +#### VSCodeInstall.cmd -Download vscode to `downloads` folder and run from `downloads` folder. +Downloads VS Code to `downloads` folder and runs installation from `downloads` folder. ```batch REM Download Visual Studio Code @@ -243,7 +243,7 @@ REM Install and run Visual Studio Code C:\users\WDAGUtilityAccount\Downloads\vscode.exe /verysilent /suppressmsgboxes ``` -### VSCode.wsb +#### VSCode.wsb ```xml @@ -265,15 +265,15 @@ C:\users\WDAGUtilityAccount\Downloads\vscode.exe /verysilent /suppressmsgboxes ``` -## Example 3 +### Example 3 The following config file runs a PowerShell script as a logon command to swap the primary mouse button for left-handed users. `C:\sandbox` folder on the host is mapped to the `C:\sandbox` folder in the sandbox, so the `SwapMouse.ps1` script can be referenced in the sandbox configuration file. -### SwapMouse.ps1 +#### SwapMouse.ps1 -Create a powershell script using the following code, and save it in the `C:\sandbox` directory as `SwapMouse.ps1`. +Create a PowerShell script using the following code, and save it in the `C:\sandbox` directory as `SwapMouse.ps1`. ```powershell [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md index 676b2a8179..1a0695eb98 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md @@ -2,20 +2,20 @@ title: Windows Sandbox description: Windows Sandbox overview ms.topic: article -ms.date: 05/25/2023 +ms.date: 03/26/2024 --- # Windows Sandbox Windows Sandbox provides a lightweight desktop environment to safely run applications in isolation. Software installed inside the Windows Sandbox environment remains "sandboxed" and runs separately from the host machine. -A sandbox is temporary. When it's closed, all the software and files and the state are deleted. You get a brand-new instance of the sandbox every time you open the application. Note, however, that as of Windows 11, version 22H2, your data will persist through a restart initiated from inside the virtualized environment—useful for installing applications that require the OS to reboot. +A sandbox is temporary. When it's closed, all the software and files and the state are deleted. You get a brand-new instance of the sandbox every time you open the application. Note, however, that as of Windows 11, version 22H2, your data persists through a restart initiated from inside the virtualized environment—useful for installing applications that require the OS to reboot. Software and applications installed on the host aren't directly available in the sandbox. If you need specific applications available inside the Windows Sandbox environment, they must be explicitly installed within the environment. Windows Sandbox has the following properties: -- **Part of Windows**: Everything required for this feature is included in Windows 10 Pro and Enterprise. There's no need to download a VHD. +- **Part of Windows**: Everything required for this feature is included in Windows 10 Pro and Enterprise. There's no need to download a Virtual Hard Disk (VHD). - **Pristine**: Every time Windows Sandbox runs, it's as clean as a brand-new installation of Windows. - **Disposable**: Nothing persists on the device. Everything is discarded when the user closes the application. - **Secure**: Uses hardware-based virtualization for kernel isolation. It relies on the Microsoft hypervisor to run a separate kernel that isolates Windows Sandbox from the host. @@ -70,9 +70,6 @@ Windows Sandbox has the following properties: ## Usage 1. Copy an executable file (and any other files needed to run the application) from the host and paste them into the **Windows Sandbox** window. - 2. Run the executable file or installer inside the sandbox. - 3. When you're finished experimenting, close the sandbox. A dialog box will state that all sandbox content will be discarded and permanently deleted. Select **Ok**. - 4. Confirm that your host machine doesn't exhibit any of the modifications that you made in Windows Sandbox. From 0f3240dd689ead7417bf6ee03055a55e331e9bed Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Wed, 27 Mar 2024 20:15:13 -0400 Subject: [PATCH 40/61] Update articles for new UI to meet DMA compliance 2 --- .../client-tools/add-remove-hide-features.md | 2 +- windows/deployment/windows-missing-fonts.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/client-management/client-tools/add-remove-hide-features.md b/windows/client-management/client-tools/add-remove-hide-features.md index fcc9748749..2c06665123 100644 --- a/windows/client-management/client-tools/add-remove-hide-features.md +++ b/windows/client-management/client-tools/add-remove-hide-features.md @@ -4,7 +4,7 @@ description: Learn how to add or remove Windows optional features using the Opti author: aczechowski ms.author: aaroncz manager: aaroncz -ms.date: 03/19/2024 +ms.date: 03/26/2024 ms.topic: how-to ms.service: windows-client ms.subservice: itpro-apps diff --git a/windows/deployment/windows-missing-fonts.md b/windows/deployment/windows-missing-fonts.md index f6e957d89b..03990ec26f 100644 --- a/windows/deployment/windows-missing-fonts.md +++ b/windows/deployment/windows-missing-fonts.md @@ -7,7 +7,7 @@ author: frankroj ms.author: frankroj manager: aaroncz ms.topic: article -ms.date: 03/19/2024 +ms.date: 03/26/2024 ms.subservice: itpro-deploy zone_pivot_groups: windows-versions-11-10 appliesto: @@ -111,7 +111,7 @@ Once the **Time & language > Language & region** pane is open, add the fonts ass 1. Once the desired language is found, select the language, and then select the **Next** button. - 1. In the **Install language features** window, select the desired options for the language, and then select the **Add** button. + 1. In the **Install language features** window, select the desired options for the language, and then select the **Install** button. 1. The desired language should now be available in the drop-down menu next to **Windows display language**. Drop down the **Windows display language** menu and select the desired language. @@ -131,7 +131,7 @@ Once the **Language** pane is open, add the fonts associated with a language and 1. Drop down the menu below **Windows display language** to show all of the languages currently added to the device. -1. If the desired language isn't listed, add the fonts for the desired language by selecting the **+** button next to **Add a language**. +1. If the desired language isn't listed, add the fonts for the desired language by selecting the **+** button next to **Add a language** in the **Preferred languages** section. 1. In the **Choose a language to install** window that opens: @@ -139,7 +139,7 @@ Once the **Language** pane is open, add the fonts associated with a language and 1. Once the desired language is found, select the language, and then select the **Next** button. - 1. In the **Install language features** window, select the desired features for the language, and then select the **Add** button. + 1. In the **Install language features** window, select the desired features for the language, and then select the **Install** button. 1. The desired language should now be available in the drop-down menu below **Windows display language**. Drop down the **Windows display language** menu and select the desired language. From 9b4529ec4cf2b302ea5baaf118efab70ee50b35d Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Wed, 27 Mar 2024 20:20:29 -0400 Subject: [PATCH 41/61] Update articles for new UI to meet DMA compliance 3 --- .../client-management/client-tools/add-remove-hide-features.md | 2 +- windows/deployment/windows-missing-fonts.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/client-management/client-tools/add-remove-hide-features.md b/windows/client-management/client-tools/add-remove-hide-features.md index 2c06665123..4fa8c60998 100644 --- a/windows/client-management/client-tools/add-remove-hide-features.md +++ b/windows/client-management/client-tools/add-remove-hide-features.md @@ -4,7 +4,7 @@ description: Learn how to add or remove Windows optional features using the Opti author: aczechowski ms.author: aaroncz manager: aaroncz -ms.date: 03/26/2024 +ms.date: 03/28/2024 ms.topic: how-to ms.service: windows-client ms.subservice: itpro-apps diff --git a/windows/deployment/windows-missing-fonts.md b/windows/deployment/windows-missing-fonts.md index 03990ec26f..6cee49fa4f 100644 --- a/windows/deployment/windows-missing-fonts.md +++ b/windows/deployment/windows-missing-fonts.md @@ -7,7 +7,7 @@ author: frankroj ms.author: frankroj manager: aaroncz ms.topic: article -ms.date: 03/26/2024 +ms.date: 03/28/2024 ms.subservice: itpro-deploy zone_pivot_groups: windows-versions-11-10 appliesto: From 9558c0606b475ab8e6b60d5ef67a9a1372621b0d Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 29 Mar 2024 13:24:33 -0400 Subject: [PATCH 42/61] 2024-03 freshness mostly with activation content --- ...ishing.redirection.windows-deployment.json | 10 + windows/deployment/TOC.yml | 6 +- ...ctive-directory-based-activation-client.md | 105 +++++---- ...ivate-using-key-management-service-vamt.md | 22 +- .../activate-windows-10-clients-vamt.md | 141 ----------- .../activate-windows-clients-vamt.md | 158 +++++++++++++ .../add-manage-products-vamt.md | 8 +- ...t-to-microsoft-during-activation-client.md | 81 ++++--- .../install-configure-vamt.md | 10 +- .../volume-activation/install-vamt.md | 14 +- .../manage-activations-vamt.md | 4 +- .../manage-product-keys-vamt.md | 6 +- .../volume-activation/manage-vamt-data.md | 4 +- .../monitor-activation-client.md | 37 ++- .../plan-for-volume-activation-client.md | 221 ++++++++++-------- .../update-product-status-vamt.md | 21 +- ...olume-activation-management-tool-client.md | 58 +++-- .../volume-activation/vamt-requirements.md | 14 +- .../volume-activation/vamt-step-by-step.md | 14 +- .../volume-activation-management-tool.md | 7 +- .../volume-activation-windows-10.md | 78 ------- .../volume-activation-windows.md | 62 +++++ 22 files changed, 559 insertions(+), 522 deletions(-) delete mode 100644 windows/deployment/volume-activation/activate-windows-10-clients-vamt.md create mode 100644 windows/deployment/volume-activation/activate-windows-clients-vamt.md delete mode 100644 windows/deployment/volume-activation/volume-activation-windows-10.md create mode 100644 windows/deployment/volume-activation/volume-activation-windows.md diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index 1295038b10..993bc42d4d 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1129,6 +1129,16 @@ "source_path": "windows/deployment/windows-10-missing-fonts.md", "redirect_url": "/windows/deployment/windows-missing-fonts", "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/volume-activation-windows-10.md", + "redirect_url": "/windows/deployment/volume-activation/volume-activation-windows", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/activate-windows-10-clients-vamt.md", + "redirect_url": "/windows/deployment/volume-activation/activate-windows-clients-vamt", + "redirect_document_id": false } ] } diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 9920192616..a747a05869 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -185,15 +185,15 @@ - name: Volume Activation items: - name: Overview - href: volume-activation/volume-activation-windows-10.md + href: volume-activation/volume-activation-windows.md - name: Plan for volume activation href: volume-activation/plan-for-volume-activation-client.md - name: Activate using Key Management Service href: volume-activation/activate-using-key-management-service-vamt.md - name: Activate using Active Directory-based activation href: volume-activation/activate-using-active-directory-based-activation-client.md - - name: Activate clients running Windows 10 - href: volume-activation/activate-windows-10-clients-vamt.md + - name: Activate clients running Windows + href: volume-activation/activate-windows-clients-vamt.md - name: Monitor activation href: volume-activation/monitor-activation-client.md - name: Use the Volume Activation Management Tool diff --git a/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md b/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md index 94a2db6f87..1510e640eb 100644 --- a/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md +++ b/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md @@ -1,6 +1,6 @@ --- title: Activate using Active Directory-based activation -description: Learn how active directory-based activation is implemented as a role service that relies on AD DS to store activation objects. +description: Learn how active directory-based activation is implemented as a role service that relies on Active Directory Domain Services (ADDS) to store activation objects. ms.reviewer: nganguly manager: aaroncz author: frankroj @@ -8,135 +8,140 @@ ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: how-to ms.collection: - highpri - tier2 +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 + - ✅ Microsoft Office --- # Activate using Active Directory-based activation -**Applies to:** - -- Windows -- Windows Server -- Office - > [!TIP] -> Are you looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). -Active Directory-based activation is implemented as a role service that relies on AD DS to store activation objects. Active Directory-based activation requires that you update the forest schema using `adprep.exe` on a supported server OS. After the schema is updated, older domain controllers can still activate clients. +Active Directory-based activation is implemented as a role service that relies on Active Directory Domain Services (ADDS) to store activation objects. Active Directory-based activation requires updating the forest schema with `adprep.exe` on a supported server OS. After the schema is updated, older domain controllers can still activate clients. -Any domain-joined computers running a supported OS with a Generic Volume License Key (GVLK) will be activated automatically and transparently. They'll stay activated as long as they remain members of the domain and maintain periodic contact with a domain controller. Activation takes place after the Licensing service starts. When this service starts, the computer contacts AD DS automatically, receives the activation object, and is activated without user intervention. +Any domain-joined computers running a supported OS with a Generic Volume License Key (GVLK) is activated automatically and transparently. Domain-joined computers stay activated as long as they remain members of the domain and maintain periodic contact with a domain controller. Activation takes place after the Licensing service starts. When this service starts, the computer contacts ADDS automatically, receives the activation object, and is activated without user intervention. -To allow computers with GVLKs to activate themselves, use the Volume Activation Tools console, or the [Volume Activation Management Tool (VAMT)](volume-activation-management-tool.md) in earlier versions of Windows Server to create an object in the AD DS forest. You create this activation object by submitting a KMS host key to Microsoft, as shown in Figure 10. +To allow computers with GVLKs to activate themselves, use the Volume Activation Tools console, or the [Volume Activation Management Tool (VAMT)](volume-activation-management-tool.md) in earlier versions of Windows Server to create an object in the ADDS forest. The activation object is created by submitting a Key Management Service (KMS) host key to Microsoft, as shown in Figure 10. The process proceeds as follows: 1. Do *one* of the following tasks: - - Install the Volume Activation Services server role on a domain controller. Then add a KMS host key by using the Volume Activation Tools Wizard. + - Install the Volume Activation Services server role on a domain controller, then add a KMS host key by using the Volume Activation Tools Wizard. - - Extend the domain schema level to Windows Server 2012 R2 or later. Then add a KMS host key by using the VAMT. + - Extend the domain schema level to Windows Server 2012 R2 or later, then add a KMS host key by using the VAMT. -2. Microsoft verifies the KMS host key, and an activation object is created. +1. Microsoft verifies the KMS host key, and an activation object is created. -3. Client computers are activated by receiving the activation object from a domain controller during startup. +1. Client computers are activated by receiving the activation object from a domain controller during startup. > [!div class="mx-imgBorder"] > ![Active Directory-based activation flow.](../images/volumeactivationforwindows81-10.jpg) **Figure 10**. The Active Directory-based activation flow -For environments in which all computers are running a supported OS version, and they're joined to a domain, Active Directory-based activation is the best option for activating all client computers and servers. You may be able to remove any KMS hosts from your environment. +For environments where all computers are domain joined and running a supported OS version, Active Directory-based activation is the best option for activating client computers and servers. Active Directory-based activation might allow removal of any KMS hosts from the environment. If an environment contains one of the following items: -If an environment will continue to contain earlier versions of volume licensed operating systems and applications, or if you have workgroup computers outside the domain, you need to maintain a KMS host to maintain activation status. +- Earlier versions of volume licensed operating systems and applications +- Workgroup computers outside the domain -Clients that are activated with Active Directory-based activation will maintain their activated state for up to 180 days since the last contact with the domain. They'll periodically attempt to reactivate before then and at the end of the 180 day period. By default, this reactivation event occurs every seven days. +a KMS host is still needed to maintain activation status. -When a reactivation event occurs, the client queries AD DS for the activation object. Client computers examine the activation object and compare it to the local edition as defined by the GVLK. If the object and GVLK match, reactivation occurs. If the AD DS object can't be retrieved, client computers use KMS activation. If the computer is removed from the domain, and the computer or the Software Protection service is restarted, Windows will change the status to "not activated" and the computer will try to activate with KMS. +Clients that are activated with Active Directory-based activation maintain their activated state for up to 180 days since the last contact with the domain. They periodically attempt to reactivate before then and at the end of the 180 day period. By default, this reactivation event occurs every seven days. + +When a reactivation event occurs, the client queries ADDS for the activation object. Client computers examine the activation object and compare it to the local edition as defined by the GVLK. If the object and the GVLK match, then reactivation occurs. If the ADDS object can't be retrieved, client computers use KMS activation. If the computer is removed from the domain and the computer or the Software Protection service is restarted, Windows changes the status to **Not Activated** and the computer tries to activate with KMS. ## Step-by-step configuration: Active Directory-based activation > [!NOTE] -> You must be a member of the local **Administrators** group on all computers mentioned in these steps. You also need to be a member of the **Enterprise Administrators** group, because setting up Active Directory-based activation changes forest-wide settings. +> +> The administrator following these steps must be a member of the local **Administrators** group on all computers mentioned in these steps. Additionally, they also need to be a member of the **Enterprise Administrators** group, because setting up Active Directory-based activation changes forest-wide settings. To configure Active Directory-based activation on a supported version of Windows Server, complete the following steps: 1. Use an account with **Domain Administrator** and **Enterprise Administrator** credentials to sign in to a domain controller. -2. Launch **Server Manager**. +1. Launch **Server Manager**. -3. Add the **Volume Activation Services** role, as shown in Figure 11. +1. Add the **Volume Activation Services** role, as shown in Figure 11. ![Adding the Volume Activation Services role.](../images/volumeactivationforwindows81-11.jpg) **Figure 11**. Adding the Volume Activation Services role -4. Select the **Volume Activation Tools**, as shown in Figure 12. +1. Select the **Volume Activation Tools**, as shown in Figure 12. ![Launching the Volume Activation Tools.](../images/volumeactivationforwindows81-12.jpg) **Figure 12**. Launching the Volume Activation Tools -5. Select the **Active Directory-Based Activation** option, as shown in Figure 13. +1. Select the **Active Directory-Based Activation** option, as shown in Figure 13. ![Selecting Active Directory-Based Activation.](../images/volumeactivationforwindows81-13.jpg) **Figure 13**. Selecting Active Directory-Based Activation -6. Enter your KMS host key and optionally specify a display name, as shown in Figure 14. +1. Enter the organization's KMS host key and optionally specify a display name, as shown in Figure 14. - ![Choosing how to activate your product.](../images/volumeactivationforwindows81-15.jpg) + ![Entering the organization's KMS host key.](../images/volumeactivationforwindows81-15.jpg) - **Figure 14**. Entering your KMS host key + **Figure 14**. Entering the organization's KMS host key -7. Activate your KMS host key by phone or online, as shown in Figure 15. +1. Activate the organization's KMS host key by phone or online, as shown in Figure 15. - ![Entering your KMS host key.](../images/volumeactivationforwindows81-14.jpg) + ![Choosing how to activate the product.](../images/volumeactivationforwindows81-14.jpg) - **Figure 15**. Choosing how to activate your product + **Figure 15**. Choosing how to activate the product > [!NOTE] - > To activate a KMS Host Key (CSVLK) for Microsoft Office, you need to install the version-specific Office Volume License Pack on the server where the Volume Activation Server Role is installed. + > To activate a KMS Host Key/Customer Specific Volume License Key (CSVLK) for Microsoft Office, the version-specific Office Volume License Pack needs to be installed on the server where the Volume Activation Server Role is installed. > - > - [Office 2013 VL pack](https://www.microsoft.com/download/details.aspx?id=35584) + > - [Office 2016 VL pack](https://www.microsoft.com/download/details.aspx?id=49164). > - > - [Office 2016 VL pack](https://www.microsoft.com/download/details.aspx?id=49164) + > - [Office 2019 VL pack](https://www.microsoft.com/download/details.aspx?id=57342). > - > - [Office 2019 VL pack](https://www.microsoft.com/download/details.aspx?id=57342) - > - > - [Office LTSC 2021 VL pack](https://www.microsoft.com/download/details.aspx?id=103446) + > - [Office LTSC 2021 VL pack](https://www.microsoft.com/download/details.aspx?id=103446). > > For more information, see [Activate volume licensed versions of Office by using Active Directory](/deployoffice/vlactivation/activate-office-by-using-active-directory). -8. After activating the key, select **Commit**, and then select **Close**. +1. After activating the key, select **Commit**, and then select **Close**. ## Verifying the configuration of Active Directory-based activation -To verify your Active Directory-based activation configuration, complete the following steps: +To verify the Active Directory-based activation configuration, complete the following steps: -1. After you configure Active Directory-based activation, start a computer that is running an edition of Windows that's configured by volume licensing. +1. After configuring Active Directory-based activation, start a computer running an edition of Windows configured by volume licensing. -2. If the computer has been previously configured with a MAK key, replace the MAK key with the GVLK. Run the `slmgr.vbs /ipk` command and specifying the GLVK as the new product key. +1. If the computer was previously configured with a MAK key, replace the MAK key with the GVLK. Run the `slmgr.vbs /ipk` command and specifying the GVLK as the new product key. -3. If the computer isn't joined to your domain, join it to the domain. +1. If the computer isn't joined to the organization's domain, join it to the domain. -4. Sign in to the computer. +1. Sign in to the computer. -5. Open Windows Explorer, right-click **Computer**, and then select **Properties**. +1. Open Windows Explorer, right-click **Computer**, and then select **Properties**. -6. Scroll down to the **Windows activation** section, and verify that this client has been activated. +1. Scroll down to the **Windows activation** section, and verify that this client is activated. > [!NOTE] - > If you're using both KMS and Active Directory-based activation, it may be difficult to see whether a client has been activated by KMS or by Active Directory-based activation. Consider disabling KMS during the test, or make sure that you are using a client computer that hasn't already been activated by KMS. The `slmgr.vbs /dlv` command also indicates whether KMS has been used. + > + > If using both KMS and Active Directory-based activation, it might be difficult to determine is a client was activated with KMS or by Active Directory-based activation. During the test, consider disabling KMS, or ensure to use a client computer not already activated by KMS. The `slmgr.vbs /dlv` command also indicates if KMS was used. > > To manage individual activations or apply multiple (mass) activations, use the [VAMT](./volume-activation-management-tool.md). -## Related articles +## Related content -[Volume Activation for Windows 10](volume-activation-windows-10.md) +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md b/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md index 0f74f80116..edc0003a75 100644 --- a/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md +++ b/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md @@ -8,7 +8,7 @@ author: frankroj manager: aaroncz ms.author: frankroj ms.localizationpriority: medium -ms.date: 10/16/2023 +ms.date: 03/29/2024 ms.topic: how-to ms.collection: - highpri @@ -55,7 +55,7 @@ KMS can be activated on client versions of Windows by using the `slmgr.vbs`. To cscript.exe slmgr.vbs /ipk ``` -1. Once the KMS key has been installed, it needs to be activated using one of the following methods: +1. Once the KMS key is installed, it needs to be activated using one of the following methods: - To activate online, in the elevated Command Prompt window, run the following command: @@ -85,11 +85,11 @@ KMS can be activated on client versions of Windows by using the `slmgr.vbs`. To ## Key Management Service in Windows Server -Installing a KMS host key on a computer running Windows Server allows you to activate computers running the same or earlier versions of Windows Server. Additionally, it also allows activation of client versions of Windows. +Installing a KMS host key on a computer running Windows Server allows activation of computers running the same or earlier versions of Windows Server. Additionally, it also allows activation of client versions of Windows. > [!IMPORTANT] > -> You can't install a client KMS key into the KMS in Windows Server. +> A client KMS key can't be installed into the KMS in Windows Server. ### Configure KMS in Windows Server @@ -125,7 +125,7 @@ Installing a KMS host key on a computer running Windows Server allows you to act 1. In the **Introduction to Volume Activation Tools**/**Introduction** page, select the **Next >** button. - 1. In the **Select Volume Activation Method**/**Activation Type** page, select the **Key Management Service (KMS)** option, and specify the computer that acts as the KMS host. This computer can be the server on which the KMS role was installed, or another server/client computer. After the server/computer has been specified, select the **Next >** button. + 1. In the **Select Volume Activation Method**/**Activation Type** page, select the **Key Management Service (KMS)** option, and specify the computer that acts as the KMS host. This computer can be the server on which the KMS role was installed, or another server/client computer. After the server/computer is specified, select the **Next >** button. 1. In the **Manage KMS Host**/**Product Key Management** page, enter in the KMS host key in the text box under **Install your KMS host key**, and then select the **Commit** button. @@ -165,27 +165,27 @@ KMS volume activation can be verified from the KMS host server or from the clien > [!NOTE] > -> If you configured Active Directory-based activation before configuring KMS activation, you must use a client computer that doesn't first try to activate itself by using Active Directory-based activation. For example, a client computer that is a workgroup computer that isn't joined to a domain. +> If Active Directory-based activation was configured before configuring KMS activation, a client computer must be used that doesn't first try to activate itself by using Active Directory-based activation. For example, a client computer that is a workgroup computer that isn't joined to a domain. To verify that KMS volume activation works, complete the following steps: 1. On the KMS host, open the event log and confirm that DNS publishing is successful. -2. On a client computer, open an elevated Command Prompt window and run the command: +1. On a client computer, open an elevated Command Prompt window and run the command: ```cmd cscript.exe slmgr.vbs /ato ``` - The `/ato` command causes the operating system to attempt activation by using whichever key has been installed in the operating system. The response should show the license state and detailed Windows version information. + The `/ato` command causes the operating system to attempt activation by using whichever key is installed in the operating system. The response should show the license state and detailed Windows version information. -3. On a client computer or the KMS host, open an elevated Command Prompt window and run the command +1. On a client computer or the KMS host, open an elevated Command Prompt window and run the command ```cmd cscript.exe slmgr.vbs /dlv ``` - The `/dlv` command displays the detailed licensing information. The response should return an error that states that the KMS activation count is too low. This test confirms that KMS is functioning correctly, even though the client hasn't been activated. + The `/dlv` command displays the detailed licensing information. The response should return an error that states that the KMS activation count is too low. This test confirms that KMS is functioning correctly, even though the client isn't activated. For more information about the use and syntax of the script `slmgr.vbs`, see [Slmgr.vbs Options](/windows-server/get-started/activation-slmgr-vbs-options). @@ -193,6 +193,6 @@ For more information about the use and syntax of the script `slmgr.vbs`, see [Sl > > Clients require RPC over TCP/IP connectivity to the KMS host to successfully activate. For more information, see [Key Management Services (KMS) activation planning: Network requirements](/windows-server/get-started/kms-activation-planning#network-requirements) and [Remote Procedure Call (RPC) errors troubleshooting guidance](/troubleshoot/windows-client/networking/rpc-errors-troubleshooting). -## Related articles +## Related content - [Key Management Services (KMS) activation planning](/windows-server/get-started/kms-activation-planning). diff --git a/windows/deployment/volume-activation/activate-windows-10-clients-vamt.md b/windows/deployment/volume-activation/activate-windows-10-clients-vamt.md deleted file mode 100644 index 006a02b12c..0000000000 --- a/windows/deployment/volume-activation/activate-windows-10-clients-vamt.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: Activate clients running Windows 10 (Windows 10) -description: After you have configured Key Management Service (KMS) or Active Directory-based activation on your network, activating a client running Windows 10 is easy. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.localizationpriority: medium -ms.date: 11/07/2022 -ms.topic: article -ms.subservice: itpro-fundamentals ---- - -# Activate clients running Windows 10 - -**Applies to:** - -- Windows 11 -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2022 -- Windows Server 2019 -- Windows Server 2016 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 - -> [!TIP] -> Are you looking for information on retail activation? -> -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) - -After you have configured Key Management Service (KMS) or Active Directory-based activation on your network, activating a client running Windows 10 is easy. If the computer has been configured with a Generic Volume License Key (GVLK), neither IT nor the user need take any action. It just works. - -Enterprise edition images and installation media should already be configured with the GVLK. When the client computer starts, the Licensing service examines the current licensing condition of the computer. - -If activation or reactivation is required, the following sequence occurs: - -1. If the computer is a member of a domain, it asks a domain controller for a volume activation object. If Active Directory-based activation is configured, the domain controller returns the object. If the object matches the edition of the software that is installed and the computer has a matching GVLK, the computer is activated (or reactivated), and it will not need to be activated again for 180 days, although the operating system will attempt reactivation at much shorter, regular intervals. - -2. If the computer isn't a member of a domain or if the volume activation object isn't available, the computer will issue a DNS query to attempt to locate a KMS server. If a KMS server can be contacted, activation occurs if the KMS has a key that matches the computer's GVLK. - -3. The computer tries to activate against Microsoft servers if it's configured with a MAK. - -If the client isn't able to activate itself successfully, it will periodically try again. The frequency of the retry attempts depends on the current licensing state and whether the client computer has been successfully activated in the past. For example, if the client computer had been previously activated by Active Directory-based activation, it will periodically try to contact the domain controller at each restart. - -## How Key Management Service works - -KMS uses a client-server topology. KMS client computers can locate KMS host computers by using DNS or a static configuration. KMS clients contact the KMS host by using RPCs carried over TCP/IP. - -### Key Management Service activation thresholds - -You can activate physical computers and virtual machines by contacting a KMS host. To qualify for KMS activation, there must be a minimum number of qualifying computers (called the activation threshold). KMS clients will be activated only after this threshold has been met. Each KMS host counts the number of computers that have requested activation until the threshold is met. - -A KMS host responds to each valid activation request from a KMS client with the count of how many computers have already contacted the KMS host for activation. Client computers that receive a count below the activation threshold aren't activated. For example, if the first two computers that contact the KMS host are running Windows 10, the first receives an activation count of 1, and the second receives an activation count of 2. If the next computer is a virtual machine on a computer running Windows 10, it receives an activation count of 3, and so on. None of these computers will be activated, because computers running Windows 10, like other client operating system versions, must receive an activation count of 25 or more. - -When KMS clients are waiting for the KMS to reach the activation threshold, they'll connect to the KMS host every two hours to get the current activation count. They'll be activated when the threshold is met. - -In our example, if the next computer that contacts the KMS host is running Windows Server 2012 R2, it receives an activation count of 4, because activation counts are cumulative. If a computer running Windows Server 2012 R2 receives an activation count that is 5 or more, it's activated. If a computer running Windows 10 receives an activation count of 25 or more, it's activated. - -### Activation count cache - -To track the activation threshold, the KMS host keeps a record of the KMS clients that request activation. The KMS host gives each KMS client a client ID designation, and the KMS host saves each client ID in a table. By default, each activation request remains in the table for up to 30 days. When a client renews its activation, the cached client ID is removed from the table, a new record is created, and the 30 day period begins again. If a KMS client computer doesn't renew its activation within 30 days, the KMS host removes the corresponding client ID from the table and reduces the activation count by one. - -However, the KMS host only caches twice the number of client IDs that are required to meet the activation threshold. Therefore, only the 50 most recent client IDs are kept in the table, and a client ID could be removed much sooner than 30 days. -The total size of the cache is set by the type of client computer that is attempting to activate. If a KMS host receives activation requests only from servers, the cache will hold only 10 client IDs (twice the required 5). If a client computer running Windows 10 contacts that KMS host, KMS increases the cache size to 50 to accommodate the higher threshold. KMS never reduces the cache size. - -### Key Management Service connectivity - -KMS activation requires TCP/IP connectivity. By default, KMS hosts and clients use DNS to publish and find the KMS. The default settings can be used, which require little or no administrative action, or KMS hosts and client computers can be manually configured based on network configuration and security requirements. - -### Key Management Service activation renewal - -KMS activations are valid for 180 days (the *activation validity interval*). To remain activated, KMS client computers must renew their activation by connecting to the KMS host at least once every 180 days. By default, KMS client computers attempt to renew their activation every seven days. If KMS activation fails, the client computer retries every two hours. After a client computer's activation is renewed, the activation validity interval begins again. - -### Publication of the Key Management Service - -The KMS uses service (SRV) resource records in DNS to store and communicate the locations of KMS hosts. KMS hosts use the DNS dynamic update protocol, if available, to publish the KMS service (SRV) resource records. If dynamic update isn't available or the KMS host doesn't have rights to publish the resource records, the DNS records must be published manually, or you must configure client computers to connect to specific KMS hosts. - -### Client discovery of the Key Management Service - -By default, KMS client computers query DNS for KMS information. The first time a KMS client computer queries DNS for KMS information, it randomly chooses a KMS host from the list of service (SRV) resource records that DNS returns. The address of a DNS server that contains the service (SRV) resource records can be listed as a suffixed entry on KMS client computers, which allows one DNS server to advertise the service (SRV) resource records for KMS, and KMS client computers with other primary DNS servers to find it. - -Priority and weight parameters can be added to the DnsDomainPublishList registry value for KMS. Establishing KMS host priority groupings and weighting within each group allows you to specify which KMS host the client computers should try first and balances traffic among multiple KMS hosts. All currently supported versions of Windows and Windows Server provide these priority and weight parameters. - -If the KMS host that a client computer selects doesn't respond, the KMS client computer removes that KMS host from its list of service (SRV) resource records and randomly selects another KMS host from the list. When a KMS host responds, the KMS client computer caches the name of the KMS host and uses it for subsequent activation and renewal attempts. If the cached KMS host doesn't respond on a subsequent renewal, the KMS client computer discovers a new KMS host by querying DNS for KMS service (SRV) resource records. - -By default, client computers connect to the KMS host for activation by using anonymous RPCs through TCP port 1688. (You can change the default port.) After establishing a TCP session with the KMS host, the client computer sends a single request packet. The KMS host responds with the activation count. If the count meets or exceeds the activation threshold for that operating system, the client computer is activated, and the session is closed. The KMS client computer uses this same process for renewal requests. 250 bytes are used for communication each way. - -### Domain Name System server configuration - -The default KMS automatic publishing feature requires the service (SRV) resource record and support for DNS dynamic update protocol. KMS client computer default behavior and the KMS service (SRV) resource record publishing are supported on a DNS server that is running Microsoft software or any other DNS server that supports service (SRV) resource records (per Internet Engineering Task Force \[IETF\] Request for Comments \[RFC\] 2782) and dynamic updates (per IETF RFC 2136). For example, Berkeley Internet Domain Name versions 8.x and 9.x support service (SRV) resource records and dynamic update. -The KMS host must be configured so that it has the credentials needed to create and update the following resource records on the DNS servers: service (SRV), IPv4 host (A), and IPv6 host (AAAA), or the records need to be created manually. The recommended solution for giving the KMS host the needed credentials is to create a security group in AD DS, then add all KMS hosts to that group. On a DNS server that is running Microsoft software, ensure that this security group is given full control over the \_VLMCS.\_TCP record in each DNS domain that will contain the KMS service (SRV) resource records. - -### Activating the first Key Management Service host - -KMS hosts on the network need to install a KMS key, and then be activated with Microsoft. Installation of a KMS key enables the KMS on the KMS host. After installing the KMS key, complete the activation of the KMS host by telephone or online. Beyond this initial activation, a KMS host doesn't communicate any information to Microsoft. KMS keys are only installed on KMS hosts, never on individual KMS client computers. - -### Activating subsequent Key Management Service hosts - -Each KMS key can be installed on up to six KMS hosts. These hosts can be physical computers or virtual machines. After activating a KMS host, the same host can be reactivated up to nine times with the same key. If the organization needs more than six KMS hosts, you can request additional activations for your organization's KMS key by calling a Microsoft Volume [Licensing Activation Center](https://go.microsoft.com/fwlink/p/?LinkID=618264) to request an exception. - -## How Multiple Activation Key works - -A MAK is used for one-time activation with Microsoft's hosted activation services. Each MAK has a predetermined number of allowed activations. This number is based on volume licensing agreements, and it might not match the organization's exact license count. Each activation that uses a MAK with the Microsoft hosted activation service counts toward the activation limit. - -You can activate computers by using a MAK in two ways: - -- **MAK independent activation**. Each computer independently connects and is activated with Microsoft over the Internet or by telephone. MAK independent activation is best suited to computers within an organization that don't maintain a connection to the corporate network. MAK independent activation is shown in Figure 16. - - ![MAK independent activation.](../images/volumeactivationforwindows81-16.jpg) - - **Figure 16**. MAK independent activation - -- **MAK proxy activation**. MAK proxy activation enables a centralized activation request on behalf of multiple computers with one connection to Microsoft. You configure MAK proxy activation by using the VAMT. MAK proxy activation is appropriate for environments in which security concerns restrict direct access to the Internet or the corporate network. It's also suited for development and test labs that lack this connectivity. MAK proxy activation with the VAMT is shown in Figure 17. - - ![MAK proxy activation with the VAMT.](../images/volumeactivationforwindows81-17.jpg) - - **Figure 17**. MAK proxy activation with the VAMT - -A MAK is recommended for computers that rarely or never connect to the corporate network and for environments in which the number of computers that require activation doesn't meet the KMS activation threshold. - -You can use a MAK for individual computers or with an image that can be duplicated or installed using Microsoft deployment solutions. You can also use a MAK on a computer that was originally configured to use KMS activation. Switching from KMS to a MAK is useful for moving a computer off the core network to a disconnected environment. - -### Multiple Activation Key architecture and activation - -MAK independent activation installs a MAK product key on a client computer. The key instructs that computer to activate itself with Microsoft servers over the Internet. - -In MAK proxy activation, the VAMT installs a MAK product key on a client computer, obtains the installation ID from the target computer, sends the installation ID to Microsoft on behalf of the client, and obtains a confirmation ID. The tool then activates the client computer by installing the confirmation ID. - -## Activating as a standard user - -Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012 R2, Windows Server 2012, and Windows Server 2008 R2 don't require administrator privileges for activation, but this change doesn't allow standard user accounts to remove computers running Windows 7 or Windows Server 2008 R2 from the activated state. An administrator account is still required for other activation- or license-related tasks, such as "rearm." - -## Related articles - -- [Volume Activation for Windows 10](volume-activation-windows-10.md) diff --git a/windows/deployment/volume-activation/activate-windows-clients-vamt.md b/windows/deployment/volume-activation/activate-windows-clients-vamt.md new file mode 100644 index 0000000000..46d76cbe54 --- /dev/null +++ b/windows/deployment/volume-activation/activate-windows-clients-vamt.md @@ -0,0 +1,158 @@ +--- +title: Activate clients running Windows +description: Activate clients running Windows after configuring Key Management Service (KMS) or Active Directory-based activation. +ms.reviewer: nganguly +manager: aaroncz +ms.author: frankroj +ms.service: windows-client +author: frankroj +ms.localizationpriority: medium +ms.date: 03/29/2024 +ms.topic: article +ms.subservice: itpro-fundamentals +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 +--- + +# Activate clients running Windows + +> [!TIP] +> +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). + +After Key Management Service (KMS) or Active Directory-based activation is configured in a network, activating a client running Windows is easy. If the computer is configured with a Generic Volume License Key (GVLK), IT or the user don't need to take any action. It just works. + +Enterprise edition images and installation media should already be configured with the GVLK. When the client computer starts, the Licensing service examines the current licensing condition of the computer. + +If activation or reactivation is required, the following sequence occurs: + +1. If the computer is a member of a domain, it asks a domain controller for a volume activation object. If Active Directory-based activation is configured, the domain controller returns the object. If the object meets the following requirements: + + - Matches the edition of the software that is installed + - Has a matching GVLK + + then the computer is activated (or reactivated). The computer doesn't need to activate again for 180 days although the operating system attempts reactivation at shorter, regular intervals. + +1. If the computer isn't a member of a domain or if the volume activation object isn't available, the computer issues a DNS query to attempt to locate a KMS server. If a KMS server can be contacted, activation occurs if the KMS has a key that matches the computer's GVLK. + +1. The computer tries to activate against Microsoft servers if it's configured with a MAK. + +If the client isn't able to activate itself successfully, it periodically tries again. The frequency of the retry attempts depends on the current licensing state and whether the client computer successfully activated in the past. For example, if the client computer previously used Active Directory-based activation to activate, it periodically tries to contact the domain controller at each restart. + +## How Key Management Service works + +KMS uses a client-server topology. KMS client computers can locate KMS host computers by using DNS or a static configuration. KMS clients contact the KMS host by using RPCs carried over TCP/IP. + +### Key Management Service activation thresholds + +Physical computers and virtual machines can activate by contacting a KMS host. To qualify for KMS activation, there must be a minimum number of qualifying computers. This minimum is called the activation threshold. KMS clients will be activated only after this threshold is met. Each KMS host counts the number of computers that requested activation until the threshold is met. + +A KMS host responds to each valid activation request from a KMS client with the count of how many computers have already contacted the KMS host for activation. Client computers that receive a count below the activation threshold aren't activated. For example, if the first two computers that contact the KMS host are running a currently supported version of Windows client, the first receives an activation count of 1, and the second receives an activation count of 2. If the next computer is a virtual machine running a currently supported version of Windows client, it receives an activation count of 3, and so on. None of these computers are activated because an activation count of 25 or more must be reached. + +When KMS clients are waiting for the KMS to reach the activation threshold, they connect to the KMS host every two hours to get the current activation count. They're activated once the threshold is met. + +In our example, if the next computer that contacts the KMS host is running a currently supported version of Windows Server, it receives an activation count of 4 since activation counts are cumulative. If a computer running a currently supported version of Windows Server receives an activation count that is 5 or more, it's activated. If a computer running a currently supported version of Windows client receives an activation count of 25 or more, it's activated. + +### Activation count cache + +To track the activation threshold, the KMS host keeps a record of the KMS clients that request activation. The KMS host gives each KMS client a client ID designation, and the KMS host saves each client ID in a table. By default, each activation request remains in the table for up to 30 days. When a client renews its activation, the cached client ID is removed from the table, a new record is created, and the 30 day period begins again. If a KMS client computer doesn't renew its activation within 30 days, the KMS host removes the corresponding client ID from the table and reduces the activation count by one. + +However, the KMS host only caches twice the number of client IDs that are required to meet the activation threshold. Therefore, only the 50 most recent client IDs are kept in the table, and a client ID could be removed sooner than 30 days. + +The type of client computer that is attempting to activate sets the total size of the cache. For example, if a KMS host receives activation requests only from servers, the cache holds only 10 client IDs, twice the required threshold of 5. However, if a client computer running Windows client contacts that KMS host, KMS increases the cache size to 50 to accommodate the higher threshold. KMS never reduces the cache size. + +### Key Management Service connectivity + +KMS activation requires TCP/IP connectivity. By default, KMS hosts and clients use DNS to publish and find the KMS. The default settings can be used, which require little or no administrative action. However, the KMS hosts and client computers can be manually configured based on network configuration and security requirements. + +### Key Management Service activation renewal + +KMS activations are valid for 180 days (the *activation validity interval*). To remain activated, KMS client computers must renew their activation by connecting to the KMS host at least once every 180 days. By default, KMS client computers attempt to renew their activation every seven days. If KMS activation fails, the client computer retries every two hours. After a client computer's activation is renewed, the activation validity interval begins again. + +### Publication of the Key Management Service + +The KMS uses service (SRV) resource records in DNS to store and communicate the locations of KMS hosts. KMS hosts use the DNS dynamic update protocol, if available, to publish the KMS service (SRV) resource records. If dynamic update isn't available or the KMS host doesn't have rights to publish the resource records, one of the following actions needs to be taken: + +- The DNS records must be published manually. +- Client computers must be configured to connect to specific KMS hosts. + +### Client discovery of the Key Management Service + +By default, KMS client computers query DNS for KMS information. The first time a KMS client computer queries DNS for KMS information, it randomly chooses a KMS host from the list of service (SRV) resource records that DNS returns. The address of a DNS server that contains the service (SRV) resource records can be listed as a suffixed entry on KMS client computers. This feature allows one DNS server to advertise the service (SRV) resource records for KMS, and KMS client computers with other primary DNS servers to find it. + +Priority and weight parameters can be added to the DnsDomainPublishList registry value for KMS. Establishing KMS host priority groupings and weighting within each group allows specifying which KMS host the client computers should try first and balances traffic among multiple KMS hosts. All currently supported versions of Windows and Windows Server provide these priority and weight parameters. + +If the KMS host that a client computer selects doesn't respond, the KMS client computer removes that KMS host from its list of service (SRV) resource records and randomly selects another KMS host from the list. When a KMS host responds, the KMS client computer caches the name of the KMS host and uses it for subsequent activation and renewal attempts. If the cached KMS host doesn't respond on a subsequent renewal, the KMS client computer discovers a new KMS host by querying DNS for KMS service (SRV) resource records. + +By default, client computers connect to the KMS host for activation by using anonymous RPCs through TCP port 1688, although the default port can be changed. After a client computer establishes a TCP session with the KMS host, the client computer sends a single request packet. The KMS host responds with the activation count. If the count meets or exceeds the activation threshold, the client computer is activated, and the session is closed. The KMS client computer uses this same process for renewal requests. 250 bytes are used for communication each way. + +### Domain Name System server configuration + +The default KMS automatic publishing feature requires the service (SRV) resource record and support for DNS dynamic update protocol. KMS client computer default behavior and the KMS service (SRV) resource record publishing are supported on: + +- A DNS server that is running Microsoft software. +- DNS server that supports service (SRV) resource records (per Internet Engineering Task Force \[IETF\] Request for Comments \[RFC\] 2782) and dynamic updates (per IETF RFC 2136). + +For example, Berkeley Internet Domain Name versions 8.x and 9.x support service (SRV) resource records and dynamic update. +The KMS host must be configured so that it has the credentials needed to create and update the following resource records on the DNS servers: service (SRV), IPv4 host (A), and IPv6 host (AAAA), or the records need to be created manually. The recommended solution for giving the KMS host the needed credentials is to create a security group in AD DS, then add all KMS hosts to that group. On a DNS server that is running Microsoft software, ensure that this security group is given full control over the \_VLMCS.\_TCP record. This requirement needs to occur in each DNS domain that contains the KMS service (SRV) resource records. + +### Activating the first Key Management Service host + +KMS hosts on the network need to install a KMS key, and then be activated with Microsoft. Installation of a KMS key enables the KMS on the KMS host. After installing the KMS key, complete the activation of the KMS host by telephone or online. Beyond this initial activation, a KMS host doesn't communicate any information to Microsoft. KMS keys are only installed on KMS hosts, never on individual KMS client computers. + +### Activating subsequent Key Management Service hosts + +Each KMS key can be installed on up to six KMS hosts. These hosts can be physical computers or virtual machines. After a KMS host is activated, the same host can be reactivated up to nine times with the same key. If the organization needs more than six KMS hosts, additional activations can be requested for an organization's KMS key by calling a Microsoft Volume [Licensing Activation Center](https://go.microsoft.com/fwlink/p/?LinkID=618264) to request an exception. + +## How Multiple Activation Key works + +A MAK is used for one-time activation with Microsoft's hosted activation services. Each MAK has a predetermined number of allowed activations. This number is based on volume licensing agreements, and it might not match the organization's exact license count. Each activation that uses a MAK with the Microsoft hosted activation service counts toward the activation limit. + +Computers can be activated by using a MAK in two ways: + +- **MAK independent activation**. Each computer independently connects and is activated with Microsoft over the Internet or by telephone. MAK independent activation is best suited to computers within an organization that don't maintain a connection to the corporate network. MAK independent activation is shown in Figure 16. + + ![MAK independent activation.](../images/volumeactivationforwindows81-16.jpg) + + **Figure 16**. MAK independent activation + +- **MAK proxy activation**. MAK proxy activation enables a centralized activation request on behalf of multiple computers with one connection to Microsoft. MAK proxy activation can be configured by using the VAMT. MAK proxy activation is appropriate for environments in which security concerns restrict direct access to the Internet or the corporate network. It's also suited for development and test labs that lack this connectivity. MAK proxy activation with the VAMT is shown in Figure 17. + + ![MAK proxy activation with the VAMT.](../images/volumeactivationforwindows81-17.jpg) + + **Figure 17**. MAK proxy activation with the VAMT + +MAK is recommended for: + +- Computers that rarely or never connect to the corporate network. +- Environments in which the number of computers that require activation doesn't meet the KMS activation threshold. + +MAK can be used for individual computers or with an image that can be duplicated or installed using Microsoft deployment solutions. MAK can also be used on a computer that was originally configured to use KMS activation. Switching from KMS to a MAK is useful for moving a computer off the core network to a disconnected environment. + +### Multiple Activation Key (MAK) architecture and activation + +MAK independent activation installs a MAK product key on a client computer. The key instructs that computer to activate itself with Microsoft servers over the Internet. + +In MAK proxy activation, the VAMT: + +- Installs a MAK product key on a client computer. +- Obtains the installation ID from the target computer. +- Sends the installation ID to Microsoft on behalf of the client. +- Obtains a confirmation ID. + +The tool then activates the client computer by installing the confirmation ID. + +## Activating as a standard user + +Currently supported versions of Windows don't require administrator privileges for activation. However, an administrator account is still required for other activation or license-related tasks, such as "rearm." + +## Related content + +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/add-manage-products-vamt.md b/windows/deployment/volume-activation/add-manage-products-vamt.md index a458568f79..f4fc72f1ab 100644 --- a/windows/deployment/volume-activation/add-manage-products-vamt.md +++ b/windows/deployment/volume-activation/add-manage-products-vamt.md @@ -1,19 +1,19 @@ --- -title: Add and Manage Products (Windows 10) -description: Add client computers into the Volume Activation Management Tool (VAMT). After you add the computers, you can manage the products that are installed on your network. +title: Add and Manage Products +description: Add client computers into the Volume Activation Management Tool (VAMT). After the computers are added, the products that are installed in the network can be managed. ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- # Add and manage products -This section describes how to add client computers into the Volume Activation Management Tool (VAMT). After the computers are added, you can manage the products that are installed on your network. +This section describes how to add client computers into the Volume Activation Management Tool (VAMT). After the computers are added, the products that are installed in the network can be managed. ## In this Section diff --git a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md index 4d9d39522a..4346a5ce67 100644 --- a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md +++ b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md @@ -1,5 +1,5 @@ --- -title: Appendix Information sent to Microsoft during activation (Windows 10) +title: Appendix Information sent to Microsoft during activation description: Learn about the information sent to Microsoft during activation. ms.reviewer: nganguly manager: aaroncz @@ -8,73 +8,78 @@ author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 --- # Appendix: Information sent to Microsoft during activation -**Applies to:** +> [!TIP] +> +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 +When a computer running a currently supported version of Windows is activated, the following information is sent to Microsoft: -**Looking for retail activation?** +- The Microsoft product code (a five-digit code that identifies the Windows product being activated). -- [Get Help Activating Microsoft Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +- A channel ID or site code that identifies how the Windows product was originally obtained. For example, a channel ID or site code identifies whether the product was: -When you activate a computer running Windows 10, the following information is sent to Microsoft: + - Originally purchased from a retail store. + - Obtained as an evaluation copy. + - Obtained through a volume licensing program. + - Preinstalled by a computer manufacturer. -- The Microsoft product code (a five-digit code that identifies the Windows product you're activating) -- A channel ID or site code that identifies how the Windows product was originally obtained +- The date of installation and whether the installation was successful. - For example, a channel ID or site code identifies whether the product was originally purchased from a retail store, obtained as an evaluation copy, obtained through a volume licensing program, or preinstalled by a computer manufacturer. +- Information that helps confirm that the Windows product key isn't altered. -- The date of installation and whether the installation was successful -- Information that helps confirm that your Windows product key hasn't been altered +- Computer make and model. -- Computer make and model +- Version information for the operating system and software. -- Version information for the operating system and software +- Region and language settings. -- Region and language settings +- A unique number called a *globally unique identifier* (GUID), which is assigned to the computer. -- A unique number called a *globally unique identifier*, which is assigned to your computer +- Product key (hashed) and product ID. -- Product key (hashed) and product ID +- BIOS name, revision number, and revision date. -- BIOS name, revision number, and revision date +- Volume serial number (hashed) of the hard disk drive. -- Volume serial number (hashed) of the hard disk drive - -- The result of the activation check +- The result of the activation check. This result includes error codes and the following information about any activation exploits and related malicious or unauthorized software that was found or disabled: - - The activation exploit's identifier + - The identifier of the activation exploit. - - The activation exploit's current state, such as cleaned or quarantined + - The current state of the activation exploit, such as cleaned or quarantined. - - Computer manufacturer's identification + - Computer manufacturer's identification. - - The activation exploit's file name and hash in addition to a hash of related software components that may indicate the presence of an activation exploit + - The file name and hash of the activation exploit in addition to a hash of related software components that might indicate the presence of an activation exploit. -- The name and a hash of the contents of your computer's startup instructions file +- The name and a hash of the contents of the computer's startup instructions file. -- If your Windows license is on a subscription basis, information about how your subscription works +- If the Windows license is on a subscription basis, information about how the subscription works. -Standard computer information is also sent, but your computer's IP address is only kept temporarily. +Standard computer information is also sent, but the computer's IP address is only kept temporarily. ## Use of information -Microsoft uses the information to confirm that you have a licensed copy of the software. Microsoft doesn't use the information to contact individual consumers. -For more information, see [Windows 10 Privacy Statement](https://go.microsoft.com/fwlink/p/?LinkId=619879). +Microsoft uses the information to confirm a properly licensed copy of the software. Microsoft doesn't use the information to contact individual consumers. -## Related articles +For more information, see [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/p/?LinkId=619879). -- [Volume Activation for Windows 10](volume-activation-windows-10.md) +## Related content + +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/install-configure-vamt.md b/windows/deployment/volume-activation/install-configure-vamt.md index ed447a8674..fa8087423a 100644 --- a/windows/deployment/volume-activation/install-configure-vamt.md +++ b/windows/deployment/volume-activation/install-configure-vamt.md @@ -1,5 +1,5 @@ --- -title: Install and Configure VAMT (Windows 10) +title: Install and Configure VAMT description: Learn how to install and configure the Volume Activation Management Tool (VAMT), and learn where to find information about the process. ms.reviewer: nganguly manager: aaroncz @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- @@ -22,8 +22,8 @@ This section describes how to install and configure the Volume Activation Manage |-------|------------| |[VAMT Requirements](vamt-requirements.md) |Provides system requirements for installing VAMT on a host computer. | |[Install VAMT](install-vamt.md) |Describes how to get and install VAMT. | -|[Configure Client Computers](configure-client-computers-vamt.md) |Describes how to configure client computers on your network to work with VAMT. | +|[Configure Client Computers](configure-client-computers-vamt.md) |Describes how to configure client computers in the network to work with VAMT. | -## Related articles +## Related content -- [Introduction to VAMT](introduction-vamt.md) +- [Introduction to VAMT](introduction-vamt.md). diff --git a/windows/deployment/volume-activation/install-vamt.md b/windows/deployment/volume-activation/install-vamt.md index e5e731a271..8c43c6cda6 100644 --- a/windows/deployment/volume-activation/install-vamt.md +++ b/windows/deployment/volume-activation/install-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.date: 10/13/2023 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals appliesto: @@ -22,11 +22,11 @@ appliesto: This article describes how to install the Volume Activation Management Tool (VAMT). VAMT is installed as part of the Windows Assessment and Deployment Kit (ADK) for Windows. ->[!IMPORTANT] +> [!IMPORTANT] > -> VAMT requires local administrator privileges on all managed computers in order to deposit confirmation IDs (CIDs), get the client products' license status, and install product keys. If VAMT is being used to manage products and product keys on the local host computer and you don't have administrator privileges, start VAMT with elevated privileges. For best results when using Active Directory-based activation, we recommend running VAMT while logged on as a domain administrator. +> VAMT requires local administrator privileges on all managed computers in order to deposit confirmation IDs (CIDs), get the client products' license status, and install product keys. If VAMT is being used to manage products and product keys on the local host computer but administrator privileges aren't available, start VAMT with elevated privileges. For best results when using Active Directory-based activation, we recommend running VAMT while logged on as a domain administrator. ->[!NOTE] +> [!NOTE] > > The VAMT Microsoft Management Console snap-in ships as an x86 package. @@ -50,9 +50,9 @@ This article describes how to install the Volume Activation Management Tool (VAM 1. In the **Specify SQL Server install location** screen under **INSTALL LOCATION \*:**, specify an install location or use the default path, and then select the **Install** button. -1. Once the installation is complete, in the **Installation Has completed successfully!** page, under **INSTANCE NAME**, note the instance name for the installation. The instance name will be used later in the [Configure VAMT to connect to SQL Server Express or full SQL Server](#configure-vamt-to-connect-to-sql-server-express-or-full-sql-server) section. +1. Once the installation is complete, in the **Installation Has completed successfully!** page, under **INSTANCE NAME**, note the instance name for the installation. The instance name is used later in the [Configure VAMT to connect to SQL Server Express or full SQL Server](#configure-vamt-to-connect-to-sql-server-express-or-full-sql-server) section. -1. Once the instance name has been noted, select the **Close** button, and then select the **Yes** button to confirm exiting the installer. +1. Once the instance name is noted, select the **Close** button, and then select the **Yes** button to confirm exiting the installer. ## Install VAMT using the ADK @@ -84,7 +84,7 @@ This article describes how to install the Volume Activation Management Tool (VAM 1. Next to **Database:**, add a name for the database. - 1. Once the database server and database names have been entered, select the **Connect** button. + 1. Once the database server and database names are entered, select the **Connect** button. 1. Select the **Yes** button to create the database. diff --git a/windows/deployment/volume-activation/manage-activations-vamt.md b/windows/deployment/volume-activation/manage-activations-vamt.md index 20fa3589f1..9216ff075c 100644 --- a/windows/deployment/volume-activation/manage-activations-vamt.md +++ b/windows/deployment/volume-activation/manage-activations-vamt.md @@ -1,12 +1,12 @@ --- -title: Manage Activations (Windows 10) +title: Manage Activations description: Learn how to manage activations and how to activate a client computer by using various activation methods. ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/manage-product-keys-vamt.md b/windows/deployment/volume-activation/manage-product-keys-vamt.md index ccaa432308..15579d3b82 100644 --- a/windows/deployment/volume-activation/manage-product-keys-vamt.md +++ b/windows/deployment/volume-activation/manage-product-keys-vamt.md @@ -1,19 +1,19 @@ --- -title: Manage Product Keys (Windows 10) +title: Manage Product Keys description: In this article, learn how to add and remove a product key from the Volume Activation Management Tool (VAMT). ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- # Manage Product Keys -This section describes how to add and remove a product key from the Volume Activation Management Tool (VAMT). After you add a product key to VAMT, you can install that product key on a product, or products you select in the VAMT database. +This section describes how to add and remove a product key from the Volume Activation Management Tool (VAMT). After a product key is added to VAMT, that product key can be installed on a product, or products selected in the VAMT database. ## In this Section diff --git a/windows/deployment/volume-activation/manage-vamt-data.md b/windows/deployment/volume-activation/manage-vamt-data.md index b1556b3af2..de933e88c8 100644 --- a/windows/deployment/volume-activation/manage-vamt-data.md +++ b/windows/deployment/volume-activation/manage-vamt-data.md @@ -1,12 +1,12 @@ --- -title: Manage VAMT Data (Windows 10) +title: Manage VAMT Data description: Learn how to save, import, export, and merge a Computer Information List (CILX) file using the Volume Activation Management Tool (VAMT). ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/monitor-activation-client.md b/windows/deployment/volume-activation/monitor-activation-client.md index 68eaa5f6d0..8a59c549bd 100644 --- a/windows/deployment/volume-activation/monitor-activation-client.md +++ b/windows/deployment/volume-activation/monitor-activation-client.md @@ -1,5 +1,5 @@ --- -title: Monitor activation (Windows 10) +title: Monitor activation ms.reviewer: nganguly manager: aaroncz ms.author: frankroj @@ -9,34 +9,31 @@ author: frankroj ms.localizationpriority: medium ms.topic: article ms.subservice: itpro-fundamentals -ms.date: 11/07/2022 +ms.date: 03/29/2024 +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 --- # Monitor activation -**Applies to:** - -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 - > [!TIP] -> Are you looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). -You can monitor the success of the activation process for a computer running Windows in several ways. The most popular methods include: +The success of the activation process for a computer running Windows can be monitored in several ways. The most popular methods include: - Using the Volume Licensing Service Center website to track use of MAK keys. - Using the `Slmgr /dlv` command on a client computer or on the KMS host. For a full list of options, see [Slmgr.vbs options for obtaining volume activation information](/windows-server/get-started/activation-slmgr-vbs-options). -- Viewing the licensing status, which is exposed through Windows Management Instrumentation (WMI); therefore, it's available to non-Microsoft or custom tools that can access WMI. (Windows PowerShell can also access WMI information.) +- Using Windows Management Instrumentation (WMI) to view licensing status. WMI makes licensing status available to non-Microsoft or custom tools that can access WMI. Windows PowerShell can also be used to access WMI information. - Most licensing actions and events are recorded in the Event log (ex: Application Log events 12288-12290). @@ -44,8 +41,8 @@ You can monitor the success of the activation process for a computer running Win - See [Troubleshooting activation error codes](/windows-server/get-started/activation-error-codes) for information about troubleshooting procedures for Multiple Activation Key (MAK) or the Key Management Service (KMS). -- The VAMT provides a single site from which to manage and monitor volume activations. This feature is explained in the next section. +- The Volume Activation Management Tool (VAMT) provides a single site from which to manage and monitor volume activations. This feature is explained in the next section. -## Related articles +## Related content -[Volume Activation for Windows 10](volume-activation-windows-10.md) +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/plan-for-volume-activation-client.md b/windows/deployment/volume-activation/plan-for-volume-activation-client.md index ee148819de..2cadbb2f79 100644 --- a/windows/deployment/volume-activation/plan-for-volume-activation-client.md +++ b/windows/deployment/volume-activation/plan-for-volume-activation-client.md @@ -1,6 +1,6 @@ --- -title: Plan for volume activation (Windows 10) -description: Product activation is the process of validating software with the manufacturer after it has been installed on a specific computer. +title: Plan for volume activation +description: Product activation is the process of validating software with the manufacturer after it's installed on a specific computer. ms.reviewer: nganguly manager: aaroncz ms.author: frankroj @@ -9,33 +9,30 @@ author: frankroj ms.localizationpriority: medium ms.topic: article ms.subservice: itpro-fundamentals -ms.date: 11/07/2022 +ms.date: 03/29/2024 +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 --- # Plan for volume activation -**Applies to:** - -- Windows 11 -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 - > [!TIP] -> Are you looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). -*Product activation* is the process of validating software with the manufacturer after it has been installed on a specific computer. Activation confirms that the product is genuine—not a fraudulent copy—and that the product key or serial number is valid and hasn't been compromised or revoked. Activation also establishes a link or relationship between the product key and the particular installation. +*Product activation* is the process of validating software with the manufacturer after it's installed on a specific computer. Activation confirms that the product is genuine and not a fraudulent copy. Activation also confirms that the product key or serial number is valid and isn't compromised or revoked. Activation also establishes a link or relationship between the product key and the particular installation. -During the activation process, information about the specific installation is examined. For online activations, this information is sent to a server at Microsoft. This information may include the software version, the product key, the IP address of the computer, and information about the device. The activation methods that Microsoft uses are designed to help protect user privacy, and they can't be used to track back to the computer or user. The gathered data confirms that the software is a legally licensed copy, and this data is used for statistical analysis. Microsoft doesn't use this information to identify or contact the user or the organization. +During the activation process, information about the specific installation is examined. For online activations, this information is sent to a server at Microsoft. This information might include the software version, the product key, the IP address of the computer, and information about the device. The activation methods that Microsoft uses are designed to help protect user privacy, and they can't be used to track back to the computer or user. The gathered data confirms that the software is a legally licensed copy, and this data is used for statistical analysis. Microsoft doesn't use this information to identify or contact the user or the organization. >[!NOTE] +> >The IP address is used only to verify the location of the request, because some editions of Windows (such as "Starter" editions) can only be activated within certain geographical target markets. ## Distribution channels and activation @@ -44,8 +41,9 @@ In general, Microsoft software is obtained through three main channels: retail, ### Retail activations -The retail activation method hasn't changed in several versions of Windows and Windows Server. Each purchased copy comes with one unique product key (often referred to as a retail key). The user enters this key during product installation. The computer uses this retail key to complete the activation after the installation is complete. Most activations are performed online, but telephone activation is also available. -Recently, retail keys have been expanded into new distribution scenarios. Product key cards are available to activate products that have been preinstalled or downloaded. Programs such as Windows Anytime Upgrade and Get Genuine allow users to acquire legal keys separately from the software. These electronically distributed keys may come with media that contains software, they can come as a software shipment, or they may be provided on a printed card or electronic copy. Products are activated the same way with any of these retail keys. +For retail activation, each purchased copy comes with one unique product key, often referred to as a retail key. The user enters this key during product installation. The computer uses this retail key to complete the activation after the installation is complete. Most activations are performed online, but telephone activation is also available. + +Other distribution scenarios also exist. Product key cards are available to activate products that are preinstalled or downloaded. Programs such as Windows Anytime Upgrade and Get Genuine allow users to acquire legal keys separately from the software. These electronically distributed keys might come with media that contains software, they can come as a software shipment, or they might be provided on a printed card or electronic copy. Products are activated the same way with any of these retail keys. ### Original equipment manufacturer @@ -57,75 +55,75 @@ OEM activation is valid as long as the customer uses the OEM-provided image on t Volume licensing offers customized programs that are tailored to the size and purchasing preference of the organization. To become a volume licensing customer, the organization must set up a volume licensing agreement with Microsoft. There's a common misunderstanding about acquiring licenses for a new computer through volume licensing. There are two legal ways to acquire a full Windows client license for a new computer: -- Have the license preinstalled through the OEM +- Have the license preinstalled through the OEM. +- Purchase a fully packaged retail product. -- Purchase a fully packaged retail product +The licenses that are provided through volume licensing programs such as Open License, Select License, and Enterprise Agreements cover upgrades to Windows client operating systems only. Before the upgrade rights obtained through volume licensing can be exercised, an existing retail or OEM operating system license is needed for each computer running currently supported versions of Windows. -The licenses that are provided through volume licensing programs such as Open License, Select License, and Enterprise Agreements cover upgrades to Windows client operating systems only. An existing retail or OEM operating system license is needed for each computer running Windows 10, Windows 8.1 Pro, Windows 8 Pro, Windows 7 Professional or Ultimate, or Windows XP Professional before the upgrade rights obtained through volume licensing can be exercised. - -Volume licensing is also available through certain subscription or membership programs, such as the Microsoft Partner Network and Visual Studio Online. These volume licenses may contain specific restrictions or other changes to the general terms applicable to volume licensing. +Volume licensing is also available through certain subscription or membership programs, such as the Microsoft Partner Network and Visual Studio Codespace. These volume licenses might contain specific restrictions or other changes to the general terms applicable to volume licensing. > [!NOTE] -> Some editions of the operating system, such as Windows 10 Enterprise, and some editions of application software are available only through volume licensing agreements or subscriptions. +> +> Some editions of the operating system, such as Windows Enterprise, and some editions of application software are available only through volume licensing agreements or subscriptions. ## Activation models -For a user or IT department, there are no significant choices about how to activate products that are acquired through retail or OEM channels. The OEM performs the activation at the factory, and the user or the IT department need take no activation steps. +For a user or IT department, there are no significant choices about how to activate products that are acquired through retail or OEM channels. The OEM performs the activation at the factory, and the user or the IT department don't need to take any activation steps. -With a retail product, the Volume Activation Management Tool (VAMT), which is discussed later in this guide, helps you track and manage keys. For each retail activation, you can choose: +With a retail product, the Volume Activation Management Tool (VAMT), which is discussed later in this guide, helps track and manage keys. For each retail activation, the following options can be chosen: -- Online activation +- Online activation. +- Telephone activation. +- VAMT proxy activation. -- Telephone activation +Telephone activation is primarily used in situations where a computer is isolated from all networks. VAMT proxy activation with retail keys is sometimes used when an IT department wants to centralize retail activations. VAMT can also be used when a computer with a retail version of the operating system is isolated from the Internet but connected to the LAN. For volume-licensed products, however, the best method or combination of methods must be determined to use in the environment. For currently supported versions of Windows Pro and Enterprise, one of the following three models can be chosen: -- VAMT proxy activation - -Telephone activation is primarily used in situations where a computer is isolated from all networks. VAMT proxy activation (with retail keys) is sometimes used when an IT department wants to centralize retail activations or when a computer with a retail version of the operating system is isolated from the Internet but connected to the LAN. For volume-licensed products, however, you must determine the best method or combination of methods to use in your environment. For Windows 10 Pro and Enterprise, you can choose from three models: - -- MAKs - -- KMS - -- Active Directory-based activation +- Multiple Activation Keys (MAK). +- KMS. +- Active Directory-based activation. > [!NOTE] -> Token-based activation for Windows Enterprise (including LTSC) and Windows Server is available for specific situations when approved customers rely on a public key infrastructure in an isolated and high-security environment. For more information, contact your Microsoft Account Team or your service representative. +> +> Token-based activation for Windows Enterprise (including LTSC) and Windows Server is available for specific situations when approved customers rely on a public key infrastructure in an isolated and high-security environment. For more information, contact the Microsoft Account Team or service representative. ### Multiple activation key -A Multiple Activation Key (MAK) is commonly used in small- or mid-sized organizations that have a volume licensing agreement, but they don't meet the requirements to operate a KMS or they prefer a simpler approach. A MAK also -allows permanent activation of computers that are isolated from the KMS or are part of an isolated network that doesn't have enough computers to use the KMS. +A Multiple Activation Key (MAK) is commonly used in small or mid-sized organizations that have a volume licensing agreement, but don't meet the requirements to operate a KMS. MAK can also be used if a simpler approach is preferred. A MAK also allows permanent activation of: + +- Computers that are isolated from the KMS. +- Computers that are part of an isolated network that doesn't have enough computers to use the KMS. To use a MAK, the computers to be activated must have a MAK installed. The MAK is used for one-time activation with the Microsoft online hosted activation services, by telephone, or by using VAMT proxy activation. -In the simplest terms, a MAK acts like a retail key, except that a MAK is valid for activating multiple computers. Each MAK can be used a specific number of times. The VAMT can help with tracking the number of activations that have been performed with each key and how many remain. -Organizations can download MAK and KMS keys from the [Volume Licensing Service Center](https://go.microsoft.com/fwlink/p/?LinkId=618213) website. Each MAK has a preset number of activations, which are based on a percentage of the count of licenses the organization purchases; however, you can increase the number of activations that are available with your MAK by calling Microsoft. +In the simplest terms, a MAK acts like a retail key, except that a MAK is valid for activating multiple computers. Each MAK can be used a specific number of times. The VAMT can help with tracking the number of performed activations with each key and how many activations remain. + +Organizations can download MAK and KMS keys from the [Volume Licensing Service Center](https://go.microsoft.com/fwlink/p/?LinkId=618213) website. Each MAK has a preset number of activations, which are based on a percentage of the count of licenses the organization purchases. However, the number of activations that are available can be increased with the MAK by calling Microsoft. ### Key Management Service With the Key Management Service (KMS), IT pros can complete activations on their local network, eliminating the need for individual computers to connect to Microsoft for product activation. The KMS is a lightweight service that doesn't require a dedicated system and can easily be cohosted on a system that provides other services. -Volume editions of Windows 10 and Windows Server 2012 R2 (in addition to volume editions of operating system editions since Windows Vista and Windows Server 2008) automatically connect to a system that hosts the KMS to request activation. No action is required from the user. +Volume editions of currently supported versions of Windows and Windows Server automatically connect to a system that hosts the KMS to request activation. No action is required from the user. -The KMS requires a minimum number of computers (physical computers or virtual machines) in a network environment. The organization must have at least five computers to activate Windows Server 2012 R2 and at least 25 computers to activate client computers that are running Windows 10. These minimums are referred to as *activation thresholds*. +The KMS requires a minimum number of computers, either physical computers or virtual machines, in a network environment. The organization must have at least five computers to activate currently supported versions of Windows Server and at least 25 computers to activate client computers running currently supported versions of Windows client. These minimums are referred to as *activation thresholds*. -Planning to use the KMS includes selecting the best location for the KMS host and how many KMS hosts to have. One KMS host can handle a large number of activations, but organizations will often deploy two KMS hosts to ensure availability. It will be rare that more than two KMS hosts are used. The KMS can be hosted on a client computer or on a server, and it can be run on older versions of the operating system if proper configuration steps are taken. Setting up your KMS is discussed later in this guide. +Planning to use the KMS includes selecting the best location for the KMS host and how many KMS hosts to have. One KMS host can handle a large number of activations, but organizations often deploy two KMS hosts to ensure availability. The KMS can be hosted on a client computer or on a server. Setting up KMS is discussed later in this guide. ### Active Directory-based activation -Active Directory-based activation is the newest type of volume activation, and it was introduced in Windows 8. In many ways, Active Directory-based activation is similar to activation by using the KMS, but the activated computer doesn't need to maintain periodic connectivity with the KMS host. Instead, a domain-joined computer running Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2, or Windows Server 2012 R2 queries AD DS for a volume activation object that is stored in the domain. The operating system checks the digital signatures that are contained in the activation object, and then activates the device. +Active Directory-based activation is similar to activation by using the KMS, but the activated computer doesn't need to maintain periodic connectivity with the KMS host. Instead, a domain-joined computer running currently supported versions of Windows or Windows Server queries ADDS for a volume activation object that is stored in the domain. The operating system checks the digital signatures that are contained in the activation object, and then activates the device. -Active Directory-based activation allows enterprises to activate computers through a connection to their domain. Many companies have computers at remote or branch locations, where it's impractical to connect to a KMS, or wouldn't reach the KMS activation threshold. Rather than use MAKs, Active Directory-based activation provides a way to activate computers running Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2, or Windows Server 2012 R2 as long as the computers can contact the company's domain. Active Directory-based activation offers the advantage of extending volume activation services everywhere you already have a domain presence. +Active Directory-based activation allows enterprises to activate computers through a connection to their domain. Many companies have computers at remote or branch locations, where it's impractical to connect to a KMS, or wouldn't reach the KMS activation threshold. Rather than use MAK, Active Directory-based activation provides a way to activate computers running currently supported versions of Windows and Windows Server as long as the computers can contact the company's domain. Active Directory-based activation offers the advantage of extending volume activation services everywhere where there's already a domain presence. ## Network and connectivity -A modern business network has many nuances and interconnections. This section examines evaluating your network and the connections that are available to determine how volume activations will occur. +A modern business network has many nuances and interconnections. This section examines evaluating the organization's network and the connections that are available to determine how volume activations occur. ### Core network -Your core network is that part of your network that enjoys stable, high-speed, reliable connectivity to infrastructure servers. In many cases, the core network is also connected to the Internet, although that isn't a requirement to use the KMS or Active Directory-based activation after the KMS server or AD DS is configured and active. Your core network likely consists of many network segments. In many organizations, the core network makes up the majority of the business network. +The organization's core network is that part of the network that enjoys stable, high-speed, reliable connectivity to infrastructure servers. In many cases, the core network is also connected to the Internet. However, Internet connectivity isn't a requirement to use the KMS or Active Directory-based activation after the KMS server or ADDS is configured and active. The organization's core network likely consists of many network segments. In many organizations, the core network makes up most of the business network. -In the core network, a centralized KMS solution is recommended. You can also use Active Directory-based activation, but in many organizations, KMS will still be required to activate older client computers and computers that aren't joined to the domain. Some administrators prefer to run both solutions to have the most flexibility, while others prefer to choose only a KMS-based solution for simplicity. Active Directory-based activation as the only solution is workable if all of the clients in your organization are running Windows 10, Windows 8.1, or Windows 8. +In the core network, a centralized KMS solution is recommended. Active Directory-based activation can also be used, but in many organizations, KMS might still be required to computers that aren't joined to the domain. Some administrators prefer to run both solutions to have the most flexibility, while others prefer to choose only a KMS-based solution for simplicity. Active Directory-based activation as the only solution is workable if all of the clients in the organization are running currently supported versions of Windows. A typical core network that includes a KMS host is shown in Figure 1. @@ -135,19 +133,29 @@ A typical core network that includes a KMS host is shown in Figure 1. ### Isolated networks -In a large network, it's all but guaranteed that some segments will be isolated, either for security reasons or because of geography or connectivity issues. +In a large network, some segments might be isolated, either for security reasons or because of geography or connectivity issues. #### Isolated for security -Sometimes called a *high-security zone*, a particular network segment may be isolated from the core network by a firewall or disconnected from other networks totally. The best solution for activating computers in an isolated network depends on the security policies in place in the organization. +A network segment isolated from the core network by a firewall or disconnected from other networks is sometimes called a *high-security zone*. The best solution for activating computers in an isolated network depends on the security policies in place in the organization. -If the isolated network can access the core network by using outbound requests on TCP port 1688, and it's allowed to receive remote procedure calls (RPCs), you can perform activation by using the KMS in the core network, thereby avoiding the need to reach additional activation thresholds. +If the isolated network can: -If the isolated network participates fully in the corporate forest, and it can make typical connections to domain controllers, such as using Lightweight Directory Access Protocol (LDAP) for queries and Domain Name Service (DNS) for name resolution, this is a good opportunity to use Active Directory-based activation for Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2, and Windows Server 2012 R2. +- Access the core network by using outbound requests on TCP port 1688 +- Allowed to receive remote procedure calls (RPCs) -If the isolated network can't communicate with the core network's KMS server, and it can't use Active Directory-based activation, you can set up a KMS host in the isolated network. This configuration is shown in Figure 2. However, if the isolated network contains only a few computers, it will not reach the KMS activation threshold. In that case, you can activate by using MAKs. +activation can be performed by using the KMS in the core network, avoiding the need to reach additional activation thresholds. -If the network is fully isolated, MAK-independent activation would be the recommended choice, perhaps using the telephone option. But VAMT proxy activation may also be possible. You can also use MAKs to activate new computers during setup, before they're placed in the isolated network. +If the isolated network participates fully in the corporate forest, and it can make typical connections to domain controllers, such as: + +- Using Lightweight Directory Access Protocol (LDAP) for queries +- Using Domain Name Service (DNS) for name resolution + +then this scenario is a good opportunity to use Active Directory-based activation for currently supported versions of Windows and Windows Server. + +If the isolated network can't communicate with the core network's KMS server, and it can't use Active Directory-based activation, a KMS host can be set up in the isolated network. This configuration is shown in Figure 2. However, if the isolated network contains only a few computers, it won't reach the KMS activation threshold. In that case, MAKs can be used for activation. + +If the network is fully isolated, MAK-independent activation would be the recommended choice, perhaps using the telephone option, but VAMT proxy activation might also be possible. MAKs can also be used to activate new computers during setup, before they're placed in the isolated network. ![New KMS host in an isolated network.](../images/volumeactivationforwindows81-02.jpg) @@ -155,104 +163,115 @@ If the network is fully isolated, MAK-independent activation would be the recomm #### Branch offices and distant networks -From mining operations to ships at sea, organizations often have a few computers that aren't easily connected to the core network or the Internet. Some organizations have network segments at branch offices that are large and well-connected internally, but have a slow or unreliable WAN link to the rest of the organization. In these situations, you have several options: +From mining operations to ships at sea, organizations often have a few computers that aren't easily connected to the core network or the Internet. Some organizations have network segments at branch offices that are large and well-connected internally, but have a slow or unreliable WAN link to the rest of the organization. There are several options in these situations: -- **Active Directory-based activation**. In any site where the client computers are running Windows 10, Active Directory-based activation is supported, and it can be activated by joining the domain. +- **Active Directory-based activation**. In any site where the client computers are running currently supported versions of Windows, Active Directory-based activation is supported, and it can be activated by joining the domain. - **Local KMS**. If a site has 25 or more client computers, it can activate against a local KMS server. -- **Remote (core) KMS**. If the remote site has connectivity to an existing KMS (perhaps through a virtual private network (VPN) to the core network), that KMS can be used. Using the existing KMS means that you only need to meet the activation threshold on that server. +- **Remote (core) KMS**. If the remote site has connectivity to an existing KMS, perhaps through a virtual private network (VPN) to the core network, that KMS can be used. Using the existing KMS means that the activation threshold only needs to be met on that server. - **MAK activation**. If the site has only a few computers and no connectivity to an existing KMS host, MAK activation is the best option. ### Disconnected computers -Some users may be in remote locations or may travel to many locations. This scenario is common for roaming clients, such as the computers that are used by salespeople or other users who are offsite but not at branch locations. This scenario can also apply to remote branch office locations that have no connection to the core network. You can consider this branch office an "isolated network," where the number of computers is one. Disconnected computers can use Active Directory-based activation, the KMS, or MAK depending on the client version and how often the computers connect to the core network. +Some users might be in remote locations or might travel to many locations. This scenario is common for roaming clients, such as the computers that are used by salespeople or other users who are offsite but not at branch locations. This scenario can also apply to remote branch office locations that have no connection to the core network. This branch office can be considered an "isolated network," where the number of computers is one. Disconnected computers can use Active Directory-based activation, the KMS, or MAK depending on how often the computers connect to the core network. -If the computer is joined to the domain and running Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2, or Windows Server 2012 R2 8, you can use Active Directory-based activation—directly or through a VPN—at least once every 180 days. If the computer connects to a network with a KMS host at least every 180 days, but it doesn't support Active Directory-based activation, you can use KMS activation. Otherwise for computers that rarely or never connect to the network, use MAK independent activation (by using the telephone or the Internet). +Active Directory-based activation can be used on computers when they meet the following conditions: + +- The computer is joined to the domain. +- The computer is running a currently supported version of Windows or Windows Server. +- The computer connects to the domain at least once every 180 days, either directly or through a VPN. + +Otherwise for computers that rarely or never connect to the network, MAK independent activation should be used either via the telephone or the Internet. ### Test and development labs -Lab environments often have large numbers of virtual machines, and physical computers and virtual machines in labs are reconfigured frequently. Therefore, first determine whether the computers in test and development labs require activation. Editions of Windows 10 that include volume licensing will operate normally, even if they can't activate immediately. +Lab environments often have large numbers of virtual machines, and physical computers and virtual machines in labs are reconfigured frequently. Therefore, first determine whether the computers in test and development labs require activation. Currently supported editions of Windows that include volume licensing operate normally, even if they can't activate immediately. -If you've ensured that your test or development copies of the operating system are within the license agreement, you may not need to activate the lab computers if they'll be rebuilt frequently. If you require that the lab computers be activated, treat the lab as an isolated network, and use the methods described earlier in this guide. -In labs that have a high turnover of computers and a few KMS clients, you must monitor the KMS activation count. You might need to adjust the time that the KMS caches the activation requests. The default is 30 days. +If the test or development copies of the operating system are within the license agreement, the lab computers might not need to be activated if they're rebuilt frequently. If the lab computers need to be activated, treat the lab as an isolated network, and use the methods described earlier in this guide. +In labs that have a high turnover of computers and a few KMS clients, the KMS activation count must be monitored. The time that the KMS caches the activation requests might need to be adjusted. The default is 30 days. -## Mapping your network to activation methods +## Mapping the network to activation methods -Now it's time to assemble the pieces into a working solution. By evaluating your network connectivity, the numbers of computers you have at each site, and the operating system versions in use in your environment, you've collected the information you need to determine which activation methods will work best for you. You can fill in information in Table 1 to help you make this determination. +By evaluating network connectivity and the numbers of computers at each site, the information needed to determine which activation methods work best can be determined. This information can be filled in Table 1 to help make this determination. **Table 1**. Criteria for activation methods -|Criterion |Activation method | -|----------|------------------| -|Number of domain-joined computers that support Active Directory-based activation (computers running Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2, or Windows Server 2012 R2) and will connect to a domain controller at least every 180 days. Computers can be mobile, semi-isolated, or located in a branch office or the core network. |Active Directory-based activation | -|Number of computers in the core network that will connect (directly or through a VPN) at least every 180 days

          **Note**
          The core network must meet the KMS activation threshold.
          |KMS (central) | -|Number of computers that don't connect to the network at least once every 180 days (or if no network meets the activation threshold) | MAK | -|Number of computers in semi-isolated networks that have connectivity to the KMS in the core network |KMS (central) | -|Number of computers in isolated networks where the KMS activation threshold is met |KMS (local) | -|Number of computers in isolated networks where the KMS activation threshold isn't met |MAK | -|Number of computers in test and development labs that won't be activated |None| -|Number of computers that don't have a retail volume license |Retail (online or phone) | -|Number of computers that don't have an OEM volume license |OEM (at factory) | -|Total number of computer activations
          **Note**
          This total should match the total number of licensed computers in your organization.
          | +| Criterion | Activation method | +|---|---| +| Number of domain-joined computers that will connect to a domain controller at least every 180 days. Computers can be mobile, semi-isolated, or located in a branch office or the core network. | Active Directory-based activation | +| Number of computers in the core network that will connect at least every 180 days, either directly or through VPN. The core network must meet the KMS activation threshold. | KMS (central) | +| Number of computers that don't connect to the network at least once every 180 days, or if no network meets the activation threshold. | MAK | +| Number of computers in semi-isolated networks that have connectivity to the KMS in the core network. | KMS (central) | +| Number of computers in isolated networks where the KMS activation threshold is met. | KMS (local) | +| Number of computers in isolated networks where the KMS activation threshold isn't met. | MAK | +| Number of computers in test and development labs that won't be activated. | None | +| Number of computers that don't have a retail volume license. | Retail (online or phone) | +| Number of computers that don't have an OEM volume license. | OEM (at factory) | +| Total number of computer activations. This total should match the total number of licensed computers in the organization. | | ## Choosing and acquiring keys -When you know which keys you need, you must obtain them. Generally speaking, volume licensing keys are collected in two ways: +When it's know which keys are needed, the keys must be obtained. Generally speaking, volume licensing keys are collected in two ways: - Go to the **Product Keys** section of the [Volume Licensing Service Center](https://go.microsoft.com/fwlink/p/?LinkID=618213) for the following agreements: Open, Open Value, Select, Enterprise, and Services Provider License. -- Contact your [Microsoft activation center](https://go.microsoft.com/fwlink/p/?LinkId=618264). +- Contact the [Microsoft activation center](https://go.microsoft.com/fwlink/p/?LinkId=618264). ### KMS host keys -A KMS host needs a key that activates, or authenticates, the KMS host with Microsoft. This key is referred to as the *KMS host key*, but it's formally known as a *Microsoft Customer Specific Volume License Key* (CSVLK). Most documentation and Internet references earlier than Windows 8.1 use the term KMS key, but CSVLK is becoming more common in current documentation and management tools. +A KMS host needs a key that activates, or authenticates, the KMS host with Microsoft. This key is referred to as the *KMS host key*, but it's formally known as a *Microsoft Customer Specific Volume License Key* (CSVLK). Some documentation and Internet references use the term KMS key, but CSVLK is the proper name for current documentation and management tools. -A KMS host running Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2 can activate both Windows Server and Windows client operating systems. A KMS host key is also needed to create the activation objects in AD DS, as described later in this guide. You'll need a KMS host key for any KMS that you want to set up and if you're going to use Active Directory-based activation. +A KMS host running a currently supported version of Windows Server can activate both Windows Server and Windows client operating systems. A KMS host key is also needed to create the activation objects in ADDS, as described later in this guide. A KMS host key is needed for any KMS that is set up. Additionally, it needs to be determined if Active Directory-based activation will be used. ### Generic volume licensing keys -When you create installation media or images for client computers that will be activated by KMS or Active Directory-based activation, install a generic volume license key (GVLK) for the edition of Windows you're creating. GVLKs are also referred to as KMS client setup keys. +When creating installation media or images for client computers that will be activated by KMS or Active Directory-based activation, install a generic volume license key (GVLK) for the edition of Windows being creating. GVLKs are also referred to as KMS client setup keys. -Installation media from Microsoft for Enterprise editions of the Windows operating system may already contain the GVLK. One GVLK is available for each type of installation. The GLVK won't activate the software against Microsoft activation servers, but rather against a KMS or Active Directory-based activation object. In other words, the GVLK doesn't work unless a valid KMS host key can be found. GVLKs are the only product keys that don't need to be kept confidential. +Installation media from Microsoft for Enterprise editions of the Windows operating system might already contain the GVLK. One GVLK is available for each type of installation. The GVLK doesn't activate the software against Microsoft activation servers, but rather against a KMS or Active Directory-based activation object. In other words, the GVLK doesn't work unless a valid KMS host key can be found. GVLKs are the only product keys that don't need to be kept confidential. -Typically, you won't need to manually enter a GVLK unless a computer has been activated with a MAK or a retail key and it's being converted to a KMS activation or to Active Directory-based activation. If you need to locate the GVLK for a particular client edition, see [Appendix A: KMS client setup keys](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj612867(v=ws.11)). +Typically, a GVLK doesn't need to be manually entered unless a computer is: + +- Activated with a MAK or a retail key. +- Being converted to a KMS activation or to Active Directory-based activation. + +If the GVLK for a particular client edition needs to be located, see [Key Management Services (KMS) client activation and product keys](/windows-server/get-started/kms-client-activation-keys). ### Multiple activation keys -You'll also need MAK keys with the appropriate number of activations available. You can see how many times a MAK has been used on the Volume Licensing Service Center website or in the VAMT. +MAK keys with the appropriate number of activations available are also needed. The number of times a MAK has been used can be seen on the Volume Licensing Service Center website or in the VAMT. ## Selecting a KMS host -The KMS doesn't require a dedicated server. It can be cohosted with other services, such as AD DS domain controllers and read-only domain controllers. +The KMS doesn't require a dedicated server. It can be cohosted with other services, such as ADDS domain controllers and read-only domain controllers. -KMS hosts can run on physical computers or virtual machines that are running any supported Windows operating system. A KMS host that is running Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2 can activate any Windows client or server operating system that supports volume activation. A KMS host that is running Windows 10 can activate only computers running Windows 10, Windows 8.1, Windows 8, Windows 7, or Windows Vista. +KMS hosts can run on physical computers or virtual machines that are running any supported Windows operating system. A KMS host that is running currently supported versions of Windows Server can activate any Windows client or server operating system that supports volume activation. A KMS host that is running a currently supported version of Windows client can only activate computers running a currently supported version of Windows client. -A single KMS host can support unlimited numbers of KMS clients, but Microsoft recommends deploying a minimum of two KMS hosts for failover purposes. However, as more clients are activated through Active Directory-based activation, the KMS and the redundancy of the KMS will become less important. Most organizations can use as few as two KMS hosts for their entire infrastructure. +A single KMS host can support unlimited numbers of KMS clients, but Microsoft recommends deploying a minimum of two KMS hosts for failover purposes. However, as more clients are activated through Active Directory-based activation, the KMS and the redundancy of the KMS might not be needed. Most organizations can use as few as two KMS hosts for their entire infrastructure. The flow of KMS activation is shown in Figure 3, and it follows this sequence: 1. An administrator uses the VAMT console to configure a KMS host and install a KMS host key. -2. Microsoft validates the KMS host key, and the KMS host starts to listen for requests. +1. Microsoft validates the KMS host key, and the KMS host starts to listen for requests. -3. The KMS host updates resource records in DNS to allow clients to locate the KMS host. (Manually adding DNS records is required if your environment doesn't support DNS dynamic update protocol.) +1. The KMS host updates resource records in DNS to allow clients to locate the KMS host. Manually adding DNS records is required if the environment doesn't support DNS dynamic update protocol. -4. A client configured with a GVLK uses DNS to locate the KMS host. +1. A client configured with a GVLK uses DNS to locate the KMS host. -5. The client sends one packet to the KMS host. +1. The client sends one packet to the KMS host. -6. The KMS host records information about the requesting client (by using a client ID). Client IDs are used to maintain the count of clients and detect when the same computer is requesting activation again. The client ID is only used to determine whether the activation thresholds are met. The IDs aren't stored permanently or transmitted to Microsoft. If the KMS is restarted, the client ID collection starts again. +1. The KMS host records information about the requesting client (by using a client ID). Client IDs are used to maintain the count of clients and detect when the same computer is requesting activation again. The client ID is only used to determine whether the activation thresholds are met. The IDs aren't stored permanently or transmitted to Microsoft. If the KMS is restarted, the client ID collection starts again. -7. If the KMS host has a KMS host key that matches the products in the GVLK, the KMS host sends a single packet back to the client. This packet contains a count of the number of computers that have requested activation from this KMS host. +1. If the KMS host has a KMS host key that matches the products in the GVLK, the KMS host sends a single packet back to the client. This packet contains a count of the number of computers that requested activation from this KMS host. -8. If the count exceeds the activation threshold for the product that is being activated, the client is activated. If the activation threshold hasn't yet been met, the client will try again. +1. If the count exceeds the activation threshold for the product that is being activated, the client is activated. If the activation threshold isn't met, the client tries again. ![KMS activation flow.](../images/volumeactivationforwindows81-03.jpg) **Figure 3**. KMS activation flow -## Related articles +## Related content -- [Volume Activation for Windows 10](volume-activation-windows-10.md) +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/update-product-status-vamt.md b/windows/deployment/volume-activation/update-product-status-vamt.md index 713a1587f0..1fd5b6cb03 100644 --- a/windows/deployment/volume-activation/update-product-status-vamt.md +++ b/windows/deployment/volume-activation/update-product-status-vamt.md @@ -1,19 +1,19 @@ --- -title: Update Product Status (Windows 10) +title: Update Product Status description: Learn how to use the Update license status function to add the products that are installed on the computers. ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- # Update product status -After you add computers to the VAMT database, you need to use the **Update license status** function to add the products that are installed on the computers. You can also use the **Update license status** at any time to retrieve the most current license status for any products in the VAMT database. +After computers are added to the Volume Activation Management Tool (VAMT) database, the **Update license status** function needs to be used to add the products that are installed on the computers. The **Update license status** can also be used at any time to retrieve the most current license status for any products in the VAMT database. To retrieve license status, VAMT must have administrative permissions on all selected computers and Windows Management Instrumentation (WMI) must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure Client Computers](configure-client-computers-vamt.md). > [!NOTE] @@ -23,17 +23,18 @@ The license-status query requires a valid computer name for each system queried. 1. Open VAMT. -2. In the **Products** list, select one or more products that need to have their status updated. +1. In the **Products** list, select one or more products that need to have their status updated. -3. In the right-side **Actions** pane, select **Update license status** and then select a credential option. Choose **Alternate Credentials** only if you're updating products that require administrator credentials different from the ones you used to log into the computer. +1. In the right-side **Actions** pane, select **Update license status** and then select a credential option. Choose **Alternate Credentials** only if updating products that require administrator credentials different from the ones used to log into the computer. -4. If you're supplying alternate credentials, in the **Windows Security** dialog box type the appropriate user name and password and select **OK**. +1. If supplying alternate credentials, in the **Windows Security** dialog box type the appropriate user name and password and select **OK**. - VAMT displays the **Collecting product information** dialog box while it collects the status of all selected products. When the process is finished, the updated licensing status of each product will appear in the product list view in the center pane. + VAMT displays the **Collecting product information** dialog box while it collects the status of all selected products. When the process is finished, the updated licensing status of each product appears in the product list view in the center pane. > [!NOTE] - If a previously discovered Microsoft Office 2010 product has been uninstalled from the remote computer, updating its licensing status will cause the entry to be deleted from the **Office** product list view, and, consequently, the total number of discovered products will be smaller. However, the Windows installation of the same computer will not be deleted and will always be shown in the **Windows** products list view. + > + > If a previously discovered Microsoft Office product is uninstalled from the remote computer, updating its licensing status causes the entry to be deleted from the **Office** product list view that results in the total number of discovered products being smaller. However, the Windows installation of the same computer isn't deleted and is always be shown in the **Windows** products list view. -## Related articles +## Related content -- [Add and Manage Products](add-manage-products-vamt.md) +- [Add and Manage Products](add-manage-products-vamt.md). diff --git a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md index 9962ec8943..3ee35bd266 100644 --- a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md +++ b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md @@ -1,5 +1,5 @@ --- -title: Use the Volume Activation Management Tool (Windows 10) +title: Use the Volume Activation Management Tool description: The Volume Activation Management Tool (VAMT) provides several useful features, including the ability to track and monitor several types of product keys. ms.reviewer: nganguly manager: aaroncz @@ -7,49 +7,47 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 --- # Use the Volume Activation Management Tool -**Applies to:** - -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 - > [!TIP] -> Are you looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). The Volume Activation Management Tool (VAMT) provides several useful features, including the ability to perform VAMT proxy activation and to track and monitor several types of product keys. -By using the VAMT, you can automate and centrally manage the volume, retail, and MAK activation process for Windows, Office, and select other Microsoft products. The VAMT can manage volume activation by using MAKs or KMS. It's a standard Microsoft Management Console snap-in, and it can be installed on any computer running Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2. +Volume, retail, and Multiple Activation Keys (MAK) activation process for Windows, Office, and select other Microsoft products can be automated and centrally managed using VAMT. The VAMT can manage volume activation by using MAK or Key Management Service (KMS). It's a standard Microsoft Management Console snap-in. -The VAMT is distributed as part of the Windows Assessment and Deployment Kit (Windows ADK), which is a free download available from Microsoft Download Center. For more information, see [Windows Assessment and Deployment Kit (Windows ADK) for Windows 10](https://go.microsoft.com/fwlink/p/?LinkId=526740). +For currently supported versions of Windows Server, VAMT can be installed directly from Server Manager by selecting the Volume Activation Services role or the Remote Server Administration Tools/Role Administration Tools/Volume Activation Tools feature. -In Windows Server 2012 R2, you can install the VAMT directly from Server Manager without downloading the Windows ADK by selecting the Volume Activation Services role or the Remote Server Administration Tools/Role Administration Tools/Volume Activation Tools feature. +For currently supported versions of Windows client, VAMT can be installed as part of the Windows Assessment and Deployment Kit (Windows ADK). The Windows ADK is a free download. For more information, including links to download the Windows ADK, see [Download and install the Windows ADK](/windows-hardware/get-started/adk-install). ## Activating with the Volume Activation Management Tool -You can use the VAMT to complete the activation process in products by using MAK and retail keys, and you can work with computers individually or in groups. The VAMT enables two activation scenarios: +VAMT can be used to complete the activation process in products by using MAK and retail keys. Computers can be activated either individually or in groups. The VAMT enables two activation scenarios: -- **Online activation**. Online activation enables you to activate over the Internet any products that are installed with MAK, KMS host, or retail product keys. You can activate one or more connected computers within a network. This process requires that each product communicate activation information directly to Microsoft. +- **Online activation**. Online activation enables activation over the Internet any products that are installed with MAK, KMS host, or retail product keys. One or more connected computers can be activated within a network. This process requires each product communicate activation information directly to Microsoft. -- **Proxy activation**. This activation method enables you to perform volume activation for products that are installed on client computers that don't have Internet access. The VAMT host computer distributes a MAK, KMS host key, or retail product key to one or more client products and collects the installation ID from each client product. The VAMT host sends the installation IDs to Microsoft on behalf of the client products and obtains the corresponding confirmation IDs. The VAMT host then installs the confirmation IDs on the client products to complete their activation. - By using this method, only the VAMT host computer requires Internet access. Proxy activation by using the VAMT is beneficial for isolated network segments and for cases where your organization has a mix of retail, MAK, and KMS-based activations. +- **Proxy activation**. This activation method enables volume activation for products that are installed on client computers that don't have Internet access. The VAMT host computer distributes a MAK, KMS host key, or retail product key to one or more client products and collects the installation ID from each client product. The VAMT host sends the installation IDs to Microsoft on behalf of the client products and obtains the corresponding confirmation IDs. The VAMT host then installs the confirmation IDs on the client products to complete their activation. + + When this method is used, only the VAMT host computer requires Internet access. Proxy activation by using the VAMT is beneficial for isolated network segments and for cases where the organization has a mix of retail, MAK, and KMS-based activations. ## Tracking products and computers with the Volume Activation Management Tool -The VAMT provides an overview of the activation and licensing status of computers across your network, as shown in Figure 18. Several prebuilt reports are also available to help you proactively manage licensing. +The VAMT provides an overview of the activation and licensing status of computers across an organization's network, as shown in Figure 18. Several prebuilt reports are also available to help proactively manage licensing. ![VAMT showing the licensing status of multiple computers.](../images/volumeactivationforwindows81-18.jpg) @@ -57,7 +55,7 @@ The VAMT provides an overview of the activation and licensing status of computer ## Tracking key usage with the Volume Activation Management Tool -The VAMT makes it easier to track the various keys that are issued to your organization. You can enter each key into VAMT, and then the VAMT can use those keys for online or proxy activation of clients. The tool can also describe what type of key it's and to which product group it belongs. The VAMT is the most convenient way to quickly determine how many activations remain on a MAK. Figure 19 shows an example of key types and usage. +The VAMT makes it easier to track the various keys that are issued to an organization. Each key can be entered into VAMT, and then the VAMT can use those keys for online or proxy activation of clients. The tool can also describe what type of key it's and to which product group it belongs. The VAMT is the most convenient way to quickly determine how many activations remain on a MAK. Figure 19 shows an example of key types and usage. ![VAMT showing key types and usage.](../images/volumeactivationforwindows81-19.jpg) @@ -67,17 +65,17 @@ The VAMT makes it easier to track the various keys that are issued to your organ The VAMT stores information in a Microsoft SQL Server database for performance and flexibility, and it provides a single graphical user interface for managing activations and performing other activation-related tasks, such as: -- **Adding and removing computers**. You can use the VAMT to discover computers in the local environment. The VAMT can discover computers by querying AD DS, workgroups, or individual computer names or IP addresses, or through a general LDAP query. +- **Adding and removing computers**. VAMT can be used to discover computers in the local environment. The VAMT can discover computers by querying AD DS, workgroups, or individual computer names or IP addresses, or through a general LDAP query. -- **Discovering products**. You can use the VAMT to discover Windows, Windows Server, Office, and select other products that are installed on the client computers. +- **Discovering products**. VAMT can be used to discover Windows, Windows Server, Office, and select other products that are installed on the client computers. - **Managing activation data**. The VAMT stores activation data in a SQL Server database. The tool can export this data in XML format to other VAMT hosts or to an archive. For more information, see: -- [Volume Activation Management Tool (VAMT) Overview](./volume-activation-management-tool.md) -- [VAMT Step-by-Step Scenarios](./vamt-step-by-step.md) +- [Volume Activation Management Tool (VAMT) Overview](./volume-activation-management-tool.md). +- [VAMT Step-by-Step Scenarios](./vamt-step-by-step.md). -## Related articles +## Related content -- [Volume Activation for Windows 10](volume-activation-windows-10.md) +- [Volume Activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/vamt-requirements.md b/windows/deployment/volume-activation/vamt-requirements.md index 0080eb1275..4a92b44341 100644 --- a/windows/deployment/volume-activation/vamt-requirements.md +++ b/windows/deployment/volume-activation/vamt-requirements.md @@ -1,12 +1,12 @@ --- -title: VAMT Requirements (Windows 10) -description: In this article, learn about the product key and system requierements for Volume Activation Management Tool (VAMT). +title: VAMT Requirements +description: In this article, learn about the product key and system requirements for Volume Activation Management Tool (VAMT). ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- @@ -36,9 +36,9 @@ The following table lists the system requirements for the VAMT host computer. | External Drive | Removable media (Optional) | | Display | 1024x768 or higher resolution monitor | | Network | Connectivity to remote computers via Windows Management Instrumentation (TCP/IP) and Microsoft Activation Web Service on the Internet via HTTPS | -| Operating System | Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2008 R2, Windows Server 2012, or later. | -| Additional Requirements |
          • Connection to a SQL Server database. For more info, see [Install VAMT](install-vamt.md).
          • PowerShell 3.0: For Windows 8, Windows 8.1, Windows 10, and Windows Server 2012, PowerShell is included in the installation. For previous versions of Windows and Windows Server, you must download PowerShell 3.0. To download PowerShell, go to [Download Windows PowerShell 3.0](/powershell/scripting/install/installing-powershell).
          • If installing on Windows Server 2008 R2, you must also install .NET Framework 3.51.
          | +| Operating System | Currently supported versions of [Windows client](/windows/release-health/supported-versions-windows-client) and [Windows Server](/windows/release-health/windows-server-release-info). | +| Additional Requirements |
          • Connection to a SQL Server database. For more info, see [Install VAMT](install-vamt.md).
          • PowerShell, which is included with all currently supported versions of Windows.
          | -## Related articles +## Related content -- [Install and configure VAMT](install-configure-vamt.md) +- [Install and configure VAMT](install-configure-vamt.md). diff --git a/windows/deployment/volume-activation/vamt-step-by-step.md b/windows/deployment/volume-activation/vamt-step-by-step.md index d13bf3cb1e..59c883df3c 100644 --- a/windows/deployment/volume-activation/vamt-step-by-step.md +++ b/windows/deployment/volume-activation/vamt-step-by-step.md @@ -1,28 +1,28 @@ --- -title: VAMT Step-by-Step Scenarios (Windows 10) +title: VAMT Step-by-Step Scenarios description: Learn step-by-step instructions on implementing the Volume Activation Management Tool (VAMT) in typical environments. ms.reviewer: nganguly manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: article ms.subservice: itpro-fundamentals --- # VAMT step-by-step scenarios -This section provides instructions on how to implement the Volume Activation Management Tool (VAMT) in typical environments. VAMT supports many common scenarios; it describes here some of the most common to get you started. +This section provides instructions on how to implement the Volume Activation Management Tool (VAMT) in typical environments. VAMT supports many common scenarios. To get started, some of the most common scenarios are described here. ## In this section |Article |Description | |-------|------------| -|[Scenario 1: Online Activation](scenario-online-activation-vamt.md) |Describes how to distribute Multiple Activation Keys (MAKs) to products installed on one or more connected computers within a network, and how to instruct these products to contact Microsoft over the Internet for activation. | +|[Scenario 1: Online Activation](scenario-online-activation-vamt.md) |Describes how to distribute Multiple Activation Keys (MAKs) to products installed on one or more connected computers within a network. Additionally, it also describes how to instruct these products to contact Microsoft over the Internet for activation. | |[Scenario 2: Proxy Activation](scenario-proxy-activation-vamt.md) |Describes how to use two VAMT host computers—the first one with Internet access and a second computer within an isolated workgroup—as proxies to perform MAK volume activation for workgroup computers that don't have Internet access. | -|[Scenario 3: Key Management Service (KMS) Client Activation](scenario-kms-activation-vamt.md) |Describes how to use VAMT to configure client products for Key Management Service (KMS) activation. By default, volume license editions of Windows 10, Windows Vista, Windows® 7, Windows 8, Windows Server 2008, Windows Server 2008 R2, or Windows Server® 2012, and Microsoft® Office 2010 use KMS for activation. | +|[Scenario 3: Key Management Service (KMS) Client Activation](scenario-kms-activation-vamt.md) |Describes how to use VAMT to configure client products for Key Management Service (KMS) activation. By default, volume license editions of currently supported versions of Windows and Microsoft Office use KMS for activation. | -## Related articles +## Related content -- [Introduction to VAMT](introduction-vamt.md) +- [Introduction to VAMT](introduction-vamt.md). diff --git a/windows/deployment/volume-activation/volume-activation-management-tool.md b/windows/deployment/volume-activation/volume-activation-management-tool.md index 438e8f8684..396e2a74e2 100644 --- a/windows/deployment/volume-activation/volume-activation-management-tool.md +++ b/windows/deployment/volume-activation/volume-activation-management-tool.md @@ -7,15 +7,16 @@ ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals author: frankroj -ms.date: 11/07/2022 +ms.date: 03/29/2024 ms.topic: overview --- # Volume Activation Management Tool (VAMT) technical reference -The Volume Activation Management Tool (VAMT) lets you automate and centrally manage the Windows, Office, and select other Microsoft products volume and retail-activation process. VAMT can manage volume activation using Multiple Activation Keys (MAKs) or the Windows Key Management Service (KMS). VAMT is a standard Microsoft Management Console (MMC) snap-in. VAMT can be installed on any computer that has a supported Windows OS version. +The Volume Activation Management Tool (VAMT) allows automation and central management of the retail-activation process for Windows, Office, and select other Microsoft products. VAMT can manage volume activation using Multiple Activation Keys (MAKs) or the Windows Key Management Service (KMS). VAMT is a standard Microsoft Management Console (MMC) snap-in. VAMT can be installed on any computer that has a supported Windows OS version. > [!IMPORTANT] +> > VAMT is designed to manage volume activation for all currently supported versions of Windows, Windows Server, and Office. VAMT is only available in an EN-US (x86) package. @@ -26,7 +27,7 @@ VAMT is only available in an EN-US (x86) package. |------|------------| |[Introduction to VAMT](introduction-vamt.md) |Provides a description of VAMT and common usages. | |[Active Directory-based activation overview](active-directory-based-activation-overview.md) |Describes Active Directory-based activation scenarios. | -|[Install and configure VAMT](install-configure-vamt.md) |Describes how to install VAMT and use it to configure client computers on your network. | +|[Install and configure VAMT](install-configure-vamt.md) |Describes how to install VAMT and use it to configure client computers in the network. | |[Add and manage products](add-manage-products-vamt.md) |Describes how to add client computers into VAMT. | |[Manage product keys](manage-product-keys-vamt.md) |Describes how to add and remove a product key from VAMT. | |[Manage activations](manage-activations-vamt.md) |Describes how to activate a client computer by using various activation methods. | diff --git a/windows/deployment/volume-activation/volume-activation-windows-10.md b/windows/deployment/volume-activation/volume-activation-windows-10.md deleted file mode 100644 index 21815eaad8..0000000000 --- a/windows/deployment/volume-activation/volume-activation-windows-10.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Volume Activation for Windows 10 -description: Learn how to use volume activation to deploy & activate Windows 10. Includes details for orgs that have used volume activation for earlier versions of Windows. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.localizationpriority: medium -ms.date: 11/07/2022 -ms.topic: article -ms.subservice: itpro-fundamentals ---- - -# Volume Activation for Windows 10 - -**Applies to:** - -- Windows 10 -- Windows 8.1 -- Windows 8 -- Windows 7 -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 - -> [!TIP] -> Are you looking for volume licensing information? -> -> - [Download the Volume Licensing Reference Guide for Windows 10 Desktop Operating System](https://www.microsoft.com/download/details.aspx?id=11091) - -> [!TIP] -> Are you looking for information on retail activation? -> -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) - -This guide is designed to help organizations that are planning to use volume activation to deploy and activate Windows 10, including organizations that have used volume activation for earlier versions of Windows. - -*Volume activation* is the process that Microsoft volume licensing customers use to automate and manage the activation of Windows operating systems, Microsoft Office, and other Microsoft products across large organizations. Volume licensing is available to customers who purchase software under various volume programs (such as [Open](https://www.microsoft.com/Licensing/licensing-programs/open-license) and [Select](https://www.microsoft.com/Licensing/licensing-programs/select)) and to participants in programs such as the [Microsoft Partner Program](https://partner.microsoft.com/) and [Visual Studio Online](https://visualstudio.microsoft.com/msdn-platforms/). - -Volume activation is a configurable solution that helps automate and manage the product activation process on computers running Windows operating systems that have been licensed under a volume licensing program. Volume activation is also used with other software from Microsoft (most notably the Office suites) that are sold under volume licensing agreements and that support volume activation. - -This guide provides information and step-by-step guidance to help you choose a volume activation method that suits your environment, and then to configure that solution successfully. This guide describes the volume activation features and the tools to manage volume activation. - -Because most organizations won't immediately switch all computers to Windows 10, practical volume activation strategies must also take in to account how to work with the Windows 8.1, Windows 7, Windows Server 2012, and Windows Server 2008 R2 operating systems. This guide discusses how the new volume activation tools can support earlier operating systems, but it doesn't discuss the tools that are provided with earlier operating system versions. - -Volume activation -and the need for activation itself- isn't new, and this guide doesn't review all of its concepts and history. You can find additional background in the appendices of this guide. For more information, see [Volume Activation Overview](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831612(v=ws.11)). - -If you would like additional information about planning a volume activation deployment specifically for Windows 7 and Windows Server 2008 R2, see the [Volume Activation Planning Guide](/previous-versions/tn-archive/dd878528(v=technet.10)). - -To successfully plan and implement a volume activation strategy, you must: - -- Learn about and understand product activation. - -- Review and evaluate the available activation types or models. - -- Consider the connectivity of the clients to be activated. - -- Choose the method or methods to be used with each type of client. - -- Determine the types and number of product keys you'll need. - -- Determine the monitoring and reporting needs in your organization. - -- Install and configure the tools required to support the methods selected. - -Keep in mind that the method of activation doesn't change an organization's responsibility to the licensing requirements. You must ensure that all software used in your organization is properly licensed and activated in accordance with the terms of the licensing agreements in place. - -## Related articles - -- [Plan for volume activation](plan-for-volume-activation-client.md) -- [Activate using Key Management Service](activate-using-key-management-service-vamt.md) -- [Activate using Active Directory-based activation](activate-using-active-directory-based-activation-client.md) -- [Activate clients running Windows 10](activate-windows-10-clients-vamt.md) -- [Monitor activation](monitor-activation-client.md) -- [Use the Volume Activation Management Tool](use-the-volume-activation-management-tool-client.md) -- [Appendix: Information sent to Microsoft during activation](appendix-information-sent-to-microsoft-during-activation-client.md) diff --git a/windows/deployment/volume-activation/volume-activation-windows.md b/windows/deployment/volume-activation/volume-activation-windows.md new file mode 100644 index 0000000000..12f833c5ef --- /dev/null +++ b/windows/deployment/volume-activation/volume-activation-windows.md @@ -0,0 +1,62 @@ +--- +title: Volume Activation for Windows +description: Learn how to use volume activation to deploy & activate Windows. +ms.reviewer: nganguly +manager: aaroncz +ms.author: frankroj +ms.service: windows-client +author: frankroj +ms.localizationpriority: medium +ms.date: 03/29/2024 +ms.topic: article +ms.subservice: itpro-fundamentals +appliesto: + - ✅ Windows 11 + - ✅ Windows 10 + - ✅ Windows Server 2022 + - ✅ Windows Server 2019 + - ✅ Windows Server 2016 +--- + +# Volume Activation for Windows + +> [!TIP] +> +> Looking for volume licensing information? +> +> - [Download the Microsoft Volume Licensing Reference Guide](https://www.microsoft.com/download/details.aspx?id=11091). +> +> Looking for information on retail activation? +> +> - [Activate Windows](https://support.microsoft.com/help/12440/). +> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). + +This guide is designed to help organizations that are planning to use volume activation to deploy and activate Windows. + +*Volume activation* is the process that Microsoft volume licensing customers use to automate and manage the activation of Windows operating systems, Microsoft Office, and other Microsoft products across large organizations. Volume licensing is available to customers who purchase software under various volume programs (such as [Open](https://www.microsoft.com/Licensing/licensing-programs/open-license) and [Select](https://www.microsoft.com/Licensing/licensing-programs/select)) and to participants in programs such as the [Microsoft Partner Program](https://partner.microsoft.com/) and [Visual Studio Codespace](https://visualstudio.microsoft.com/msdn-platforms/). + +Volume activation is a solution that automates and manages product activation on computers running Windows that are licensed under a volume licensing program. Volume activation is also used with other software from Microsoft (most notably the Office suites) that are sold under volume licensing agreements and that support volume activation. + +This guide provides information and step-by-step guidance to help choose a volume activation method that suits an environment, and then to configure that solution successfully. This guide describes the volume activation features and the tools to manage volume activation. + +The following items are needed to successfully plan and implement a volume activation strategy: + +- Learn about and understand product activation. +- Review and evaluate the available activation types or models. +- Consider the connectivity of the clients to be activated. +- Choose the method or methods to be used with each type of client. +- Determine the types and number of product keys needed. +- Determine the monitoring and reporting needs in the organization. +- Install and configure the tools required to support the methods selected. + +Keep in mind that the method of activation doesn't change an organization's responsibility to the licensing requirements. All software used in an organization must be ensured it's properly licensed and activated in accordance with the terms of the licensing agreements in place. + +## Related content + +- [Plan for volume activation](plan-for-volume-activation-client.md). +- [Activate using Key Management Service](activate-using-key-management-service-vamt.md). +- [Activate using Active Directory-based activation](activate-using-active-directory-based-activation-client.md). +- [Activate clients running Windows](activate-windows-clients-vamt.md). +- [Monitor activation](monitor-activation-client.md). +- [Use the Volume Activation Management Tool](use-the-volume-activation-management-tool-client.md). +- [Appendix: Information sent to Microsoft during activation](appendix-information-sent-to-microsoft-during-activation-client.md). From ed04aa37e62fdcb8c7f0b96641f2e66987b83f5b Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 29 Mar 2024 14:04:20 -0400 Subject: [PATCH 43/61] 2024-03 freshness mostly with activation content 3 --- .../deployment/volume-activation/volume-activation-windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/volume-activation/volume-activation-windows.md b/windows/deployment/volume-activation/volume-activation-windows.md index 12f833c5ef..8891a74db2 100644 --- a/windows/deployment/volume-activation/volume-activation-windows.md +++ b/windows/deployment/volume-activation/volume-activation-windows.md @@ -49,7 +49,7 @@ The following items are needed to successfully plan and implement a volume activ - Determine the monitoring and reporting needs in the organization. - Install and configure the tools required to support the methods selected. -Keep in mind that the method of activation doesn't change an organization's responsibility to the licensing requirements. All software used in an organization must be ensured it's properly licensed and activated in accordance with the terms of the licensing agreements in place. +Keep in mind that the method of activation doesn't change an organization's responsibility to the licensing requirements. Ensure that all software used in an organization is properly licensed and activated in accordance with the terms of the licensing agreements in place. ## Related content From 2129a10bde91f6a942eb02d91c72549e420cebce Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 29 Mar 2024 14:45:25 -0400 Subject: [PATCH 44/61] 2024-03 freshness mostly with activation content 4 --- .../volume-activation/plan-for-volume-activation-client.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/volume-activation/plan-for-volume-activation-client.md b/windows/deployment/volume-activation/plan-for-volume-activation-client.md index 2cadbb2f79..7702949941 100644 --- a/windows/deployment/volume-activation/plan-for-volume-activation-client.md +++ b/windows/deployment/volume-activation/plan-for-volume-activation-client.md @@ -227,7 +227,7 @@ A KMS host running a currently supported version of Windows Server can activate ### Generic volume licensing keys -When creating installation media or images for client computers that will be activated by KMS or Active Directory-based activation, install a generic volume license key (GVLK) for the edition of Windows being creating. GVLKs are also referred to as KMS client setup keys. +If computers are activated with KMS or Active Directory-based activation when using custom installation media or an image to install Windows, install a generic volume license key (GVLK) when creating the custom installation media or image. The GVLK should match the edition of Windows being installed. Installation media from Microsoft for Enterprise editions of the Windows operating system might already contain the GVLK. One GVLK is available for each type of installation. The GVLK doesn't activate the software against Microsoft activation servers, but rather against a KMS or Active Directory-based activation object. In other words, the GVLK doesn't work unless a valid KMS host key can be found. GVLKs are the only product keys that don't need to be kept confidential. From ed8a7bde600ab7fc825d657327cb5737eadee66a Mon Sep 17 00:00:00 2001 From: Jordan Geurten Date: Mon, 1 Apr 2024 14:40:19 -0400 Subject: [PATCH 45/61] Added references to Trusted Signing --- .../deployment/create-code-signing-cert-for-wdac.md | 4 ++-- .../deployment/deploy-catalog-files-to-support-wdac.md | 2 +- .../use-code-signing-for-better-control-and-protection.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md index cfa497a317..8c32ec158f 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md @@ -11,7 +11,7 @@ ms.date: 12/01/2022 >[!NOTE] >Some capabilities of Windows Defender Application Control are only available on specific Windows versions. Learn more about the [Windows Defender Application Control feature availability](../feature-availability.md). -As you deploy Windows Defender Application Control (WDAC), you might need to sign catalog files or WDAC policies internally. To do this signing, you'll either need a publicly issued code signing certificate or an internal CA. If you've purchased a code-signing certificate, you can skip this article, and instead follow other articles listed in the [Windows Defender Application Control Deployment Guide](wdac-deployment-guide.md). +As you deploy Windows Defender Application Control (WDAC), you might need to sign catalog files or WDAC policies internally. To do this signing, you'll either need to use [Microsoft's Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/), a publicly issued code signing certificate or an internal CA. If you've purchased a code signing certificate, you can skip this article, and instead follow other articles listed in the [Windows Defender Application Control Deployment Guide](wdac-deployment-guide.md). If you have an internal CA, complete these steps to create a code signing certificate. @@ -20,7 +20,7 @@ If you have an internal CA, complete these steps to create a code signing certif > > - All policies, including base and supplemental, must be signed according to the [PKCS 7 Standard](https://datatracker.ietf.org/doc/html/rfc5652). > - Use RSA keys with 2K, 3K, or 4K key size only. ECDSA isn't supported. -> - You can use SHA-256, SHA-384, or SHA-512 as the digest algorithm on Windows 11, as well as Windows 10 and Windows Server 2019 and above after applying the November 2022 cumulative security update. All other devices only support SHA-256. +> - You can use SHA-256, SHA-384, or SHA-512 as the digest algorithm on Windows 11, as well as Windows 10 and Windows Server 2019 and above after applying the November 2022 cumulative security update. All other devices only support SHA256. > - Don't use UTF-8 encoding for certificate fields, like 'subject common name' and 'issuer common name'. These strings must be encoded as PRINTABLE_STRING, IA5STRING or BMPSTRING. 1. Open the Certification Authority Microsoft Management Console (MMC) snap-in, and then select your issuing CA. diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md index bc9542abec..851ec06874 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md @@ -75,7 +75,7 @@ When finished, the tool saves the files to your desktop. You can view the `*.cdf ## Sign your catalog file -Now that you've created a catalog file for your app, you're ready to sign it. +Now that you've created a catalog file for your app, you're ready to sign it. It is recommended to use [Microsoft's Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/) for catalog signing. Optionally, you can manually sign the catalog using Signtool using the following instructions. ### Catalog signing with SignTool.exe diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md index 8bc12aa239..55d5d178a8 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md @@ -38,6 +38,6 @@ For more information on using signed policies, see [Use signed policies to prote Some ways to obtain code signing certificates for your own use, include: +- Use Microsoft's [Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/). - Purchase a code signing certificate from one of the [Microsoft Trusted Root Program participants](/security/trusted-root/participants-list). -- To use your own digital certificate or public key infrastructure (PKI) to issue code signing certificates, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-wdac.md). -- Use Microsoft's [Azure Code Signing (ACS) service](https://aka.ms/AzureCodeSigning). +- To use your own digital certificate or public key infrastructure (PKI) to issue code signing certificates, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-wdac.md). \ No newline at end of file From db4cca6ae2f3cb64aa784b85afd42e59308a40a3 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:01:03 -0700 Subject: [PATCH 46/61] Update mcc-ent-edu-overview.md updated note for customer intake form. --- windows/deployment/do/mcc-ent-edu-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-ent-edu-overview.md b/windows/deployment/do/mcc-ent-edu-overview.md index bd557375d2..a6b4c0afed 100644 --- a/windows/deployment/do/mcc-ent-edu-overview.md +++ b/windows/deployment/do/mcc-ent-edu-overview.md @@ -20,7 +20,7 @@ ms.date: 05/09/2023 > [!IMPORTANT] > - Microsoft Connected Cache is currently a preview feature. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). -> - We're still accepting Enterprise and Education customers to join the early preview. To register your interest, fill out the survey located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). Microsoft Connected Cache (MCC) for Enterprise and Education (early preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. MCC can be deployed to as many Windows servers, bare-metal servers, or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the client policy using management tools such as Intune. From 6ff5cdc697339f46bd3199c29cddfba831093b41 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:05:16 -0700 Subject: [PATCH 47/61] Update mcc-enterprise-deploy.md removed contact information, update not for customer intake --- windows/deployment/do/mcc-enterprise-deploy.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/do/mcc-enterprise-deploy.md b/windows/deployment/do/mcc-enterprise-deploy.md index 50c983569b..b651c1141f 100644 --- a/windows/deployment/do/mcc-enterprise-deploy.md +++ b/windows/deployment/do/mcc-enterprise-deploy.md @@ -32,14 +32,13 @@ To deploy MCC to your server: 1. [Verify MCC functionality](#verify-mcc-server-functionality) 1. [Review common Issues](#common-issues) if needed. -For questions regarding these instructions contact [msconnectedcache@microsoft.com](mailto:msconnectedcache@microsoft.com) ### Provide Microsoft with the Azure subscription ID As part of the MCC preview onboarding process an Azure subscription ID must be provided to Microsoft. > [!IMPORTANT] -> [Take this survey](https://aka.ms/MSConnectedCacheSignup) and provide your Azure subscription ID and contact information to be added to the allowlist for this preview. You will not be able to proceed if you skip this step. +> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). For information about creating or locating your subscription ID, see [Steps to obtain an Azure subscription ID](mcc-enterprise-appendix.md#steps-to-obtain-an-azure-subscription-id). From fe2cd6aa991caf61b9498904c1c34d194584cb76 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:07:47 -0700 Subject: [PATCH 48/61] Update mcc-ent-edu-overview.md updated note for customer intake --- windows/deployment/do/mcc-ent-edu-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-ent-edu-overview.md b/windows/deployment/do/mcc-ent-edu-overview.md index bd557375d2..a6b4c0afed 100644 --- a/windows/deployment/do/mcc-ent-edu-overview.md +++ b/windows/deployment/do/mcc-ent-edu-overview.md @@ -20,7 +20,7 @@ ms.date: 05/09/2023 > [!IMPORTANT] > - Microsoft Connected Cache is currently a preview feature. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). -> - We're still accepting Enterprise and Education customers to join the early preview. To register your interest, fill out the survey located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). Microsoft Connected Cache (MCC) for Enterprise and Education (early preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. MCC can be deployed to as many Windows servers, bare-metal servers, or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the client policy using management tools such as Intune. From 390bcd6b62aef063f143316c65c3cca812c9792b Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:08:53 -0700 Subject: [PATCH 49/61] Update waas-microsoft-connected-cache.md updated customer intake information --- windows/deployment/do/waas-microsoft-connected-cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/waas-microsoft-connected-cache.md b/windows/deployment/do/waas-microsoft-connected-cache.md index c02d74c2df..1300344e57 100644 --- a/windows/deployment/do/waas-microsoft-connected-cache.md +++ b/windows/deployment/do/waas-microsoft-connected-cache.md @@ -38,7 +38,7 @@ Microsoft Connected Cache (MCC) for Internet Service Providers is currently in p ## Microsoft Connected Cache for Enterprise and Education (early preview) > [!NOTE] -> We're still accepting Enterprise and Education customers to join the early preview. To register your interest, fill out the survey located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). Microsoft Connected Cache (MCC) for Enterprise and Education (early preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. MCC can be deployed to as many Windows servers, bare-metal servers, or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the client policy using management tools such as Intune. Learn more at [Microsoft Connected Cache for Enterprise and Education Overview](mcc-ent-edu-overview.md). From 52f4886f9601ed87732da3b0316b580d0a039dc0 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 1 Apr 2024 13:49:23 -0700 Subject: [PATCH 50/61] Update windows/deployment/do/waas-microsoft-connected-cache.md remove bullet point since there is only one item in the note --- windows/deployment/do/waas-microsoft-connected-cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/waas-microsoft-connected-cache.md b/windows/deployment/do/waas-microsoft-connected-cache.md index 1300344e57..2ae4a2017f 100644 --- a/windows/deployment/do/waas-microsoft-connected-cache.md +++ b/windows/deployment/do/waas-microsoft-connected-cache.md @@ -38,7 +38,7 @@ Microsoft Connected Cache (MCC) for Internet Service Providers is currently in p ## Microsoft Connected Cache for Enterprise and Education (early preview) > [!NOTE] -> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +> As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). Microsoft Connected Cache (MCC) for Enterprise and Education (early preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. MCC can be deployed to as many Windows servers, bare-metal servers, or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the client policy using management tools such as Intune. Learn more at [Microsoft Connected Cache for Enterprise and Education Overview](mcc-ent-edu-overview.md). From a0b093a142feff5464b656e3e9b9182b23deda67 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 1 Apr 2024 13:50:19 -0700 Subject: [PATCH 51/61] Update windows/deployment/do/mcc-enterprise-deploy.md --- windows/deployment/do/mcc-enterprise-deploy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-enterprise-deploy.md b/windows/deployment/do/mcc-enterprise-deploy.md index b651c1141f..b2883ad2fd 100644 --- a/windows/deployment/do/mcc-enterprise-deploy.md +++ b/windows/deployment/do/mcc-enterprise-deploy.md @@ -38,7 +38,7 @@ To deploy MCC to your server: As part of the MCC preview onboarding process an Azure subscription ID must be provided to Microsoft. > [!IMPORTANT] -> - As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +> As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). For information about creating or locating your subscription ID, see [Steps to obtain an Azure subscription ID](mcc-enterprise-appendix.md#steps-to-obtain-an-azure-subscription-id). From 6abd2bb2ccd3f51508ba6216781525e988211d93 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 1 Apr 2024 13:57:02 -0700 Subject: [PATCH 52/61] Fix broken note --- .../deployment/volume-activation/update-product-status-vamt.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/volume-activation/update-product-status-vamt.md b/windows/deployment/volume-activation/update-product-status-vamt.md index 1fd5b6cb03..0a077e39bb 100644 --- a/windows/deployment/volume-activation/update-product-status-vamt.md +++ b/windows/deployment/volume-activation/update-product-status-vamt.md @@ -17,7 +17,7 @@ After computers are added to the Volume Activation Management Tool (VAMT) databa To retrieve license status, VAMT must have administrative permissions on all selected computers and Windows Management Instrumentation (WMI) must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure Client Computers](configure-client-computers-vamt.md). > [!NOTE] -The license-status query requires a valid computer name for each system queried. If the VAMT database contains computers that were added without Personally Identifiable Information, computer names will not be available for those computers, and the status for these computers will not be updated. +> The license-status query requires a valid computer name for each system queried. If the VAMT database contains computers that were added without Personally Identifiable Information, computer names will not be available for those computers, and the status for these computers will not be updated. ## Update the license status of a product From 4dc45c4cb5047b9353c7e00c3602b06e7528d9df Mon Sep 17 00:00:00 2001 From: Jordan Geurten Date: Mon, 1 Apr 2024 18:37:57 -0400 Subject: [PATCH 53/61] Updated absolute links with relative links --- .../deployment/create-code-signing-cert-for-wdac.md | 2 +- .../deployment/deploy-catalog-files-to-support-wdac.md | 2 +- .../use-code-signing-for-better-control-and-protection.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md index 8c32ec158f..624889e5e4 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/create-code-signing-cert-for-wdac.md @@ -11,7 +11,7 @@ ms.date: 12/01/2022 >[!NOTE] >Some capabilities of Windows Defender Application Control are only available on specific Windows versions. Learn more about the [Windows Defender Application Control feature availability](../feature-availability.md). -As you deploy Windows Defender Application Control (WDAC), you might need to sign catalog files or WDAC policies internally. To do this signing, you'll either need to use [Microsoft's Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/), a publicly issued code signing certificate or an internal CA. If you've purchased a code signing certificate, you can skip this article, and instead follow other articles listed in the [Windows Defender Application Control Deployment Guide](wdac-deployment-guide.md). +As you deploy Windows Defender Application Control (WDAC), you might need to sign catalog files or WDAC policies internally. To do this signing, you'll either need to use [Microsoft's Trusted Signing service](/azure/trusted-signing/), a publicly issued code signing certificate or an internal CA. If you've purchased a code signing certificate, you can skip this article, and instead follow other articles listed in the [Windows Defender Application Control Deployment Guide](wdac-deployment-guide.md). If you have an internal CA, complete these steps to create a code signing certificate. diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md index 851ec06874..f5cce76ac5 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md @@ -75,7 +75,7 @@ When finished, the tool saves the files to your desktop. You can view the `*.cdf ## Sign your catalog file -Now that you've created a catalog file for your app, you're ready to sign it. It is recommended to use [Microsoft's Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/) for catalog signing. Optionally, you can manually sign the catalog using Signtool using the following instructions. +Now that you've created a catalog file for your app, you're ready to sign it. It is recommended to use [Microsoft's Trusted Signing service](/azure/trusted-signing/) for catalog signing. Optionally, you can manually sign the catalog using Signtool using the following instructions. ### Catalog signing with SignTool.exe diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md index 55d5d178a8..7e9e07b044 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-code-signing-for-better-control-and-protection.md @@ -38,6 +38,6 @@ For more information on using signed policies, see [Use signed policies to prote Some ways to obtain code signing certificates for your own use, include: -- Use Microsoft's [Trusted Signing service](https://learn.microsoft.com/azure/trusted-signing/). +- Use Microsoft's [Trusted Signing service](/azure/trusted-signing/). - Purchase a code signing certificate from one of the [Microsoft Trusted Root Program participants](/security/trusted-root/participants-list). - To use your own digital certificate or public key infrastructure (PKI) to issue code signing certificates, see [Optional: Create a code signing certificate for Windows Defender Application Control](create-code-signing-cert-for-wdac.md). \ No newline at end of file From dae965762f3f9b5a620e9bc2a772294d59c0de35 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 1 Apr 2024 16:20:15 -0700 Subject: [PATCH 54/61] "We recommend" is preferred Microsoft style The Writing style guide says not to use "it is recommended": https://styleguides.azurewebsites.net/Styleguide/Read?id=2700&topicid=35666 --- .../deployment/deploy-catalog-files-to-support-wdac.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md index f5cce76ac5..afa066fa59 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md @@ -75,7 +75,7 @@ When finished, the tool saves the files to your desktop. You can view the `*.cdf ## Sign your catalog file -Now that you've created a catalog file for your app, you're ready to sign it. It is recommended to use [Microsoft's Trusted Signing service](/azure/trusted-signing/) for catalog signing. Optionally, you can manually sign the catalog using Signtool using the following instructions. +Now that you've created a catalog file for your app, you're ready to sign it. We recommend using [Microsoft's Trusted Signing service](/azure/trusted-signing/) for catalog signing. Optionally, you can manually sign the catalog using Signtool using the following instructions. ### Catalog signing with SignTool.exe From d27aeb5ef1783ef8043798e80fe47d08f0ae0309 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 1 Apr 2024 16:21:55 -0700 Subject: [PATCH 55/61] Add a little space to help readability, add punctuation --- .../deployment/deploy-catalog-files-to-support-wdac.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md index afa066fa59..2265945d4e 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-catalog-files-to-support-wdac.md @@ -336,13 +336,16 @@ Some of the known issues using Package Inspector to build a catalog file are: - Get the value of the reg key at HKEY\_CURRENT\_USER/PackageInspectorRegistryKey/c: (this USN was the most recent one when you ran PackageInspector start). Then use fsutil.exe to read that starting location. Replace "RegKeyValue" in the following command with the value from the reg key:
          `fsutil usn readjournal C: startusn=RegKeyValue > inspectedusn.txt` - The above command should return an error if the older USNs don't exist anymore due to overflow - - You can expand the USN Journal size using: `fsutil usn createjournal` with a new size and allocation delta. `Fsutil usn queryjournal` shows the current size and allocation delta, so using a multiple of that may help + - You can expand the USN Journal size using: `fsutil usn createjournal` with a new size and allocation delta. `Fsutil usn queryjournal` shows the current size and allocation delta, so using a multiple of that may help. + - **CodeIntegrity - Operational event log is too small to track all files created by the installer** - To diagnose whether Eventlog size is the issue, after running through Package Inspector: - Open Event Viewer and expand the **Application and Services//Microsoft//Windows//CodeIntegrity//Operational**. Check for a 3076 audit block event for the initial installer launch. - - To increase the Event log size, in Event Viewer right-click the operational log, select Properties, and then set new values + - To increase the Event log size, in Event Viewer right-click the operational log, select Properties, and then set new values. + - **Installer or app files that change hash each time the app is installed or run** - Some apps generate files at run time whose hash value is different every time. You can diagnose this issue by reviewing the hash values in the 3076 audit block events (or 3077 enforcement events) that are generated. If each time you attempt to run the file you observe a new block event with a different hash, the package doesn't work with Package Inspector. + - **Files with an invalid signature blob or otherwise "unhashable" files** - This issue arises when a signed file was modified in a way that invalidates the file's PE header. A file modified in this way is unable to be hashed according to the Authenticode spec. - Although these "unhashable" files can't be included in the catalog file created by PackageInspector, you should be able to allow them by adding a hash ALLOW rule to your policy that uses the file's flat file hash. From 8dcd044e50af323b740650ec24ce4525fb1f6d7f Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Apr 2024 17:10:58 -0700 Subject: [PATCH 56/61] cleanup some mdt references --- windows/deployment/TOC.yml | 30 ++++--------------- ...-windows-10-using-configuration-manager.md | 2 +- ...-windows-10-using-configuration-manager.md | 2 +- .../windows-10-enterprise-faq-itpro.yml | 2 +- windows/deployment/wds-boot-support.md | 5 ++-- windows/deployment/windows-10-poc.md | 8 ++--- 6 files changed, 14 insertions(+), 35 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index a747a05869..5defe8d8ca 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -17,14 +17,10 @@ href: update/waas-servicing-strategy-windows-10-updates.md - name: Deployment proof of concept items: - - name: Deploy Windows 10 with MDT and Configuration Manager - items: - - name: 'Step by step guide: Configure a test lab to deploy Windows 10' - href: windows-10-poc.md - - name: Deploy Windows 10 in a test lab using MDT - href: windows-10-poc-mdt.md - - name: Deploy Windows 10 in a test lab using Configuration Manager - href: windows-10-poc-sc-config-mgr.md + - name: 'Step by step guide: Configure a test lab to deploy Windows 10' + href: windows-10-poc.md + - name: Deploy Windows 10 in a test lab using Configuration Manager + href: windows-10-poc-sc-config-mgr.md - name: Deployment process posters href: windows-10-deployment-posters.md @@ -79,12 +75,8 @@ href: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Configure BranchCache for Windows client updates href: update/waas-branchcache.md - - name: Prepare your deployment tools - items: - - name: Prepare for deployment with MDT - href: deploy-windows-mdt/prepare-for-windows-deployment-with-mdt.md - - name: Prepare for deployment with Configuration Manager - href: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md + - name: Prepare for deployment with Configuration Manager + href: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md - name: Build a successful servicing strategy items: - name: Check release health @@ -112,16 +104,6 @@ href: deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md - name: In-place upgrade href: deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md - - name: Deploy Windows client with MDT - items: - - name: Deploy to a new device - href: deploy-windows-mdt/deploy-a-windows-10-image-using-mdt.md - - name: Refresh a device - href: deploy-windows-mdt/refresh-a-windows-7-computer-with-windows-10.md - - name: Replace a device - href: deploy-windows-mdt/replace-a-windows-7-computer-with-a-windows-10-computer.md - - name: In-place upgrade - href: deploy-windows-mdt/upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md - name: Deploy Windows client updates items: - name: Assign devices to servicing channels diff --git a/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md index e31c4ebfb5..19bb081501 100644 --- a/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md @@ -17,7 +17,7 @@ ms.date: 10/27/2022 - Windows 10 -This article will show you how to refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager and Microsoft Deployment Toolkit (MDT). A computer refresh isn't the same as an in-place upgrade. A computer refresh involves storing user data and settings from the old installation, wiping the hard drives, installing a new OS, and then restoring the user data at the end of the installation. Also see the MDT refresh procedure: [Refresh a Windows 7 computer with Windows 10](../deploy-windows-mdt/refresh-a-windows-7-computer-with-windows-10.md). +This article will show you how to refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager and Microsoft Deployment Toolkit (MDT). A computer refresh isn't the same as an in-place upgrade. A computer refresh involves storing user data and settings from the old installation, wiping the hard drives, installing a new OS, and then restoring the user data at the end of the installation. A computer refresh with Configuration Manager works the same as it does with MDT Lite Touch installation. Configuration Manager also uses the User State Migration Tool (USMT) from the Windows Assessment and Deployment Kit (Windows ADK) 10 in the background. A computer refresh with Configuration Manager has the following steps: diff --git a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md index 48c9e2bcbb..6afde05f09 100644 --- a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md @@ -19,7 +19,7 @@ ms.date: 10/27/2022 In this article, you'll learn how to replace a Windows 7 SP1 computer using Microsoft Configuration Manager. This process is similar to refreshing a computer, but since you're replacing the device, you have to run the backup job separately from the deployment of Windows 10. -In this article, you'll create a backup-only task sequence that you run on PC0004 (the device you're replacing), deploy the PC0006 computer running Windows 10, and then restore this backup of PC0004 onto PC006. This process is similar to the MDT replace process: [Replace a Windows 7 computer with a Windows 10 computer](../deploy-windows-mdt/replace-a-windows-7-computer-with-a-windows-10-computer.md). +In this article, you'll create a backup-only task sequence that you run on PC0004 (the device you're replacing), deploy the PC0006 computer running Windows 10, and then restore this backup of PC0004 onto PC006. ## Infrastructure diff --git a/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml b/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml index 6728d4c2ee..9bf7a86f35 100644 --- a/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml +++ b/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml @@ -82,7 +82,7 @@ sections: - question: | Can I upgrade computers from Windows 7 or Windows 8.1 without deploying a new image? answer: | - Computers running Windows 7 or Windows 8.1 can be upgraded directly to Windows 10 through the in-place upgrade process without a need to reimage the device using MDT and/or Configuration Manager. For more information, see [Upgrade to Windows 10 with Microsoft Configuration Manager](../deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md) or [Upgrade to Windows 10 with the Microsoft Deployment Toolkit](../deploy-windows-mdt/upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md). + Computers running Windows 7 or Windows 8.1 can be upgraded directly to Windows 10 through the in-place upgrade process without a need to reimage the device. For more information, see [Upgrade to Windows 10 with Microsoft Configuration Manager](../deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md). - question: | Can I upgrade from Windows 7 Enterprise or Windows 8.1 Enterprise to Windows 10 Enterprise for free? diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index 13ee0fd808..7234c849a8 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -61,6 +61,5 @@ If you currently use WDS with **boot.wim** from installation media for end-to-en ## Also see -[Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing)
          -[Create a custom Windows PE boot image with Configuration Manager](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md)
          -[Prepare for deployment with MDT](deploy-windows-mdt/prepare-for-windows-deployment-with-mdt.md)
          +- [Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing) +- [Create a custom Windows PE boot image with Configuration Manager](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md) diff --git a/windows/deployment/windows-10-poc.md b/windows/deployment/windows-10-poc.md index 91aadc47e7..fab9131baf 100644 --- a/windows/deployment/windows-10-poc.md +++ b/windows/deployment/windows-10-poc.md @@ -22,10 +22,7 @@ This guide contains instructions to configure a proof of concept (PoC) environme > [!NOTE] > Microsoft also offers a pre-configured lab using an evaluation version of Configuration Manager. For more information, see [Windows and Office deployment and management lab kit](/microsoft-365/enterprise/modern-desktop-deployment-and-management-lab). -This lab guide makes extensive use of Windows PowerShell and Hyper-V. Subsequent companion guides contain steps to deploy Windows 10 using the PoC environment. After completing this guide, see the following Windows 10 PoC deployment guides: - -- [Step by step: Deploy Windows 10 in a test lab using Microsoft Configuration Manager](windows-10-poc-sc-config-mgr.md) -- [Step by step: Deploy Windows 10 in a test lab using MDT](windows-10-poc-mdt.md) +This lab guide makes extensive use of Windows PowerShell and Hyper-V. Subsequent companion guides contain steps to deploy Windows 10 using the PoC environment. After completing this guide, see [Step by step: Deploy Windows 10 in a test lab using Microsoft Configuration Manager](windows-10-poc-sc-config-mgr.md). The proof of concept (PoC) deployment guides are intended to provide a demonstration of Windows 10 deployment tools and processes for IT professionals that aren't familiar with these tools, and you want to set up a PoC environment. Don't use the instructions in this guide in a production setting. They aren't meant to replace the instructions found in production deployment guidance. @@ -1044,4 +1041,5 @@ Use the following procedures to verify that the PoC environment is configured pr ## Next steps -- [Windows 10 deployment scenarios](windows-deployment-scenarios.md). +- [Windows 10 deployment scenarios](windows-deployment-scenarios.md) +- [Step by step: Deploy Windows 10 in a test lab using Microsoft Configuration Manager](windows-10-poc-sc-config-mgr.md) From df144659227dafec3c570d571c7750d36bd8e3ef Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Apr 2024 17:41:35 -0700 Subject: [PATCH 57/61] change style to landing --- windows/deployment/index.yml | 304 ++++++++++++++++++----------------- 1 file changed, 153 insertions(+), 151 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 9ddf7595e4..463be87847 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -1,4 +1,4 @@ -### YamlMime:Hub +### YamlMime:Landing title: Deploy and update Windows # < 60 chars; shows at top of hub page summary: Learn about deploying and updating Windows client devices in your organization. # < 160 chars @@ -6,7 +6,7 @@ summary: Learn about deploying and updating Windows client devices in your organ metadata: title: Windows client deployment documentation # Required; browser tab title displayed in search results. Include the brand. < 60 chars. description: Learn about deploying and updating Windows client devices in your organization. # Required; article description that is displayed in search results. < 160 chars. - ms.topic: hub-page + ms.topic: landing-page ms.service: windows-client ms.subservice: itpro-deploy ms.collection: @@ -15,166 +15,168 @@ metadata: author: aczechowski ms.author: aaroncz manager: aaroncz - ms.date: 01/18/2024 + ms.date: 04/01/2024 localization_priority: medium -# common graphics: https://review.learn.microsoft.com/content-production-service/internal/image-gallery?branch=main +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new -productDirectory: - title: Get started - items: - - title: Plan - imageSrc: /media/common/i_overview.svg - links: - - text: Plan for Windows 11 - url: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - - text: Create a deployment plan - url: update/create-deployment-plan.md - - text: Define readiness criteria - url: update/plan-define-readiness.md - - text: Define your servicing strategy - url: update/plan-define-strategy.md - - text: Determine application readiness - url: update/plan-determine-app-readiness.md - - text: Plan for volume activation - url: volume-activation/plan-for-volume-activation-client.md +landingContent: - - title: Prepare - imageSrc: /media/common/i_tasks.svg - links: - - text: Prepare for Windows 11 - url: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - - text: Prepare to deploy Windows updates - url: update/prepare-deploy-windows.md - - text: Prepare updates using Windows Update for Business - url: update/waas-manage-updates-wufb.md - - text: Evaluate and update infrastructure - url: update/update-policies.md - - text: Set up Delivery Optimization for Windows client updates - url: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - - text: Prepare for imaging with Configuration Manager - url: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md +- title: Plan + linkLists: + - linkListType: overview + links: + - text: Plan for Windows 11 + url: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + - text: Create a deployment plan + url: update/create-deployment-plan.md + - text: Define readiness criteria + url: update/plan-define-readiness.md + - text: Define your servicing strategy + url: update/plan-define-strategy.md + - text: Determine application readiness + url: update/plan-determine-app-readiness.md + - text: Plan for volume activation + url: volume-activation/plan-for-volume-activation-client.md - - title: Deploy - imageSrc: /media/common/i_deploy.svg - links: - - text: Deploy Windows with Autopilot - url: /mem/autopilot/tutorial/autopilot-scenarios - - text: Assign devices to servicing channels - url: update/waas-servicing-channels-windows-10-updates.md - - text: Deploy updates with Intune - url: update/deploy-updates-intune.md - - text: Deploy Windows updates with Configuration Manager - url: update/deploy-updates-configmgr.md - - text: Upgrade Windows using Configuration Manager - url: deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md - - text: Check release health - url: update/check-release-health.md +- title: Prepare + linkLists: + - linkListType: get-started + links: + - text: Prepare for Windows 11 + url: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + - text: Prepare to deploy Windows updates + url: update/prepare-deploy-windows.md + - text: Prepare updates using Windows Update for Business + url: update/waas-manage-updates-wufb.md + - text: Evaluate and update infrastructure + url: update/update-policies.md + - text: Set up Delivery Optimization for Windows client updates + url: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + - text: Prepare for imaging with Configuration Manager + url: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md -additionalContent: - sections: - - title: Solutions - items: +- title: Deploy + linkLists: + - linkListType: deploy + links: + - text: Deploy Windows with Autopilot + url: /mem/autopilot/tutorial/autopilot-scenarios + - text: Assign devices to servicing channels + url: update/waas-servicing-channels-windows-10-updates.md + - text: Deploy updates with Intune + url: update/deploy-updates-intune.md + - text: Deploy Windows updates with Configuration Manager + url: update/deploy-updates-configmgr.md + - text: Upgrade Windows using Configuration Manager + url: deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md + - text: Check release health + url: update/check-release-health.md - - title: Windows Autopilot - links: - - text: Overview - url: /mem/autopilot/windows-autopilot - - text: Scenarios - url: /mem/autopilot/tutorial/autopilot-scenarios - - text: Device registration - url: /mem/autopilot/registration-overview - - text: Learn more about Windows Autopilot > - url: /mem/autopilot +- title: Windows Autopilot + linkLists: + - linkListType: how-to-guide + links: + - text: Overview + url: /mem/autopilot/windows-autopilot + - text: Scenarios + url: /mem/autopilot/tutorial/autopilot-scenarios + - text: Device registration + url: /mem/autopilot/registration-overview + - text: Learn more about Windows Autopilot > + url: /mem/autopilot - - title: Windows Autopatch - links: - - text: What is Windows Autopatch? - url: windows-autopatch/overview/windows-autopatch-overview.md - - text: Frequently asked questions (FAQ) - url: windows-autopatch/overview/windows-autopatch-faq.yml - - text: Prerequisites - url: windows-autopatch/prepare/windows-autopatch-prerequisites.md - - text: Learn more about Windows Autopatch > - url: windows-autopatch/index.yml +- title: Windows Autopatch + linkLists: + - linkListType: how-to-guide + links: + - text: What is Windows Autopatch? + url: windows-autopatch/overview/windows-autopatch-overview.md + - text: Frequently asked questions (FAQ) + url: windows-autopatch/overview/windows-autopatch-faq.yml + - text: Prerequisites + url: windows-autopatch/prepare/windows-autopatch-prerequisites.md + - text: Learn more about Windows Autopatch > + url: windows-autopatch/index.yml - - title: Windows Update for Business - links: - - text: What is Windows Update for Business? - url: update/waas-manage-updates-wufb.md - - text: Windows Update for Business deployment service - url: update/deployment-service-overview.md - - text: Manage Windows Update settings - url: update/waas-wu-settings.md - - text: Windows Update for Business reports overview - url: update/wufb-reports-overview.md +- title: Windows Update for Business + linkLists: + - linkListType: how-to-guide + links: + - text: What is Windows Update for Business? + url: update/waas-manage-updates-wufb.md + - text: Windows Update for Business deployment service + url: update/deployment-service-overview.md + - text: Manage Windows Update settings + url: update/waas-wu-settings.md + - text: Windows Update for Business reports overview + url: update/wufb-reports-overview.md - - title: Optimize and cache content - links: - - text: What is Delivery Optimization? - url: do/waas-delivery-optimization.md - - text: What is Microsoft Connected Cache? - url: do/waas-microsoft-connected-cache.md - - text: Frequently asked questions - url: do/waas-delivery-optimization-faq.yml - - text: Learn more about Delivery Optimization > - url: do/index.yml +- title: Optimize and cache content + linkLists: + - linkListType: how-to-guide + links: + - text: What is Delivery Optimization? + url: do/waas-delivery-optimization.md + - text: What is Microsoft Connected Cache? + url: do/waas-microsoft-connected-cache.md + - text: Frequently asked questions + url: do/waas-delivery-optimization-faq.yml + - text: Learn more about Delivery Optimization > + url: do/index.yml - - title: In-place upgrade and imaging - links: - - text: Upgrade Windows using Configuration Manager - url: deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md - - text: Deploy a Windows image using Configuration Manager - url: deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md - - text: Convert a disk from MBR to GPT - url: mbr-to-gpt.md - - text: Resolve Windows upgrade errors - url: upgrade/resolve-windows-upgrade-errors.md +- title: In-place upgrade and imaging + linkLists: + - linkListType: how-to-guide + links: + - text: Upgrade Windows using Configuration Manager + url: deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md + - text: Deploy a Windows image using Configuration Manager + url: deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md + - text: Convert a disk from MBR to GPT + url: mbr-to-gpt.md + - text: Resolve Windows upgrade errors + url: upgrade/resolve-windows-upgrade-errors.md - - title: Licensing and activation - links: - - text: Plan for volume activation - url: volume-activation/plan-for-volume-activation-client.md - - text: Subscription activation - url: windows-10-subscription-activation.md - - text: Volume activation management tool (VAMT) - url: volume-activation/introduction-vamt.md - - text: Activate using key management service (KMS) - url: volume-activation/activate-using-key-management-service-vamt.md - - text: Windows commercial licensing overview - url: /windows/whats-new/windows-licensing +- title: Licensing and activation + linkLists: + - linkListType: how-to-guide + links: + - text: Plan for volume activation + url: volume-activation/plan-for-volume-activation-client.md + - text: Subscription activation + url: windows-10-subscription-activation.md + - text: Volume activation management tool (VAMT) + url: volume-activation/introduction-vamt.md + - text: Activate using key management service (KMS) + url: volume-activation/activate-using-key-management-service-vamt.md + - text: Windows commercial licensing overview + url: /windows/whats-new/windows-licensing - - title: More resources - items: - - - title: Release and lifecycle - links: - - text: Windows release health dashboard - url: /windows/release-health - - text: Windows client features lifecycle - url: /windows/whats-new/feature-lifecycle - - text: Lifecycle FAQ - Windows - url: /lifecycle/faq/windows - - - title: Windows hardware - links: - - text: Download and install the Windows ADK - url: /windows-hardware/get-started/adk-install - - text: Deployment tools - url: /windows-hardware/manufacture/desktop/boot-and-install-windows -# - text: -# url: -# - text: -# url: - - - title: Community - links: - - text: Windows IT pro blog - url: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/bg-p/Windows10Blog - - text: Windows office hours - url: https://aka.ms/windows/officehours -# - text: -# url: -# - text: -# url: +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new +- title: More resources + linkLists: + - linkListType: learn + # Release and lifecycle + links: + - text: Windows release health dashboard + url: /windows/release-health + - text: Windows client features lifecycle + url: /windows/whats-new/feature-lifecycle + - text: Lifecycle FAQ - Windows + url: /lifecycle/faq/windows + - linkListType: architecture + # Windows hardware + links: + - text: Download and install the Windows ADK + url: /windows-hardware/get-started/adk-install + - text: Deployment tools + url: /windows-hardware/manufacture/desktop/boot-and-install-windows + - linkListType: whats-new + # Community + links: + - text: Windows IT pro blog + url: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/bg-p/Windows10Blog + - text: Windows office hours + url: https://aka.ms/windows/officehours From 7efa747b7a674799cff618266449cefb99dc00eb Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Apr 2024 17:46:37 -0700 Subject: [PATCH 58/61] basic acrolinx --- ...ith-windows-10-using-configuration-manager.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md index 6afde05f09..b13078046f 100644 --- a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md @@ -221,11 +221,11 @@ Next, see [Perform an in-place upgrade to Windows 10 using Configuration Manager ## Related articles -[Prepare for Zero Touch Installation of Windows 10 with Configuration Manager](prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md)
          -[Create a custom Windows PE boot image with Configuration Manager](create-a-custom-windows-pe-boot-image-with-configuration-manager.md)
          -[Add a Windows 10 operating system image using Configuration Manager](add-a-windows-10-operating-system-image-using-configuration-manager.md)
          -[Create an application to deploy with Windows 10 using Configuration Manager](create-an-application-to-deploy-with-windows-10-using-configuration-manager.md)
          -[Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager](add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md)
          -[Create a task sequence with Configuration Manager and MDT](./create-a-task-sequence-with-configuration-manager-and-mdt.md)
          -[Deploy Windows 10 using PXE and Configuration Manager](deploy-windows-10-using-pxe-and-configuration-manager.md)
          -[Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager](refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md)
          +- [Prepare for Zero Touch Installation of Windows 10 with Configuration Manager](prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md) +- [Create a custom Windows PE boot image with Configuration Manager](create-a-custom-windows-pe-boot-image-with-configuration-manager.md) +- [Add a Windows 10 operating system image using Configuration Manager](add-a-windows-10-operating-system-image-using-configuration-manager.md) +- [Create an application to deploy with Windows 10 using Configuration Manager](create-an-application-to-deploy-with-windows-10-using-configuration-manager.md) +- [Add drivers to a Windows 10 deployment with Windows PE using Configuration Manager](add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md) +- [Create a task sequence with Configuration Manager and MDT](./create-a-task-sequence-with-configuration-manager-and-mdt.md) +- [Deploy Windows 10 using PXE and Configuration Manager](deploy-windows-10-using-pxe-and-configuration-manager.md) +- [Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager](refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md) From eb17013df09c5f6a35f84093624d827d2ee418d8 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Apr 2024 17:49:50 -0700 Subject: [PATCH 59/61] update list types --- windows/deployment/index.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 463be87847..5e60b0c3c0 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -24,7 +24,7 @@ landingContent: - title: Plan linkLists: - - linkListType: overview + - linkListType: concept links: - text: Plan for Windows 11 url: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json @@ -157,7 +157,7 @@ landingContent: - title: More resources linkLists: - - linkListType: learn + - linkListType: reference # Release and lifecycle links: - text: Windows release health dashboard @@ -166,7 +166,7 @@ landingContent: url: /windows/whats-new/feature-lifecycle - text: Lifecycle FAQ - Windows url: /lifecycle/faq/windows - - linkListType: architecture + - linkListType: download # Windows hardware links: - text: Download and install the Windows ADK From a622c338d5faba96fe11b4635ff069aa70cf2bc0 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Tue, 2 Apr 2024 09:48:45 -0700 Subject: [PATCH 60/61] Update mcc-enterprise-prerequisites.md --- windows/deployment/do/mcc-enterprise-prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-enterprise-prerequisites.md b/windows/deployment/do/mcc-enterprise-prerequisites.md index 752eb75f2e..0fabedc832 100644 --- a/windows/deployment/do/mcc-enterprise-prerequisites.md +++ b/windows/deployment/do/mcc-enterprise-prerequisites.md @@ -19,7 +19,7 @@ ms.date: 11/07/2023 # Requirements of Microsoft Connected Cache for Enterprise and Education (early preview) > [!NOTE] -> We're still accepting Enterprise and Education customers to join the early preview. To register your interest, fill out the survey located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). +As we near the release of public preview, we have paused onboarding. Please continue to submit the form to express interest so we can follow up with you once public preview of Microsoft Connected Cache for Enteprise and Education is available. To register your interest, fill out the form located at [https://aka.ms/MSConnectedCacheSignup](https://aka.ms/MSConnectedCacheSignup). ## Enterprise requirements for MCC From e1a992c0d59c3f5bd802538c806754330d1e6ccd Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:12:12 -0700 Subject: [PATCH 61/61] Update mcc-enterprise-prerequisites.md acrolinx edits --- windows/deployment/do/mcc-enterprise-prerequisites.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/do/mcc-enterprise-prerequisites.md b/windows/deployment/do/mcc-enterprise-prerequisites.md index 0fabedc832..8b73717e83 100644 --- a/windows/deployment/do/mcc-enterprise-prerequisites.md +++ b/windows/deployment/do/mcc-enterprise-prerequisites.md @@ -25,10 +25,10 @@ As we near the release of public preview, we have paused onboarding. Please cont 1. **Azure subscription**: MCC management portal is hosted within Azure and is used to create the Connected Cache [Azure resource](/azure/cloud-adoption-framework/govern/resource-consistency/resource-access-management) and IoT Hub resource. Both are free services. - Your Azure subscription ID is first used to provision MCC services, and enable access to the preview. The MCC server requirement for an Azure subscription will cost you nothing. If you don't have an Azure subscription already, you can create an Azure [Pay-As-You-Go](https://azure.microsoft.com/offers/ms-azr-0003p/) account, which requires a credit card for verification purposes. For more information, see the [Azure Free Account FAQ](https://azure.microsoft.com/free/free-account-faq/). + Your Azure subscription ID is first used to provision MCC services, and enable access to the preview. The MCC server requirement for an Azure subscription costs you nothing. If you don't have an Azure subscription already, you can create an Azure [pay-as-you-go](https://azure.microsoft.com/offers/ms-azr-0003p/) account, which requires a credit card for verification purposes. For more information, see the [Azure Free Account FAQ](https://azure.microsoft.com/free/free-account-faq/). The resources used for the preview and in the future when this product is ready for production will be free to you, like other caching solutions. -1. **Hardware to host MCC**: The recommended configuration will serve approximately 35000 managed devices, downloading a 2 GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps. +1. **Hardware to host MCC**: The recommended configuration serves approximately 35,000 managed devices, downloading a 2-GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps. > [!NOTE] > Azure VMs are not currently supported. If you'd like to install your cache node on VMWare, see the [Appendix](mcc-enterprise-appendix.md) for a few additional configurations. @@ -36,7 +36,7 @@ As we near the release of public preview, we have paused onboarding. Please cont **EFLOW requires Hyper-V support** - On Windows client, enable the Hyper-V feature. - On Windows Server, install the Hyper-V role and create a default network switch. - - For additional requirements, see [EFLOW requirements](/azure/iot-edge/iot-edge-for-linux-on-windows#prerequisites). + - For more requirements, see [EFLOW requirements](/azure/iot-edge/iot-edge-for-linux-on-windows#prerequisites). Disk recommendations: - Using an SSD is recommended as cache read speed of SSD is superior to HDD @@ -44,7 +44,7 @@ As we near the release of public preview, we have paused onboarding. Please cont NIC requirements: - Multiple NICs on a single MCC instance aren't supported. - 1 Gbps NIC is the minimum speed recommended but any NIC is supported. - - For best performance, NIC and BIOS should support SR-IOV + - For best performance, NIC and BIOS should support SR-IOV. VM networking: - An external virtual switch to support outbound and inbound network communication (created during the installation process)