From 2424a85c9d48e37cb3ae9209e20b3fdf7b525f14 Mon Sep 17 00:00:00 2001 From: Mitch Lindgren Date: Wed, 6 Feb 2019 14:30:21 -0800 Subject: [PATCH 01/21] Fix incorrect information about PIN complexity policy PIN complexity group policy is only supported in Computer Configuration, not User Configuration. --- .../hello-for-business/hello-cert-trust-policy-settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-cert-trust-policy-settings.md b/windows/security/identity-protection/hello-for-business/hello-cert-trust-policy-settings.md index f33d7bbf02..4c008a5f24 100644 --- a/windows/security/identity-protection/hello-for-business/hello-cert-trust-policy-settings.md +++ b/windows/security/identity-protection/hello-for-business/hello-cert-trust-policy-settings.md @@ -126,7 +126,7 @@ Windows 10 provides eight PIN Complexity Group Policy settings that give you gra * Require special characters * Require uppercase letters -In the Windows 10, version 1703, the PIN complexity Group Policy settings have moved to remove misunderstanding that PIN complexity policy settings were exclusive to Windows Hello for Business. The new location of these Group Policy settings is under Administrative Templates\System\PIN Complexity under both the Computer and User Configuration nodes of the Group Policy editor. +In the Windows 10, version 1703, the PIN complexity Group Policy settings have moved to remove misunderstanding that PIN complexity policy settings were exclusive to Windows Hello for Business. The new location of these Group Policy settings is under Computer Configuration\Administrative Templates\System\PIN Complexity in the Group Policy editor. ## Review @@ -153,4 +153,4 @@ Users must receive the Windows Hello for Business group policy settings and have 2. [Validate and Configure Public Key Infrastructure](hello-cert-trust-validate-pki.md) 3. [Prepare and Deploy Windows Server 2016 Active Directory Federation Services](hello-cert-trust-adfs.md) 4. [Validate and Deploy Multifactor Authentication Services (MFA)](hello-cert-trust-validate-deploy-mfa.md) -5. Configure Windows Hello for Business Policy settings (*You are here*) \ No newline at end of file +5. Configure Windows Hello for Business Policy settings (*You are here*) From 15061e5e1dea159deb2f5ac359784b0b12e00a78 Mon Sep 17 00:00:00 2001 From: Lexy2 <38648992+Lexy2@users.noreply.github.com> Date: Wed, 20 Feb 2019 12:20:01 +0300 Subject: [PATCH 02/21] Update bitlocker-how-to-enable-network-unlock.md - Corrected certificate store name from FVENKP to FVE_NKP - Added the requirement to reboot the clients after applying the policy - Added the requirement for the clients to have a TPM protector - Removed duplicate steps of adding a TPM protector (require TPM+PIN vs allow TPM+PIN) - Fixed linking within the document --- .../bitlocker-how-to-enable-network-unlock.md | 59 +++++++++---------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md b/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md index 4643595543..8d2dd4d8dc 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md +++ b/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md @@ -7,7 +7,7 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security author: brianlic-msft -ms.date: 06/18/2018 +ms.date: 02/20/2019 --- # BitLocker: How to enable Network Unlock @@ -39,6 +39,7 @@ Network Unlock must meet mandatory hardware and software requirements before the - You must be running at least Windows 8 or Windows Server 2012. - Any supported operating system with UEFI DHCP drivers can be Network Unlock clients. +- Network Unlock clients must have a TPM chip and at least one TPM protector. - A server running the Windows Deployment Services (WDS) role on any supported server operating system. - BitLocker Network Unlock optional feature installed on any supported server operating system. - A DHCP server, separate from the WDS server. @@ -83,7 +84,7 @@ The server side configuration to enable Network Unlock also requires provisionin The following steps allow an administrator to configure Network Unlock in a domain where the Domain Functional Level is at least Windows Server 2012. -### Install the WDS Server role +### Install the WDS Server role The BitLocker Network Unlock feature will install the WDS role if it is not already installed. If you want to install it separately before you install BitLocker Network Unlock you can use Server Manager or Windows PowerShell. To install the role using Server Manager, select the **Windows Deployment Services** role in Server Manager. @@ -95,7 +96,7 @@ Install-WindowsFeature WDS-Deployment You must configure the WDS server so that it can communicate with DHCP (and optionally Active Directory Doman Services) and the client computer. You can do using the WDS management tool, wdsmgmt.msc, which starts the Windows Deployment Services Configuration Wizard. -### Confirm the WDS Service is running +### Confirm the WDS Service is running To confirm the WDS service is running, use the Services Management Console or Windows PowerShell. To confirm the service is running in Services Management Console, open the console using **services.msc** and check the status of the Windows Deployment Services service. @@ -104,7 +105,7 @@ To confirm the service is running using Windows PowerShell, use the following co ``` syntax Get-Service WDSServer ``` -### Install the Network Unlock feature +### Install the Network Unlock feature To install the Network Unlock feature, use Server Manager or Windows PowerShell. To install the feature using Server Manager, select the **BitLocker Network Unlock** feature in the Server Manager console. @@ -113,7 +114,7 @@ To install the feature using Windows PowerShell, use the following command: ``` syntax Install-WindowsFeature BitLocker-NetworkUnlock ``` -### Create the certificate template for Network Unlock +### Create the certificate template for Network Unlock A properly configured Active Directory Services Certification Authority can use this certificate template to create and issue Network Unlock certificates. @@ -143,7 +144,7 @@ To add the Network Unlock template to the Certification Authority, open the Cert After adding the Network Unlock template to the Certification Authority, this certificate can be used to configure BitLocker Network Unlock. -### Create the Network Unlock certificate +### Create the Network Unlock certificate Network Unlock can use imported certificates from an existing PKI infrastructure, or you can use a self-signed certificate. @@ -214,7 +215,7 @@ Certreq example: 5. Launch Certificates - Local Machine by running **certlm.msc**. 6. Create a .pfx file by opening the **Certificates – Local Computer\\Personal\\Certificates** path in the navigation pane, right-clicking the previously imported certificate, selecting **All Tasks**, then **Export**. Follow through the wizard to create the .pfx file. -### Deploy the private key and certificate to the WDS server +### Deploy the private key and certificate to the WDS server With the certificate and key created, deploy them to the infrastructure to properly unlock systems. To deploy the certificates, do the following: @@ -230,7 +231,7 @@ With certificate and key deployed to the WDS server for Network Unlock, the fina The following steps describe how to enable the Group Policy setting that is a requirement for configuring Network Unlock. 1. Open Group Policy Management Console (gpmc.msc). -2. Enable the policy **Require additional authentication at startup** and select the **Require startup PIN with TPM** option. +2. Enable the policy **Require additional authentication at startup** and select the **Require startup PIN with TPM** or **Allow startup PIN with TPM** option. 3. Turn on BitLocker with TPM+PIN protectors on all domain-joined computers. The following steps describe how to deploy the required Group Policy setting: @@ -247,15 +248,10 @@ The following steps describe how to deploy the required Group Policy setting: 3. Follow the wizard steps and import the .cer file that was copied earlier. >**Note:**  Only one network unlock certificate can be available at a time. If a new certificate is required, delete the current certificate before deploying a new one. The Network Unlock certificate is located in the **HKEY\_LOCAL\_MACHINE\\Software\\Policies\\Microsoft\\SystemCertificates\\FVE\_NKP** key on the client computer. + +5. Reboot the clients after deploying the group policy. +>**Note:** The **Network (Certificate Based)** protector will be added only after a reboot with the policy enabled and a valid certificate present in the FVE_NKP store.   -### Require TPM+PIN protectors at startup - -An additional step is for enterprises to use TPM+PIN protectors for an extra level of security. To require TPM+PIN protectors in an environment, do the following: - -1. Open Group Policy Management Console (gpmc.msc). -2. Enable the policy **Require additional authentication at startup** and select the **Require startup PIN with TPM** option. -3. Turn on BitLocker with TPM+PIN protectors on all domain-joined computers. - ### Subnet policy configuration files on WDS Server (Optional) By default, all clients with the correct Network Unlock Certificate and valid Network Unlock protectors that have wired access to a Network Unlock-enabled WDS server via DHCP are unlocked by the server. A subnet policy configuration file on the WDS server can be created to limit which subnet(s) Network Unlock clients can use to unlock. @@ -285,13 +281,13 @@ The subnet policy configuration file must use a “\[SUBNETS\]” section to ide To disallow the use of a certificate altogether, its subnet list may contain the line “DISABLED". -## Turning off Network Unlock +## Turning off Network Unlock To turn off the unlock server, the PXE provider can be unregistered from the WDS server or uninstalled altogether. However, to stop clients from creating Network Unlock protectors the **Allow Network Unlock at startup** Group Policy setting should be disabled. When this policy setting is updated to disabled on client computers any Network Unlock key protectors on the computer will be deleted. Alternatively, the BitLocker Network Unlock certificate policy can be deleted on the domain controller to accomplish the same task for an entire domain. ->**Note:**  Removing the FVENKP certificate store that contains the Network Unlock certificate and key on the WDS server will also effectively disable the server’s ability to respond to unlock requests for that certificate. However, this is seen as an error condition and is not a supported or recommended method for turning off the Network Unlock server. +>**Note:**  Removing the FVE_NKP certificate store that contains the Network Unlock certificate and key on the WDS server will also effectively disable the server’s ability to respond to unlock requests for that certificate. However, this is seen as an error condition and is not a supported or recommended method for turning off the Network Unlock server.   -## Update Network Unlock certificates +## Update Network Unlock certificates To update the certificates used by Network Unlock, administrators need to import or generate the new certificate for the server and then update the Network Unlock certificate Group Policy setting on the domain controller. @@ -302,12 +298,13 @@ Troubleshooting Network Unlock issues begins by verifying the environment. Many - Verify client hardware is UEFI-based and is on firmware version is 2.3.1 and that the UEFI firmware is in native mode without a Compatibility Support Module (CSM) for BIOS mode enabled. Do this by checking that the firmware does not have an option enabled such as "Legacy mode" or "Compatibility mode" or that the firmware does not appear to be in a BIOS-like mode. - All required roles and services are installed and started - Public and private certificates have been published and are in the proper certificate containers. The presence of the Network Unlock certificate can be verified in the Microsoft Management Console (MMC.exe) on the WDS server with the certificate snap-ins for the local computer enabled. The client certificate can be verified by checking the registry key **HKEY\_LOCAL\_MACHINE\\Software\\Policies\\Microsoft\\SystemCertificates\\FVE\_NKP** on the client computer. -- Group policy for Network Unlock is enabled and linked to the appropriate domains +- Group policy for Network Unlock is enabled and linked to the appropriate domains. - Verify group policy is reaching the clients properly. This can be done using the GPRESULT.exe or RSOP.msc utilities. +- Verify the clients were rebooted after applying the policy. - Verify the **Network (Certificate Based)** protector is listed on the client. This can be done using either manage-bde or Windows PowerShell cmdlets. For example the following command will list the key protectors currently configured on the C: drive of the lcoal computer: ``` syntax - Manage-bde –protectors –get C: + manage-bde –protectors –get C: ``` >**Note:**  Use the output of manage-bde along with the WDS debug log to determine if the proper certificate thumbprint is being used for Network Unlock   @@ -343,14 +340,14 @@ Network Unlock and the accompanying Group Policy settings were introduced in Win The following steps can be used to configure Network Unlock on these older systems. -1. [Step One: Install the WDS Server role](#bkmk-stepone) -2. [Step Two: Confirm the WDS Service is running](#bkmk-steptwo) -3. [Step Three: Install the Network Unlock feature](#bkmk-stepthree) -4. [Step Four: Create the Network Unlock certificate](#bkmk-stepfour) -5. [Step Five: Deploy the private key and certificate to the WDS server](#bkmk-stepfive) -6. [Step Six: Configure registry settings for Network Unlock](#bkmk-stepsix) +1. [Install the WDS Server role](#bkmk-installwdsrole) +2. [Confirm the WDS Service is running](#bkmk-confirmwdsrunning) +3. [Install the Network Unlock feature](#bkmk-installnufeature) +4. [Create the Network Unlock certificate](bkmk-createcert) +5. [Deploy the private key and certificate to the WDS server](#bkmk-deploycert) +6. Configure registry settings for Network Unlock: - Apply the registry settings by running the following certutil script on each computer running any of the client operating systems designated in the **Applies To** list at the beginning of this topic. + Apply the registry settings by running the following certutil script (assuming your network unlock certificate file is called **BitLocker-NetworkUnlock.cer**) on each computer running any of the client operating systems designated in the **Applies To** list at the beginning of this topic. certutil -f -grouppolicy -addstore FVE_NKP BitLocker-NetworkUnlock.cer reg add "HKLM\SOFTWARE\Policies\Microsoft\FVE" /v OSManageNKP /t REG_DWORD /d 1 /f @@ -361,10 +358,8 @@ The following steps can be used to configure Network Unlock on these older syste reg add "HKLM\SOFTWARE\Policies\Microsoft\FVE" /v UseTPMKey /t REG_DWORD /d 2 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\FVE" /v UseTPMKeyPIN /t REG_DWORD /d 2 /f -7. [Create the Network Unlock certificate](#bkmk-stepfour) -8. [Deploy the private key and certificate to the WDS server](#bkmk-stepfive) -9. [Create the certificate template for Network Unlock](#bkmk-createcerttmpl) -10. [Require TPM+PIN protectors at startup](#bkmk-stepseven) +7. Set up a TPM protector on the clients +8. Reboot the clients to add the Network (Certificate Based) protector ## See also From ca76cf634e94beb72ad526124dbefe46dcf3dbad Mon Sep 17 00:00:00 2001 From: Alexander Dale Date: Wed, 20 Feb 2019 10:30:42 -0800 Subject: [PATCH 03/21] Initial push, will need lots of formatting --- ...sed-root-of-trust-helps-protect-windows.md | 6 +- .../images/system-guard-secure-launch.png | Bin 63190 -> 90167 bytes ...-guard-secure-launch-and-smm-protection.md | 67 ++++++++++++++++-- 3 files changed, 65 insertions(+), 8 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows.md b/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows.md index 7531187507..03fbaffd0c 100644 --- a/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows.md +++ b/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows.md @@ -37,7 +37,7 @@ As there are thousands of PC vendors that produce numerous models with different Two techniques exist to establish trust here—either maintain a list of known 'bad' SRTM measurements (also known as a blacklist), or a list of known 'good' SRTM measurements (also known as a whitelist). Each option has a drawback: -- A list of known 'bad' SRTM measurements allows a hacker to change just 1 bit in a component to create an entirely new SRTM hash that needs to be listed. +- A list of known 'bad' SRTM measurements allows a hacker to change just 1 bit in a component to create an entirely new SRTM hash that needs to be listed. This means that the SRTM flow is inherently brittle - a minor change can invalidate the entire chain of trust. - A list of known 'good' SRTM measurements requires each new BIOS/PC combination measurement to be carefully added, which is slow. In addition, a bug fix for UEFI code can take a long time to design, build, retest, validate, and redeploy. @@ -56,7 +56,7 @@ Secure Launch simplifies management of SRTM measurements because the launch code System Management Mode (SMM) is a special-purpose CPU mode in x86 microcontrollers that handles power management, hardware configuration, thermal monitoring, and anything else the manufacturer deems useful. Whenever one of these system operations is requested, a non-maskable interrupt (SMI) is invoked at runtime, which executes SMM code installed by the BIOS. -SMM code executes in the highest privilege level and is invisible to the OS, which makes it an attractive target for malicious activity. Even if DRTM is used to late launch, SMM code can potentially access hypervisor memory and change the hypervisor. +SMM code executes in the highest privilege level and is invisible to the OS, which makes it an attractive target for malicious activity. Even if System Guard Secure Launch is used to late launch, SMM code can potentially access hypervisor memory and change the hypervisor. To defend against this, two techniques are used: 1. Paging protection to prevent inappropriate access to code and data @@ -74,7 +74,7 @@ In the future, Windows 10 will also measure this SMI Handler’s behavior and at While Windows Defender System Guard provides advanced protection that will help protect and maintain the integrity of the platform during boot and at run time, the reality is that we must apply an "assume breach" mentality to even our most sophisticated security technologies. We should be able to trust that the technologies are successfully doing their jobs, but we also need the ability to verify that they were successful in achieving their goals. When it comes to platform integrity, we can’t just trust the platform, which potentially could be compromised, to self-attest to its security state. So Windows Defender System Guard includes a series of technologies that enable remote analysis of the device’s integrity. -As Windows 10 boots, a series of integrity measurements are taken by Windows Defender System Guard using the device’s Trusted Platform Module 2.0 (TPM 2.0). This process and data are hardware-isolated away from Windows to help ensure that the measurement data is not subject to the type of tampering that could happen if the platform was compromised. From here, the measurements can be used to determine the integrity of the device’s firmware, hardware configuration state, and Windows boot-related components, just to name a few. +As Windows 10 boots, a series of integrity measurements are taken by Windows Defender System Guard using the device’s Trusted Platform Module 2.0 (TPM 2.0). System Guard Secure Launch will not support earlier TPM versions, such as TPM 1.2. This process and data are hardware-isolated away from Windows to help ensure that the measurement data is not subject to the type of tampering that could happen if the platform was compromised. From here, the measurements can be used to determine the integrity of the device’s firmware, hardware configuration state, and Windows boot-related components, just to name a few. ![Boot time integrity](images/windows-defender-system-guard-boot-time-integrity.png) diff --git a/windows/security/threat-protection/windows-defender-system-guard/images/system-guard-secure-launch.png b/windows/security/threat-protection/windows-defender-system-guard/images/system-guard-secure-launch.png index 8707d0fba41e8fffc693ad406d4e646c27308097..b8167afbdc2538b7ba354e0ee2bf0b4297699d9c 100644 GIT binary patch literal 90167 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/({ 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 literal 63190 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 Wrem|1zqQ>VHK?m **Settings** > **Update & Security** > **Windows Security** > **Open Windows Security** > **Device security** > **Core isolation** > **Firmware protection**. -![Secure Launch Security App](images/secure-launch-security-app.png) +![Windows Security Center](images/secure-launch-security-app.png) ### Registry @@ -55,12 +55,69 @@ Click **Start** > **Settings** > **Update & Security** > **Windows Security** > To verify that Secure Launch is running, use System Information (MSInfo32). Click **Start**, search for **System Information**, and look under **Virtualization-based Security Services Running** and **Virtualization-based Security Services Configured**. -![Secure Launch Security App](images/secure-launch-msinfo.png) +![Windows Security Center](images/secure-launch-msinfo.png) +>[!NOTE] +>To enable System Guard Secure launch, the platform must meet all the baseline requirements for [Device Guard](https://docs.microsoft.com/en-us/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control), [Credential Guard](https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-requirements), and [Virtualization Based Security](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). +## For Intel vPro processors starting with Intel Coffeelake, Whiskeylake, or later silicon requirements +Your environment needs the following hardware to run System Guard Secure Launch. +|Intel Hardware requirement|Description| +|--------|-----------| +|64-bit CPU|A 64-bit computer with minimum 4 cores (logical processors) is required for hypervisor and virtualization-based security (VBS). For more info about Hyper-V, see [Hyper-V on Windows Server 2016](https://docs.microsoft.com/windows-server/virtualization/hyper-v/hyper-v-on-windows-server) or [Introduction to Hyper-V on Windows 10](https://docs.microsoft.com/virtualization/hyper-v-on-windows/about/). For more info about hypervisor, see [Hypervisor Specifications](https://docs.microsoft.com/virtualization/hyper-v-on-windows/reference/tlfs).| +|Trusted Platform Module (TPM) 2.0|Platforms must support a discrete TPM 2.0. Integrated/firmware TPMs are not supported.| +|Windows DMA Protection|Platforms must meet the Windows DMA Protection Specification (all external DMA ports must be off by default until the OS explicitly powers them)| +|SMM communication buffers| All SMM communication buffers must be implemented in EfiRuntimeServicesData ,EfiRuntimeServicesCode , EfiACPIMemoryNVS, or EfiReservedMemoryType memory types. | +|SMM Page Tables| Must NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory),
NOT contain any mappings to code sections within EfiRuntimeServicesCode,
NOT have execute and write permissions for the same page
Platforms must allow ONLY that TSEG pages can be marked executable and the memory map must report TSEG EfiReservedMemoryType
BIOS SMI handler must be implemented such that SMM page tables are locked on every SMM entry | +|Modern/Connected Standby|Platforms must support Modern/Connected Standby| +|TPM AUX Index|Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256) +Platforms must set up a PS (Platform Supplier) index with:
+Exactly the TXT PS2 style Attributes on creation as follows:
+AuthWrite
+PolicyDelete
+WriteLocked
+ +WriteDefine
+ +AuthRead
+ +NoDa
+ +Written
+ +PlatformCreate
+ +A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
+ +Size of exactly 70 bytes
+ +NameAlg = SHA256
+ +In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch. + +PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00 | +|AUX Policy|The required AUX policy must be as follows:
A = TPM2_PolicyLocality (Locality 3 & Locality 4)
+ +B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
+ +authPolicy = {A} OR {{A} AND {B}}
+ +authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24 | +|Platform firmware|Platform firmware must carry all code required to execute an Intel Trusted Execution Technology secure launch:
+ +Intel SINIT ACM must be carried in the OEM BIOS
+ +Platforms must ship with a production ACM signed by the correct production Intel ACM signer for the platform | +|System firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update | +## Software requirements +Your environment needs the following software to run Windows Defender Application Guard. + +|Software|Description| +|--------|-----------| +|Operating system|Windows 10 Enterprise edition, version 1709 or higher
Windows 10 Professional edition, version 1803| \ No newline at end of file From bf8dfaaf4bd5f60d2fc5fef1673ce047b1cb5d85 Mon Sep 17 00:00:00 2001 From: Alexander Dale Date: Wed, 20 Feb 2019 11:02:28 -0800 Subject: [PATCH 04/21] Fix table a bit --- ...-guard-secure-launch-and-smm-protection.md | 56 +++---------------- 1 file changed, 8 insertions(+), 48 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md b/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md index 1bcaf4a60e..ae8ce4ba94 100644 --- a/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md +++ b/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md @@ -60,61 +60,21 @@ To verify that Secure Launch is running, use System Information (MSInfo32). Clic >[!NOTE] >To enable System Guard Secure launch, the platform must meet all the baseline requirements for [Device Guard](https://docs.microsoft.com/en-us/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control), [Credential Guard](https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-requirements), and [Virtualization Based Security](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity). -## For Intel vPro processors starting with Intel Coffeelake, Whiskeylake, or later silicon requirements +## Requirements Your environment needs the following hardware to run System Guard Secure Launch. -|Intel Hardware requirement|Description| +|For Intel vPro processors starting with Intel Coffeelake, Whiskeylake, or later silicon requirements|Description| |--------|-----------| |64-bit CPU|A 64-bit computer with minimum 4 cores (logical processors) is required for hypervisor and virtualization-based security (VBS). For more info about Hyper-V, see [Hyper-V on Windows Server 2016](https://docs.microsoft.com/windows-server/virtualization/hyper-v/hyper-v-on-windows-server) or [Introduction to Hyper-V on Windows 10](https://docs.microsoft.com/virtualization/hyper-v-on-windows/about/). For more info about hypervisor, see [Hypervisor Specifications](https://docs.microsoft.com/virtualization/hyper-v-on-windows/reference/tlfs).| |Trusted Platform Module (TPM) 2.0|Platforms must support a discrete TPM 2.0. Integrated/firmware TPMs are not supported.| |Windows DMA Protection|Platforms must meet the Windows DMA Protection Specification (all external DMA ports must be off by default until the OS explicitly powers them)| |SMM communication buffers| All SMM communication buffers must be implemented in EfiRuntimeServicesData ,EfiRuntimeServicesCode , EfiACPIMemoryNVS, or EfiReservedMemoryType memory types. | -|SMM Page Tables| Must NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory),
NOT contain any mappings to code sections within EfiRuntimeServicesCode,
NOT have execute and write permissions for the same page
Platforms must allow ONLY that TSEG pages can be marked executable and the memory map must report TSEG EfiReservedMemoryType
BIOS SMI handler must be implemented such that SMM page tables are locked on every SMM entry | -|Modern/Connected Standby|Platforms must support Modern/Connected Standby| -|TPM AUX Index|Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256) - -Platforms must set up a PS (Platform Supplier) index with:
- -Exactly the TXT PS2 style Attributes on creation as follows:
- -AuthWrite
- -PolicyDelete
- -WriteLocked
- -WriteDefine
- -AuthRead
- -NoDa
- -Written
- -PlatformCreate
- -A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
- -Size of exactly 70 bytes
- -NameAlg = SHA256
- -In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch. - -PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00 | -|AUX Policy|The required AUX policy must be as follows:
A = TPM2_PolicyLocality (Locality 3 & Locality 4)
- -B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
- -authPolicy = {A} OR {{A} AND {B}}
- -authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24 | -|Platform firmware|Platform firmware must carry all code required to execute an Intel Trusted Execution Technology secure launch:
- -Intel SINIT ACM must be carried in the OEM BIOS
- -Platforms must ship with a production ACM signed by the correct production Intel ACM signer for the platform | -|System firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update | +|SMM Page Tables| Must NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory).
Must NOT contain any mappings to code sections within EfiRuntimeServicesCode.
Must NOT have execute and write permissions for the same page
Must allow ONLY that TSEG pages can be marked executable and the memory map must report TSEG EfiReservedMemoryType.
BIOS SMI handler must be implemented such that SMM page tables are locked on every SMM entry. | +|Modern/Connected Standby|Platforms must support Modern/Connected Standby.| +|TPM AUX Index|Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256)
Platforms must set up a PS (Platform Supplier) index with:
  • Exactly the TXT PS2 style Attributes on creation as follows:
    • AuthWrite
    • PolicyDelete
    • WriteLocked
    • WriteDefine
    • AuthRead
    • WriteDefine
    • NoDa
    • Written
    • PlatformCreate
  • A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
  • Size of exactly 70 bytes
  • NameAlg = SHA256
  • In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch.
PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00 | +|AUX Policy|The required AUX policy must be as follows:
  • A = TPM2_PolicyLocality (Locality 3 & Locality 4)
  • B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
  • authPolicy = {A} OR {{A} AND {B}}
  • authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24
| +|Platform firmware|Platform firmware must carry all code required to execute an Intel Trusted Execution Technology secure launch:
  • Intel SINIT ACM must be carried in the OEM BIOS
  • Platforms must ship with a production ACM signed by the correct production Intel ACM signer for the platform
| +|System firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | ## Software requirements Your environment needs the following software to run Windows Defender Application Guard. From 9e5b72e986dcfee005edba5f5b30e0ddf80b363f Mon Sep 17 00:00:00 2001 From: Alexander Dale Date: Wed, 20 Feb 2019 13:26:07 -0800 Subject: [PATCH 05/21] Fix table --- ...-guard-secure-launch-and-smm-protection.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md b/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md index ae8ce4ba94..f261ef363b 100644 --- a/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md +++ b/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection.md @@ -63,21 +63,23 @@ To verify that Secure Launch is running, use System Information (MSInfo32). Clic ## Requirements Your environment needs the following hardware to run System Guard Secure Launch. -|For Intel vPro processors starting with Intel Coffeelake, Whiskeylake, or later silicon requirements|Description| +|For Intel® vPro™ processors starting with Intel® Coffeelake, Whiskeylake, or later silicon requirements|Description| |--------|-----------| |64-bit CPU|A 64-bit computer with minimum 4 cores (logical processors) is required for hypervisor and virtualization-based security (VBS). For more info about Hyper-V, see [Hyper-V on Windows Server 2016](https://docs.microsoft.com/windows-server/virtualization/hyper-v/hyper-v-on-windows-server) or [Introduction to Hyper-V on Windows 10](https://docs.microsoft.com/virtualization/hyper-v-on-windows/about/). For more info about hypervisor, see [Hypervisor Specifications](https://docs.microsoft.com/virtualization/hyper-v-on-windows/reference/tlfs).| |Trusted Platform Module (TPM) 2.0|Platforms must support a discrete TPM 2.0. Integrated/firmware TPMs are not supported.| -|Windows DMA Protection|Platforms must meet the Windows DMA Protection Specification (all external DMA ports must be off by default until the OS explicitly powers them)| +|Windows DMA Protection|Platforms must meet the Windows DMA Protection Specification (all external DMA ports must be off by default until the OS explicitly powers them).| |SMM communication buffers| All SMM communication buffers must be implemented in EfiRuntimeServicesData ,EfiRuntimeServicesCode , EfiACPIMemoryNVS, or EfiReservedMemoryType memory types. | |SMM Page Tables| Must NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory).
Must NOT contain any mappings to code sections within EfiRuntimeServicesCode.
Must NOT have execute and write permissions for the same page
Must allow ONLY that TSEG pages can be marked executable and the memory map must report TSEG EfiReservedMemoryType.
BIOS SMI handler must be implemented such that SMM page tables are locked on every SMM entry. | |Modern/Connected Standby|Platforms must support Modern/Connected Standby.| -|TPM AUX Index|Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256)
Platforms must set up a PS (Platform Supplier) index with:
  • Exactly the TXT PS2 style Attributes on creation as follows:
    • AuthWrite
    • PolicyDelete
    • WriteLocked
    • WriteDefine
    • AuthRead
    • WriteDefine
    • NoDa
    • Written
    • PlatformCreate
  • A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
  • Size of exactly 70 bytes
  • NameAlg = SHA256
  • In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch.
PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00 | +|TPM AUX Index|Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256)
Platforms must set up a PS (Platform Supplier) index with:
  • Exactly the "TXT PS2" style Attributes on creation as follows:
    • AuthWrite
    • PolicyDelete
    • WriteLocked
    • WriteDefine
    • AuthRead
    • WriteDefine
    • NoDa
    • Written
    • PlatformCreate
  • A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
  • Size of exactly 70 bytes
  • NameAlg = SHA256
  • In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch.
PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00 | |AUX Policy|The required AUX policy must be as follows:
  • A = TPM2_PolicyLocality (Locality 3 & Locality 4)
  • B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
  • authPolicy = {A} OR {{A} AND {B}}
  • authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24
| -|Platform firmware|Platform firmware must carry all code required to execute an Intel Trusted Execution Technology secure launch:
  • Intel SINIT ACM must be carried in the OEM BIOS
  • Platforms must ship with a production ACM signed by the correct production Intel ACM signer for the platform
| -|System firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | -## Software requirements -Your environment needs the following software to run Windows Defender Application Guard. +|Platform firmware|Platform firmware must carry all code required to execute an Intel® Trusted Execution Technology secure launch:
  • Intel® SINIT ACM must be carried in the OEM BIOS
  • Platforms must ship with a production ACM signed by the correct production Intel® ACM signer for the platform
| +|Platform firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | -|Software|Description| +|For Qualcomm® processors with SD850 or later chipsets|Description| |--------|-----------| -|Operating system|Windows 10 Enterprise edition, version 1709 or higher
Windows 10 Professional edition, version 1803| \ No newline at end of file +|Monitor Mode Communication|All Monitor Mode communication buffers must be implemented in either EfiRuntimeServicesData (recommended), data sections of EfiRuntimeServicesCode as described by the Memory Attributes Table, EfiACPIMemoryNVS, or EfiReservedMemoryType memory types| +|Monitor Mode Page Tables|All Monitor Mode page tables must:
  • NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory)
  • They must NOT have execute and write permissions for the same page
  • Platforms must only allow Monitor Mode pages marked as executable
  • The memory map must report Monitor Mode as EfiReservedMemoryType
  • Platforms must provide mechanism to protect the Monitor Mode page tables from modification
| +|Modern/Connected Standby|Platforms must support Modern/Connected Standby.| +|Platform firmware|Platform firmware must carry all code required to perform a launch.| +|Platform firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | From a5fe41f3bc0120518eed39e86d3b278da19e5576 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:13:45 -0800 Subject: [PATCH 06/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md added surface go with lte and formatting changes --- ...irmware-and-drivers-for-surface-devices.md | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 1d736b1ece..9ef498cb51 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -27,31 +27,33 @@ Driver and firmware updates for Surface devices are **cumulative updates** which Installation files for administrative tools, drivers for accessories, and updates for Windows are also available for some devices and are detailed here in this article. >[!NOTE] ->To simplify the process of locating drivers for your device, downloads for Surface devices have been reorganized to separate pages for each model. Bookmark the Microsoft Download Center page for your device from the links provided on this page. Many of the filenames contain a placeholder denoted with *xxxxxx*, which identifies the current version number or date of the file. +>Many of the filenames contain a placeholder denoted with *xxxxxx*, which identifies the current version number or date of the file.   -Recent additions to the downloads for Surface devices provide you with options to install Windows 10 on your Surface devices and update LTE devices with the latest Windows 10 drivers and firmware. - - - >[!NOTE] >A battery charge of 40% or greater is required before you install firmware to a Surface device. See [Microsoft Support article KB2909710](https://go.microsoft.com/fwlink/p/?LinkId=618106) for more information. ## Surface Laptop 2 Download the following updates for [Surface Laptop 2 from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57515). -* SurfaceLaptop2_Win10_XXXXX_XXXXXXX_X.msi – Cumulative firmware and driver update package for Windows 10 +* SurfaceLaptop2_Win10_xxxxx_xxxxxxx_x.msi – Cumulative firmware and driver update package for Windows 10 ## Surface Pro 6 Download the following updates for [Surface Pro 6 from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57514). -* SurfacePro6_Win10_XXXXX_XXXXXXX_X.msi – Cumulative firmware and driver update package for Windows 10 +* SurfacePro6_Win10_xxxxx_xxxxxxx_x.msi – Cumulative firmware and driver update package for Windows 10 -## Surface GO +## Surface Go Download the following updates for [Surface GO from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57439). -* SurfaceGO_Win10_17134_1802010_6.msi - Cumulative firmware and driver update package for Windows 10 +* SurfaceGO_Win10_xxxxx_xxxxxxx_x.msi - Cumulative firmware and driver update package for Windows 10 + +## Surface Go with LTE Advanced + +Download the following updates for [Surface GO with LTE Advanced from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57601). + +* SurfaceGo_Win10_xxxxx_xxxxxxx_LTE_1.msi - Cumulative firmware and driver update package for Windows 10 including optional WinTab drivers. ## Surface Book 2 @@ -79,7 +81,7 @@ Download the following updates for [Surface Pro with LTE Advanced from the Micro Download the following updates for [Surface Pro 6 from the Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=57514). -* SurfacePro6_Win10_17134_xxxxx_xxxxxx.msi +* SurfacePro6_Win10_xxxxx_xxxxxxx_x.msi ## Surface Studio From 46cb46ccdbb0ad169d38c912c9b2cc3d8c774bdd Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:36:52 -0800 Subject: [PATCH 07/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md combined notes --- ...y-the-latest-firmware-and-drivers-for-surface-devices.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 9ef498cb51..94d8bd322d 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -27,11 +27,7 @@ Driver and firmware updates for Surface devices are **cumulative updates** which Installation files for administrative tools, drivers for accessories, and updates for Windows are also available for some devices and are detailed here in this article. >[!NOTE] ->Many of the filenames contain a placeholder denoted with *xxxxxx*, which identifies the current version number or date of the file. -  - ->[!NOTE] ->A battery charge of 40% or greater is required before you install firmware to a Surface device. See [Microsoft Support article KB2909710](https://go.microsoft.com/fwlink/p/?LinkId=618106) for more information. +>Many of the filenames contain a placeholder denoted with *xxxxxx*, which identifies the current version number or date of the file. A battery charge of 40 percent or greater is required before you install firmware to a Surface device. See [Microsoft Support article KB2909710](https://go.microsoft.com/fwlink/p/?LinkId=618106) for more information. ## Surface Laptop 2 From f83f6e19fd5096c576ac8ce851837ec1453ec120 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:38:52 -0800 Subject: [PATCH 08/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md --- ...loy-the-latest-firmware-and-drivers-for-surface-devices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 94d8bd322d..45c5f0afc6 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -42,12 +42,12 @@ Download the following updates for [Surface Pro 6 from the Microsoft Download Ce ## Surface Go -Download the following updates for [Surface GO from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57439). +Download the following updates for [Surface Go from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57439). * SurfaceGO_Win10_xxxxx_xxxxxxx_x.msi - Cumulative firmware and driver update package for Windows 10 ## Surface Go with LTE Advanced -Download the following updates for [Surface GO with LTE Advanced from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57601). +Download the following updates for [Surface Go with LTE Advanced from the Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=57601). * SurfaceGo_Win10_xxxxx_xxxxxxx_LTE_1.msi - Cumulative firmware and driver update package for Windows 10 including optional WinTab drivers. From 75a32b9cca65e9bbd596db10bf088fac3a774590 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:45:40 -0800 Subject: [PATCH 09/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md --- ...eploy-the-latest-firmware-and-drivers-for-surface-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 45c5f0afc6..0ef51f7bc4 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -27,7 +27,7 @@ Driver and firmware updates for Surface devices are **cumulative updates** which Installation files for administrative tools, drivers for accessories, and updates for Windows are also available for some devices and are detailed here in this article. >[!NOTE] ->Many of the filenames contain a placeholder denoted with *xxxxxx*, which identifies the current version number or date of the file. A battery charge of 40 percent or greater is required before you install firmware to a Surface device. See [Microsoft Support article KB2909710](https://go.microsoft.com/fwlink/p/?LinkId=618106) for more information. +>Many of the filenames contain a placeholder denoted with *xxxxxx*, representing the latest version number listed in the Microsoft Download Center. A battery charge of 40 percent or greater is required before you install firmware to a Surface device. See [Microsoft Support article KB2909710](https://go.microsoft.com/fwlink/p/?LinkId=618106) for more information. ## Surface Laptop 2 From f71b7461ae79936ccc08d206a0c5a1eba29fc6b7 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:52:17 -0800 Subject: [PATCH 10/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md minor edits --- ...eploy-the-latest-firmware-and-drivers-for-surface-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 0ef51f7bc4..88eed714d0 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -18,7 +18,7 @@ ms.topic: article This article provides a list of the available downloads for Surface devices and links to download the drivers and firmware for your device. -As easy as it is to keep Surface device drivers and firmware up to date automatically with Windows Update, it is sometimes necessary to download and install updates manually, such as during a Windows deployment. For any situation where you need to install drivers and firmware separately from Windows Update, you can find the files available for download at the Microsoft Download Center. +Although Surface devices are typically updated with the latest device drivers and firmware via Windows Update, sometimes it's necessary to download and install updates manually, such as during a Windows deployment. If you need to install drivers and firmware separately from Windows Update, you can find the files available for download at the Microsoft Download Center. On the Microsoft Download Center page for your device, you will find several files available. These files allow you to deploy drivers and firmware in various ways. You can read more about the different deployment methods for Surface drivers and firmware in [Manage Surface driver and firmware updates](manage-surface-pro-3-firmware-updates.md). From 95c3adc83a549b291af34066d45dd6a32bcf413c Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 17:53:33 -0800 Subject: [PATCH 11/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md --- ...eploy-the-latest-firmware-and-drivers-for-surface-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 88eed714d0..07dcf17f0f 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -18,7 +18,7 @@ ms.topic: article This article provides a list of the available downloads for Surface devices and links to download the drivers and firmware for your device. -Although Surface devices are typically updated with the latest device drivers and firmware via Windows Update, sometimes it's necessary to download and install updates manually, such as during a Windows deployment. If you need to install drivers and firmware separately from Windows Update, you can find the files available for download at the Microsoft Download Center. +Although Surface devices are typically updated with the latest device drivers and firmware via Windows Update, sometimes it's necessary to download and install updates manually, such as during a Windows deployment. If you need to install drivers and firmware separately from Windows Update, you can find the requisite files on the Microsoft Download Center. On the Microsoft Download Center page for your device, you will find several files available. These files allow you to deploy drivers and firmware in various ways. You can read more about the different deployment methods for Surface drivers and firmware in [Manage Surface driver and firmware updates](manage-surface-pro-3-firmware-updates.md). From 8826a9266826d221cc13145be1782fb9a1290e67 Mon Sep 17 00:00:00 2001 From: John Kaiser <35939694+CoveMiner@users.noreply.github.com> Date: Wed, 20 Feb 2019 19:31:32 -0800 Subject: [PATCH 12/21] Update deploy-the-latest-firmware-and-drivers-for-surface-devices.md --- ...eploy-the-latest-firmware-and-drivers-for-surface-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index 07dcf17f0f..7f519a64e2 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -18,7 +18,7 @@ ms.topic: article This article provides a list of the available downloads for Surface devices and links to download the drivers and firmware for your device. -Although Surface devices are typically updated with the latest device drivers and firmware via Windows Update, sometimes it's necessary to download and install updates manually, such as during a Windows deployment. If you need to install drivers and firmware separately from Windows Update, you can find the requisite files on the Microsoft Download Center. +Although Surface devices are typically automatically updated with the latest device drivers and firmware via Windows Update, sometimes it's necessary to download and install updates manually, such as during a Windows deployment. If you need to install drivers and firmware separately from Windows Update, you can find the requisite files on the Microsoft Download Center. On the Microsoft Download Center page for your device, you will find several files available. These files allow you to deploy drivers and firmware in various ways. You can read more about the different deployment methods for Surface drivers and firmware in [Manage Surface driver and firmware updates](manage-surface-pro-3-firmware-updates.md). From c3ae78127b7f707ea2f711f1d9546bb883015195 Mon Sep 17 00:00:00 2001 From: andreiztm Date: Thu, 21 Feb 2019 09:40:30 +0200 Subject: [PATCH 13/21] Adding missing tags and older article that wasn't listed --- windows/deployment/update/windows-as-a-service.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/windows-as-a-service.md b/windows/deployment/update/windows-as-a-service.md index 25472e32ba..ad022440c3 100644 --- a/windows/deployment/update/windows-as-a-service.md +++ b/windows/deployment/update/windows-as-a-service.md @@ -42,13 +42,15 @@ The latest news:
  • Helping customers shift to a modern desktop - September 6, 2018
  • Windows Update for Business & Windows Analytics: a real-world experience - September 5, 2018
  • -
  • What's next for Windows 10 and Windows Server quality updates - August 16, 2018 +
  • What's next for Windows 10 and Windows Server quality updates - August 16, 2018
  • Windows 10 monthly updates - August 1, 2018 (**video**)
  • -
  • Windows 10 update servicing cadence - August 1, 2018 -
  • Windows 10 quality updates explained and the end of delta updates - July 11, 2018 -
  • AI Powers Windows 10 April 2018 Update Rollout - June 14, 2018 -
  • Windows Server 2008 SP2 Servicing Changes - June 12, 2018 -
  • Windows Update for Business - Enhancements, diagnostics, configuration - June 7, 2018 +
  • Windows 10 update servicing cadence - August 1, 2018
  • +
  • Windows 10 quality updates explained and the end of delta updates - July 11, 2018
  • +
  • AI Powers Windows 10 April 2018 Update Rollout - June 14, 2018
  • +
  • Windows Server 2008 SP2 Servicing Changes - June 12, 2018
  • +
  • Windows Update for Business - Enhancements, diagnostics, configuration - June 7, 2018
  • +
  • Windows 10 and the “disappearing” SAC-T - May 31, 2018
  • + [See more news](waas-morenews.md). You can also check out the [Windows 10 blog](https://techcommunity.microsoft.com/t5/Windows-10-Blog/bg-p/Windows10Blog). From 4f9e2c248ba36d62c5025773d8ed21fef00d4ced Mon Sep 17 00:00:00 2001 From: Peter Lewis Date: Thu, 21 Feb 2019 11:53:01 +0000 Subject: [PATCH 14/21] Update blog URL Updated blog URL (https://aka.ms/blog/WindowsAnalytics) --- windows/deployment/upgrade/upgrade-readiness-get-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/upgrade/upgrade-readiness-get-started.md b/windows/deployment/upgrade/upgrade-readiness-get-started.md index af94500571..89b0ca53fe 100644 --- a/windows/deployment/upgrade/upgrade-readiness-get-started.md +++ b/windows/deployment/upgrade/upgrade-readiness-get-started.md @@ -22,7 +22,7 @@ You can use Upgrade Readiness to plan and manage your upgrade project end-to-end Before you begin, consider reviewing the following helpful information:
    - [Upgrade Readiness requirements](upgrade-readiness-requirements.md): Provides detailed requirements to use Upgrade Readiness.
    - - [Upgrade Readiness blog](https://blogs.technet.microsoft.com/UpgradeAnalytics): Contains announcements of new features and provides helpful tips for using Upgrade Readiness. + - [Upgrade Readiness blog](https://aka.ms/blog/WindowsAnalytics): Contains announcements of new features and provides helpful tips for using Upgrade Readiness. >If you are using System Center Configuration Manager, also check out information about how to integrate Upgrade Readiness with Configuration Manager: [Integrate Upgrade Readiness with System Center Configuration Manager](https://docs.microsoft.com/sccm/core/clients/manage/upgrade/upgrade-analytics). From 0b87bb2b96da1c3c48a1099ec92b4135432c4e54 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 21 Feb 2019 09:35:39 -0800 Subject: [PATCH 15/21] Update control-usb-devices-using-intune.md --- .../control-usb-devices-using-intune.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md b/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md index d61268d81f..663f55f8a0 100644 --- a/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md +++ b/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md @@ -8,14 +8,14 @@ ms.pagetype: security ms.localizationpriority: medium ms.author: justinha author: justinha -ms.date: 02/06/2019 +ms.date: 02/21/2019 --- # How to control USB devices and other removable media using Windows Defender ATP **Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) -Windows Defender ATP provides multiple monitoring and control features for USB peripherals to help prevent threats in unauthorized peripherals from compromising your devices: +Microsoft recommends [a layered approach to securing removable media](https://aka.ms/devicecontrolblog), and Windows Defender ATP provides multiple monitoring and control features to help prevent threats in unauthorized peripherals from compromising your devices: 1. [Prevent threats from removable storage](#prevent-threats-from-removable-storage) introduced by removable storage devices by enabling: - [Windows Defender Antivirus real-time protection (RTP)](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus) to scan removable storage for malware. @@ -30,9 +30,9 @@ Windows Defender ATP provides multiple monitoring and control features for USB p - Flexible policy assignment of device installation settings based on an individual or group of Azure Active Directory (Azure AD) users and devices. >[!NOTE] ->These threat reduction measures help prevent malware from coming into your environment. To protect enterprise data from leaving your environment, you can also configure data loss prevention measures. For example, on Windows 10 devices you can configure [BitLocker](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview) and [Windows Information Protection](https://docs.microsoft.com/windows/security/information-protection/windows-information-protection/create-wip-policy-using-intune-azure), which will encrypt company data even if it is stored on a personal device, or use the [Storage/RemovableDiskDenyWriteAccess CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-storage#storage-removablediskdenywriteaccess) to deny write access to removable disks. +>These threat reduction measures help prevent malware from coming into your environment. To protect enterprise data from leaving your environment, you can also configure data loss prevention measures. For example, on Windows 10 devices you can configure [BitLocker](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview) and [Windows Information Protection](https://docs.microsoft.com/windows/security/information-protection/windows-information-protection/create-wip-policy-using-intune-azure), which will encrypt company data even if it is stored on a personal device, or use the [Storage/RemovableDiskDenyWriteAccess CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-storage#storage-removablediskdenywriteaccess) to deny write access to removable disks. Additionally, you can [classify and protect files on Windows devices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-atp/information-protection-in-windows-overview) (including their mounted USB devices) by using Windows Defender ATP and Azure Information Protection. -For more information about controlling USB devices, see the [Microsoft Secure blog "WDATP has protections for USB and removable devices"](https://aka.ms/devicecontrolblog). +For more information about controlling USB devices, see the [Microsoft Secure blog "WDATP has protections for USB and removable devices"]. ## Prevent threats from removable storage @@ -167,11 +167,11 @@ Allowing installation of specific devices requires also enabling [DeviceInstalla ### Prevent installation of specifically prohibited peripherals -Windows Defender ATP also blocks installation and usage of prohibited peripherals either by using **Administrative Templates** or [Device Installation CSP settings](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation) with a custom profile in Intune. +Windows Defender ATP blocks installation and usage of prohibited peripherals by using either of these options: -For more information about using **Administrative Templates**, see [Windows 10 templates to configure Group Policy settings in Microsoft Intune](https://docs.microsoft.com/intune/administrative-templates-windows). +- [Administrative Templates](https://docs.microsoft.com/intune/administrative-templates-windows) +- [Device Installation CSP settings](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation) with a custom profile in Intune. You can [prevent installation of specific device IDs](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventinstallationofmatchingdeviceids) or [prevent specific device classes](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventinstallationofmatchingdevicesetupclasses). -For a SyncML example that prevents installation of specific device IDs, see [DeviceInstallation/PreventInstallationOfMatchingDeviceIDs CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventinstallationofmatchingdeviceids). To prevent specific device classes, see [DeviceInstallation/PreventInstallationOfMatchingDeviceSetupClasses CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventinstallationofmatchingdevicesetupclasses). ## Related topics From 04e178094cbad59dc4daf556a1a4ab43e2bf1c7b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 21 Feb 2019 10:19:02 -0800 Subject: [PATCH 16/21] Update bitlocker-overview-and-requirements-faq.md --- .../bitlocker/bitlocker-overview-and-requirements-faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-overview-and-requirements-faq.md b/windows/security/information-protection/bitlocker/bitlocker-overview-and-requirements-faq.md index 0623101946..12479b7ab1 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-overview-and-requirements-faq.md +++ b/windows/security/information-protection/bitlocker/bitlocker-overview-and-requirements-faq.md @@ -8,7 +8,7 @@ ms.sitesec: library ms.pagetype: security ms.localizationpriority: medium author: brianlic-msft -ms.date: 05/03/2018 +ms.date: 02/21/2019 --- # BitLocker Overview and Requirements FAQ @@ -43,7 +43,7 @@ Two partitions are required to run BitLocker because pre-startup authentication ## Which Trusted Platform Modules (TPMs) does BitLocker support? -BitLocker supports TPM version 1.2 or higher. +BitLocker supports TPM version 1.2 or higher. BitLocker support for TPM 2.0 requires Unified Extensible Firmware Interface (UEFI) for the device. ## How can I tell if a TPM is on my computer? From d9c829ca3c389902647d62a49eba2d39b92c99cd Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Thu, 21 Feb 2019 10:19:08 -0800 Subject: [PATCH 17/21] Update control-usb-devices-using-intune.md --- .../device-control/control-usb-devices-using-intune.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md b/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md index 663f55f8a0..dafdfb910f 100644 --- a/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md +++ b/windows/security/threat-protection/device-control/control-usb-devices-using-intune.md @@ -29,10 +29,9 @@ Microsoft recommends [a layered approach to securing removable media](https://ak - Granular configuration to deny write access to removable disks and approve or deny devices by USB vendor code, product code, device IDs, or a combination. - Flexible policy assignment of device installation settings based on an individual or group of Azure Active Directory (Azure AD) users and devices. ->[!NOTE] ->These threat reduction measures help prevent malware from coming into your environment. To protect enterprise data from leaving your environment, you can also configure data loss prevention measures. For example, on Windows 10 devices you can configure [BitLocker](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview) and [Windows Information Protection](https://docs.microsoft.com/windows/security/information-protection/windows-information-protection/create-wip-policy-using-intune-azure), which will encrypt company data even if it is stored on a personal device, or use the [Storage/RemovableDiskDenyWriteAccess CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-storage#storage-removablediskdenywriteaccess) to deny write access to removable disks. Additionally, you can [classify and protect files on Windows devices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-atp/information-protection-in-windows-overview) (including their mounted USB devices) by using Windows Defender ATP and Azure Information Protection. -For more information about controlling USB devices, see the [Microsoft Secure blog "WDATP has protections for USB and removable devices"]. +These threat reduction measures help prevent malware from coming into your environment. To protect enterprise data from leaving your environment, you can also configure data loss prevention measures. For example, on Windows 10 devices you can configure [BitLocker](https://docs.microsoft.com/windows/security/information-protection/bitlocker/bitlocker-overview) and [Windows Information Protection](https://docs.microsoft.com/windows/security/information-protection/windows-information-protection/create-wip-policy-using-intune-azure), which will encrypt company data even if it is stored on a personal device, or use the [Storage/RemovableDiskDenyWriteAccess CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-storage#storage-removablediskdenywriteaccess) to deny write access to removable disks. Additionally, you can [classify and protect files on Windows devices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-atp/information-protection-in-windows-overview) (including their mounted USB devices) by using Windows Defender ATP and Azure Information Protection. + ## Prevent threats from removable storage From 76471f253e9504ddcbad1aa1283d80a0120bd1e6 Mon Sep 17 00:00:00 2001 From: "H. Poulsen" Date: Thu, 21 Feb 2019 10:28:28 -0800 Subject: [PATCH 18/21] Update collect-data-using-enterprise-site-discovery.md Updated info and links related to Upgrade Readiness (formerly known as Upgrade Analytics) --- .../collect-data-using-enterprise-site-discovery.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browsers/internet-explorer/ie11-deploy-guide/collect-data-using-enterprise-site-discovery.md b/browsers/internet-explorer/ie11-deploy-guide/collect-data-using-enterprise-site-discovery.md index 5d6a571e4a..424b01e58e 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/collect-data-using-enterprise-site-discovery.md +++ b/browsers/internet-explorer/ie11-deploy-guide/collect-data-using-enterprise-site-discovery.md @@ -20,8 +20,8 @@ ms.date: 07/27/2017 Use Internet Explorer to collect data on computers running Windows Internet Explorer 8 through Internet Explorer 11 on Windows 10, Windows 8.1, or Windows 7. This inventory information helps you build a list of websites used by your company so you can make more informed decisions about your IE deployments, including figuring out which sites might be at risk or require overhauls during future upgrades. ->**Upgrade Analytics and Windows upgrades**
    ->You can use Upgrade Analytics to help manage your Windows 10 upgrades on devices running Windows 8.1 and Windows 7 (SP1). You can also use Upgrade Analytics to review several site discovery reports. Check out Upgrade Analytics from [here](https://technet.microsoft.com/itpro/windows/deploy/upgrade-analytics-get-started). +>**Upgrade Readiness and Windows upgrades**
    +>You can use Upgrade Readiness to help manage your Windows 10 upgrades on devices running Windows 8.1 and Windows 7 (SP1). You can also use Upgrade Readiness to review several site discovery reports. For more information, see [Manage Windows upgrades with Upgrade Readiness](https://docs.microsoft.com/en-us/windows/deployment/upgrade/manage-windows-upgrades-with-upgrade-readiness). ## Before you begin From 31750b696d35b6d56ce48876bc05eb0841196021 Mon Sep 17 00:00:00 2001 From: JC <47532346+Jcoetsee@users.noreply.github.com> Date: Thu, 21 Feb 2019 22:13:20 +0200 Subject: [PATCH 19/21] Grammar change A small grammar change has been made, the wording used there should be "to add" and not "to load" https://github.com/MicrosoftDocs/windows-itpro-docs/issues/2706 --- .../windows-defender-application-guard/install-wd-app-guard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md index 68919bc05b..0d185ae9bd 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md @@ -58,7 +58,7 @@ Employees can use hardware-isolated browsing sessions without any administrator Applies to: - Windows 10 Enterprise edition, version 1709 or higher -You and your security department can define your corporate boundaries by explicitly adding trusted domains and by customizing the Application Guard experience to meet and enforce your needs on employee devices. Enterprise-managed mode also automatically redirects any browser requests to load non-enterprise domain(s) in the container. +You and your security department can define your corporate boundaries by explicitly adding trusted domains and by customizing the Application Guard experience to meet and enforce your needs on employee devices. Enterprise-managed mode also automatically redirects any browser requests to add non-enterprise domain(s) in the container. The following diagram shows the flow between the host PC and the isolated container. ![Flowchart for movement between Microsoft Edge and Application Guard](images/application-guard-container-v-host.png) From fde41e6260781b36f8c784b7efca44f070c8e666 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Fri, 22 Feb 2019 07:14:02 -0800 Subject: [PATCH 20/21] fix link --- .../bitlocker/bitlocker-how-to-enable-network-unlock.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md b/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md index 8d2dd4d8dc..321a0ffe66 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md +++ b/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md @@ -343,7 +343,7 @@ The following steps can be used to configure Network Unlock on these older syste 1. [Install the WDS Server role](#bkmk-installwdsrole) 2. [Confirm the WDS Service is running](#bkmk-confirmwdsrunning) 3. [Install the Network Unlock feature](#bkmk-installnufeature) -4. [Create the Network Unlock certificate](bkmk-createcert) +4. [Create the Network Unlock certificate](#bkmk-createcert) 5. [Deploy the private key and certificate to the WDS server](#bkmk-deploycert) 6. Configure registry settings for Network Unlock: From 612d5d7ea0534f4b5450d47b47b4d766961780a1 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Fri, 22 Feb 2019 17:45:03 +0000 Subject: [PATCH 21/21] Merged PR 14450: clarification on AAD-join for Surface Hub --- devices/surface-hub/first-run-program-surface-hub.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devices/surface-hub/first-run-program-surface-hub.md b/devices/surface-hub/first-run-program-surface-hub.md index 6fcee63f5d..346d0c8d8a 100644 --- a/devices/surface-hub/first-run-program-surface-hub.md +++ b/devices/surface-hub/first-run-program-surface-hub.md @@ -335,9 +335,11 @@ This is what happens when you choose an option. - **Use Microsoft Azure Active Directory** - Clicking this option allows you to join the device to Azure AD. Once you click **Next**, the device will restart to apply some settings, and then you’ll be taken to the [Use Microsoft Azure Active Directory](#use-microsoft-azure) page and asked to enter credentials that can allow you to join Azure AD. After joining, admins from the joined organization will be able to use the Settings app. The specific people that will be allowed depends on your Azure AD subscription and how you’ve configured the settings for your Azure AD organization. + Clicking this option allows you to join the device to Azure AD. Once you click **Next**, the device will restart to apply some settings, and then you’ll be taken to the [Use Microsoft Azure Active Directory](#use-microsoft-azure) page and asked to enter credentials that can allow you to join Azure AD. Members of the Azure Global Admins security group from the joined organization will be able to use the Settings app. The specific people that will be allowed depends on your Azure AD subscription and how you’ve configured the settings for your Azure AD organization. >[!IMPORTANT] + >Administrators added to the Azure Global Admins group after you join the device to Azure AD will be unable to use the Settings app. + > >If you join Surface Hub to Azure AD during first-run setup, single sign-on (SSO) for Office apps will not work properly. Users will have to sign in to each Office app individually. - **Use Active Directory Domain Services**
  • Windows 7 Servicing Stack Updates: Managing Change and Appreciating Cumulative Updates - September 21, 2018