diff --git a/windows/application-management/app-v/appv-release-notes-for-appv-for-windows-1703.md b/windows/application-management/app-v/appv-release-notes-for-appv-for-windows-1703.md index 8765ba9fa6..4f5424f963 100644 --- a/windows/application-management/app-v/appv-release-notes-for-appv-for-windows-1703.md +++ b/windows/application-management/app-v/appv-release-notes-for-appv-for-windows-1703.md @@ -19,90 +19,81 @@ ms.author: greglin The following are known issues and workarounds for Application Virtualization (App-V) running on Windows 10 version 1703 and later -
Problem | -Workaround | - - -
---|---|
Unable to manually create a system-owned folder needed for the set-AppVClientConfiguration PowerShell cmdlet when using the PackageInstallationRoot, IntegrationRootUser, or IntegrationRootGlobal parameters. |
- Don't create this file manually, instead let the Add-AppVClientPackage cmdlet auto-generate it. |
-
Failure to update an App-V package from App-V 5.x to the latest in-box version, by using the PowerShell sequencing commands. | -Make sure you have the complete App-V package or the MSI file from the original app. | -
Unable to modify the locale for auto-sequencing. | -Open the C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\AutoSequencer\Unattend_Sequencer_User_Setup_Template.xml file and include the language code for your locale. For example, if you wanted Spanish (Spain), you'd use: es-ES. |
-
Filetype and protocol handlers aren't registering properly with the Google Chrome browser, causing you to not see App-V packages as an option for default apps from the Settings > Apps> Default Apps area. | -The recommended workaround is to add the following code to the AppXManifest.xml file, underneath the <appv:Extensions> tag:
-
|
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
Home | -Pro | -Business | -Enterprise | -Education | -Mobile | - -
---|---|---|---|---|---|
![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
- ![]() |
-
-
New or updated article | -Description | -
---|---|
BitLocker CSP | -Added support for Windows 10 Pro starting in the version 1809. - |
Office CSP | -Added FinalStatus setting in Windows 10, version 1809. - |
RemoteWipe CSP | -Added new settings in Windows 10, version 1809. - |
TenantLockdown CSP | -Added new CSP in Windows 10, version 1809. - |
WindowsDefenderApplicationGuard CSP | -Added new settings in Windows 10, version 1809. - |
Policy DDF file | -Posted an updated version of the Policy DDF for Windows 10, version 1809. - |
Policy CSP | -Added the following new policies in Windows 10, version 1809: -
Start/DisableContextMenus - added in Windows 10, version 1803. -RestrictedGroups/ConfigureGroupMembership - added new schema to apply and retrieve the policy. - |
New or updated article | -Description | -
---|---|
AssignedAccess CSP | -Added the following note: -
|
PassportForWork CSP | -Added new settings in Windows 10, version 1809. - |
EnterpriseModernAppManagement CSP | -Added NonRemovable setting under AppManagement node in Windows 10, version 1809. - |
Win32CompatibilityAppraiser CSP | -Added new configuration service provider in Windows 10, version 1809. - |
WindowsLicensing CSP | -Added S mode settings and SyncML examples in Windows 10, version 1809. - |
SUPL CSP | -Added 3 new certificate nodes in Windows 10, version 1809. - |
Defender CSP | -Added a new node Health/ProductStatus in Windows 10, version 1809. - |
BitLocker CSP | -Added a new node AllowStandardUserEncryption in Windows 10, version 1809. - |
DevDetail CSP | -Added a new node SMBIOSSerialNumber in Windows 10, version 1809. - |
Policy CSP | -Added the following new policies in Windows 10, version 1809: -
Recent changes: -
|
New or updated article | -Description | -
---|---|
Wifi CSP | -Added a new node WifiCost in Windows 10, version 1809. - |
Diagnose MDM failures in Windows 10 | -Recent changes: -
|
BitLocker CSP | -Added new node AllowStandardUserEncryption in Windows 10, version 1809. - |
Policy CSP | -Recent changes: -
Added the following new policies in Windows 10, version 1809: -
|
WiredNetwork CSP | -New CSP added in Windows 10, version 1809. - |
New or updated article | -Description | -
---|---|
Policy DDF file | -Updated the DDF files in the Windows 10 version 1703 and 1709. - - |
New or updated article | -Description | -
---|---|
WindowsDefenderApplicationGuard CSP | -Added the following node in Windows 10, version 1803: -
|
NetworkProxy CSP | -Added the following node in Windows 10, version 1803: -
|
Accounts CSP | -Added a new CSP in Windows 10, version 1803. - |
MDM Migration Analysis Tool (MMAT) | -Updated version available. MMAT is a tool you can use to determine which Group Policies are set on a target user/computer and cross-reference them against the list of supported MDM policies. - |
CSP DDF files download | -Added the DDF download of Windows 10, version 1803 configuration service providers. - |
Policy CSP | -Added the following new policies for Windows 10, version 1803: -
|
New or updated article | -Description | -
---|---|
eUICCs CSP | -Added the following node in Windows 10, version 1803: -
|
DeviceStatus CSP | -Added the following node in Windows 10, version 1803: -
|
Understanding ADMX-backed policies | -Added the following videos: - - |
AccountManagement CSP | -Added a new CSP in Windows 10, version 1803. - |
RootCATrustedCertificates CSP | -Added the following node in Windows 10, version 1803: -
|
Policy CSP | -Added the following new policies for Windows 10, version 1803: -
The following existing policies were updated: -
Added a new section: -
|
Policy CSP - Bluetooth | -Added new section ServicesAllowedList usage guide. - |
MultiSIM CSP | -Added SyncML examples and updated the settings descriptions. - |
RemoteWipe CSP | -Reverted back to Windows 10, version 1709. Removed previous draft documentation for version 1803. - |
New or updated article | -Description | -
---|---|
Policy CSP | -Added the following new policies for Windows 10, version 1803: -
|
VPNv2 ProfileXML XSD | -Updated the XSD and Plug-in profile example for VPNv2 CSP. - |
AssignedAccess CSP | -Added the following nodes in Windows 10, version 1803: -
Updated the AssigneAccessConfiguration schema. Starting in Windows 10, version 1803 AssignedAccess CSP is supported in HoloLens (1st gen) Commercial Suite. Added example for HoloLens (1st gen) Commercial Suite. - |
MultiSIM CSP | -Added a new CSP in Windows 10, version 1803. - |
EnterpriseModernAppManagement CSP | -Added the following node in Windows 10, version 1803: -
|
New or updated article | -Description | -
---|---|
Policy CSP | -Added the following new policies for Windows 10, version 1803: -
Added the following policies the were added in Windows 10, version 1709 -
Security/RequireDeviceEncryption - updated to show it is supported in desktop. - |
BitLocker CSP | -Updated the description for AllowWarningForOtherDiskEncryption to describe changes added in Windows 10, version 1803. - |
EnterpriseModernAppManagement CSP | -Added new node MaintainProcessorArchitectureOnUpdate in Windows 10, next major update. - |
DMClient CSP | -Added ./User/Vendor/MSFT/DMClient/Provider/[ProviderID]/FirstSyncStatus node. Also added the following nodes in Windows 10, version 1803: -
|
Defender CSP | -Added new node (OfflineScan) in Windows 10, version 1803. - |
UEFI CSP | -Added a new CSP in Windows 10, version 1803. - |
Update CSP | -Added the following nodes in Windows 10, version 1803: -
|
New or updated article | -Description | -
---|---|
Configuration service provider reference | -Added new section CSP DDF files download - |
New or updated article | -Description | -
---|---|
Policy CSP | -Added the following policies for Windows 10, version 1709: -
Added missing policies from previous releases: -
|
New or updated article | -Description | -
---|---|
Policy DDF file | -Updated the DDF content for Windows 10 version 1709. Added a link to the download of Policy DDF for Windows 10, version 1709. - |
Policy CSP | -Updated the following policies: -
|
eUICCs CSP | -Added new CSP in Windows 10, version 1709. - |
AssignedAccess CSP | -Added SyncML examples for the new Configuration node. - |
DMClient CSP | -Added new nodes to the DMClient CSP in Windows 10, version 1709. Updated the CSP and DDF topics. - |
New or updated article | -Description | -
---|---|
Policy CSP | -Added the following new policies for Windows 10, version 1709: -
Added new settings to Update/BranchReadinessLevel policy in Windows 10 version 1709. - |
AssignedAccess CSP | -Starting in Windows 10, version 1709, AssignedAccess CSP is also supported in Windows 10 Pro. - |
Microsoft Store for Business and Microsoft Store | -Windows Store for Business name changed to Microsoft Store for Business. Windows Store name changed to Microsoft Store. - |
The [MS-MDE2]: Mobile Device Enrollment Protocol Version 2 | -The Windows 10 enrollment protocol was updated. The following elements were added to the RequestSecurityToken message: -
For examples, see section 4.3.1 RequestSecurityToken of the MS-MDE2 protocol documentation. - |
EnterpriseAPN CSP | -Added a SyncML example. - |
VPNv2 CSP | -Added RegisterDNS setting in Windows 10, version 1709. - |
Enroll a Windows 10 device automatically using Group Policy | -Added new topic to introduce a new Group Policy for automatic MDM enrollment. - |
MDM enrollment of Windows-based devices | -New features in the Settings app: -
For details, see Managing connections and Collecting diagnostic logs - |
New or updated article | -Description | -
---|---|
Enable ADMX-backed policies in MDM | -Added new step-by-step guide to enable ADMX-backed policies. - |
Mobile device enrollment | -Added the following statement: -
|
CM_CellularEntries CSP | -Updated the description of the PuposeGroups node to add the GUID for applications. This node is required instead of optional. - |
EnterpriseDataProtection CSP | -Updated the Settings/EDPEnforcementLevel values to the following: -
|
AppLocker CSP | -Added two new SyncML examples (to disable the calendar app and to block usage of the map app) in Allow list examples. - |
DeviceManageability CSP | -Added the following settings in Windows 10, version 1709: -
|
Office CSP | -Added the following setting in Windows 10, version 1709: -
|
BitLocker CSP | -Added information to the ADMX-backed policies. Changed the minimum personal identification number (PIN) length to 4 digits in SystemDrivesRequireStartupAuthentication and SystemDrivesMinimumPINLength in Windows 10, version 1709. - |
Firewall CSP | -Updated the CSP and DDF topics. Here are the changes:
-
|
Policy DDF file | -Added another Policy DDF file download for the 8C release of Windows 10, version 1607, which added the following policies:
-
|
Policy CSP | -Added the following new policies for Windows 10, version 1709: -
Changed the name of new policy to CredentialProviders/DisableAutomaticReDeploymentCredentials from CredentialProviders/EnableWindowsAutopilotResetCredentials. -Changed the names of the following policies: -
Added links to the additional ADMX-backed BitLocker policies. -There were issues reported with the previous release of the following policies. These issues were fixed in Windows 10, version 1709: -
|
Edition | -Windows 10 | -Windows 11 | -
---|---|---|
Home | -No | -No | -
Pro | -Yes | -Yes | -
Business | -Yes | -Yes | -
Enterprise | -Yes | -Yes | -
Education | -Yes | -Yes | -
Policy name | Value | When set? |
---|---|---|
Admin Templates > Control Panel > Personalization | ||
Prevent enabling lock screen slide show | Enabled | Always |
Prevent changing lock screen and logon image | Enabled | Always |
Admin Templates > System > Power Management > Button Settings | ||
Select the Power button action (plugged in) | Sleep | SetPowerPolicies=True |
Select the Power button action (on battery) | Sleep | SetPowerPolicies=True |
Select the Sleep button action (plugged in) | Sleep | SetPowerPolicies=True |
Select the lid switch action (plugged in) | Sleep | SetPowerPolicies=True |
Select the lid switch action (on battery) | Sleep | SetPowerPolicies=True |
Admin Templates > System > Power Management > Sleep Settings | ||
Require a password when a computer wakes (plugged in) | Enabled | SignInOnResume=True |
Require a password when a computer wakes (on battery) | Enabled | SignInOnResume=True |
Specify the system sleep timeout (plugged in) | SleepTimeout | SetPowerPolicies=True |
Specify the system sleep timeout (on battery) | SleepTimeout | SetPowerPolicies=True |
Turn off hybrid sleep (plugged in) | Enabled | SetPowerPolicies=True |
Turn off hybrid sleep (on battery) | Enabled | SetPowerPolicies=True |
Specify the unattended sleep timeout (plugged in) | SleepTimeout | SetPowerPolicies=True |
Specify the unattended sleep timeout (on battery) | SleepTimeout | SetPowerPolicies=True |
Allow standby states (S1-S3) when sleeping (plugged in) | Enabled | SetPowerPolicies=True |
Allow standby states (S1-S3) when sleeping (on battery) | Enabled | SetPowerPolicies=True |
Specify the system hibernate timeout (plugged in) | Enabled, 0 | SetPowerPolicies=True |
Specify the system hibernate timeout (on battery) | Enabled, 0 | SetPowerPolicies=True |
Admin Templates>System>Power Management>Video and Display Settings | ||
Turn off the display (plugged in) | SleepTimeout | SetPowerPolicies=True |
Turn off the display (on battery | SleepTimeout | SetPowerPolicies=True |
Admin Templates>System>Power Management>Energy Saver Settings | ||
Energy Saver Battery Threshold (on battery) | 70 | SetPowerPolicies=True |
Admin Templates>System>Logon | ||
Show first sign-in animation | Disabled | Always |
Hide entry points for Fast User Switching | Enabled | Always |
Turn on convenience PIN sign-in | Disabled | Always |
Turn off picture password sign-in | Enabled | Always |
Turn off app notification on the lock screen | Enabled | Always |
Allow users to select when a password is required when resuming from connected standby | Disabled | SignInOnResume=True |
-
Block user from showing account details on sign-in | Enabled | Always |
Admin Templates>System>User Profiles | ||
Turn off the advertising ID | Enabled | SetEduPolicies=True |
Admin Templates>Windows Components | ||
Do not show Windows Tips | Enabled | SetEduPolicies=True |
Turn off Microsoft consumer experiences | Enabled | SetEduPolicies=True |
Microsoft Passport for Work | Disabled | Always |
Prevent the usage of OneDrive for file storage | Enabled | Always |
Admin Templates>Windows Components>Biometrics | ||
Allow the use of biometrics | Disabled | Always |
Allow users to log on using biometrics | Disabled | Always |
Allow domain users to log on using biometrics | Disabled | Always |
Admin Templates>Windows Components>Data Collection and Preview Builds | ||
Toggle user control over Insider builds | Disabled | Always |
Disable pre-release features or settings | Disabled | Always |
Do not show feedback notifications | Enabled | Always |
Allow Telemetry | Basic, 0 | SetEduPolicies=True |
Admin Templates>Windows Components>File Explorer | ||
Show lock in the user tile menu | Disabled | Always |
Admin Templates>Windows Components>Maintenance Scheduler | ||
Automatic Maintenance Activation Boundary | MaintenanceStartTime | Always |
Automatic Maintenance Random Delay | Enabled, 2 hours | Always |
Automatic Maintenance WakeUp Policy | Enabled | Always |
Admin Templates>Windows Components>Windows Hello for Business | ||
Use phone sign-in | Disabled | Always |
Use Windows Hello for Business | Disabled | Always |
Use biometrics | Disabled | Always |
Admin Templates>Windows Components>OneDrive | ||
Prevent the usage of OneDrive for file storage | Enabled | Always |
Windows Settings>Security Settings>Local Policies>Security Options |
-||
Interactive logon: Do not display last user name | Enabled, Disabled when account model is only guest | Always |
Interactive logon: Sign-in last interactive user automatically after a system-initiated restart | Disabled | Always |
-
Shutdown: Allow system to be shut down without having to log on | Disabled | Always |
User Account Control: Behavior of the elevation prompt for standard users | Auto deny | Always |
Destination edition | -|||||||||
---|---|---|---|---|---|---|---|---|---|
- | - | Home | -Pro | -Pro for Workstations | -Pro Education | -Education | -Enterprise LTSC | -Enterprise | -|
Starting edition | -|||||||||
Home | -- | - | - | - | - | - | - | ||
Pro | -- | - | - | - | - | - | - | ||
Pro for Workstations | -- | - | - | - | - | - | - | ||
Pro Education | -- | - | - | - | - | - | - | ||
Education | -- | ✔ | -✔ | -✔ | -- | - | S | -||
Enterprise LTSC | -- | - | - | - | - | - | - | ||
Enterprise | -- | ✔ | -✔ | -✔ | -S | -- | - |
- | - | Windows 10 | -Windows Server 2016 | -Windows Server 2019 | -Windows Server 2022 | -Windows 11 | -
---|---|---|---|---|---|---|
- Boot image version |
- ||||||
Windows 10 | -Supported, using a boot image from matching or newer version. | -Supported, using a boot image from Windows 10, version 1607 or later. | -Supported, using a boot image from Windows 10, version 1809 or later. | -Not supported. | -Not supported. | -|
Windows Server 2016 | -Supported, using a boot image from Windows 10, version 1607 or later. | -Supported. | -Not supported. | -Not supported. | -Not supported. | -|
Windows Server 2019 | -Supported, using a boot image from Windows 10, version 1809 or later. | -Supported. | -Supported. | -Not supported. | -Not supported. | -|
Windows Server 2022 | -Deprecated, with a warning message. | -Deprecated, with a warning message. | -Deprecated, with a warning message. | -Deprecated, with a warning message. | -Not supported. | -|
Windows 11 | -Not supported, blocked. | -Not supported, blocked. | -Not supported, blocked. | -Not supported, blocked. | -Not supported, blocked. | -
Category | -Scenario | -Description | -More information |
Modern | -+### Modern -[Windows Autopilot](#windows-autopilot) | -- Customize the out-of-box-experience (OOBE) for your organization, and deploy a new system with apps and settings already configured. - | --Overview of Windows Autopilot - | -
+|Scenario|Description|More information|
+|--- |--- |--- |
+|[Windows Autopilot](#windows-autopilot)|Customize the out-of-box-experience (OOBE) for your organization, and deploy a new system with apps and settings already configured|[Overview of Windows Autopilot](/windows/deployment/windows-autopilot/windows-10-autopilot)|
+|[In-place upgrade](#in-place-upgrade)|Use Windows Setup to update your OS and migrate apps and settings. Rollback data is saved in Windows.old.|[Perform an in-place upgrade to Windows 10 with MDT](/windows/deployment/deploy-windows-mdt/upgrade-to-windows-10-with-the-microsoft-deployment-toolkit) [Perform an in-place upgrade to Windows 10 using Configuration Manager](/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager)| -[In-place upgrade](#in-place-upgrade) +### Dynamic - |
- - Use Windows Setup to update your OS and migrate apps and settings. Rollback data is saved in Windows.old. - | -
-Perform an in-place upgrade to Windows 10 with MDT Perform an in-place upgrade to Windows 10 using Configuration Manager - |
- |
- Dynamic - | -+|Scenario|Description|More information| +|--- |--- |--- | +|[Subscription Activation](#windows-10-subscription-activation)|Switch from Windows 10 Pro to Enterprise when a subscribed user signs in.|[Windows 10 Subscription Activation](/windows/deployment/windows-10-enterprise-subscription-activation)| +|[AAD / MDM](#dynamic-provisioning)|The device is automatically joined to AAD and configured by MDM.|[Azure Active Directory integration with MDM](/windows/client-management/mdm/azure-active-directory-integration-with-mdm)| +|[Provisioning packages](#dynamic-provisioning)|Using the Windows Imaging and Configuration Designer tool, create provisioning packages that can be applied to devices.|[Configure devices without MDM](/windows/configuration/configure-devices-without-mdm)| -[Subscription Activation](#windows-10-subscription-activation) - | -- Switch from Windows 10 Pro to Enterprise when a subscribed user signs in. - | --Windows 10 Subscription Activation - | -
- - [AAD / MDM](#dynamic-provisioning) - | -- The device is automatically joined to AAD and configured by MDM. - | --Azure Active Directory integration with MDM - | -|
- - [Provisioning packages](#dynamic-provisioning) - | -- Using the Windows Imaging and Configuration Designer tool, create provisioning packages that can be applied to devices. - | --Configure devices without MDM - | -|
- Traditional - | -- - [Bare metal](#new-computer) - | -- Deploy a new device, or wipe an existing device and deploy with a fresh image. - | -
- Deploy a Windows 10 image using MDT Deploy Windows 10 using PXE and Configuration Manager - |
-
- - [Refresh](#computer-refresh) - | -- Also called wipe and load. Redeploy a device by saving the user state, wiping the disk, then restoring the user state. - | -
- Refresh a Windows 7 computer with Windows 10 Refresh a Windows 7 SP1 client with Windows 10 using Configuration Manager - |
- |
- - [Replace](#computer-replace) - | -- Replace an existing device with a new one by saving the user state on the old device and then restoring it to the new device. - | -
- Replace a Windows 7 computer with a Windows 10 computer Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager - |
-
Topic | Description | Time - - |
About MDT | A high-level overview of the Microsoft Deployment Toolkit (MDT). | Informational - |
Install MDT | Download and install MDT. | 40 minutes - |
Create a deployment share and reference image | A reference image is created to serve as the template for deploying new images. | 90 minutes - |
Deploy a Windows 10 image using MDT | The reference image is deployed in the PoC environment. | 60 minutes - |
Refresh a computer with Windows 10 | Export user data from an existing client computer, wipe the computer, install a new operating system, and then restore user data and settings. | 60 minutes - |
Replace a computer with Windows 10 | Back up an existing client computer, then restore this backup to a new computer. | 60 minutes - |
Troubleshooting logs, events, and utilities | Log locations and troubleshooting hints. | Informational - |
- + ```powershell New-VM REFW10X64-001 -SwitchName poc-internal -NewVHDPath "c:\VHD\REFW10X64-001.vhdx" -NewVHDSizeBytes 60GB Set-VMMemory REFW10X64-001 -DynamicMemoryEnabled $true -MinimumBytes 1024MB -MaximumBytes 1024MB -Buffer 20 Set-VMDvdDrive REFW10X64-001 -Path c:\VHD\LiteTouchPE_x86.iso Start-VM REFW10X64-001 vmconnect localhost REFW10X64-001 --
Topic | Description | Time |
Hardware and software requirements | Prerequisites to complete this guide. | Informational - |
Lab setup | A description and diagram of the PoC environment. | Informational - |
Configure the PoC environment | Parent topic for procedures. | Informational - |
Verify support and install Hyper-V | Verify that installation of Hyper-V is supported, and install the Hyper-V server role. | 10 minutes - |
Download VHD and ISO files | Download evaluation versions of Windows Server 2012 R2 and Windows 10 and prepare these files to be used on the Hyper-V host. | 30 minutes - |
Convert PC to VM | Convert a physical computer on your network to a VM hosted in Hyper-V. | 30 minutes - |
Resize VHD | Increase the storage capacity for one of the Windows Server VMs. | 5 minutes - |
Configure Hyper-V | Create virtual switches, determine available RAM for virtual machines, and add virtual machines. | 15 minutes - |
Configure service and user accounts | Start virtual machines and configure all services and settings. | 60 minutes - |
Configure VMs | Start virtual machines and configure all services and settings. | 60 minutes - |
Appendix A: Verify the configuration | Verify and troubleshoot network connectivity and services in the PoC environment. | 30 minutes - |
Appendix B: Terminology in this guide | Terms used in this guide. | Informational - |
- | Computer 1 (required) | -Computer 2 (recommended) | -
Role | -Hyper-V host | -Client computer | -
Description | -This computer will run Hyper-V, the Hyper-V management tools, and the Hyper-V Windows PowerShell module. | -This computer is a Windows 7 or Windows 8/8.1 client on your corporate network that will be converted to a VM to demonstrate the upgrade process. | -
OS | -Windows 8.1/10 or Windows Server 2012/2012 R2/2016* | -Windows 7 or a later | -
Edition | -Enterprise, Professional, or Education | -Any | -
Architecture | -64-bit | -Any Note: Retaining applications and settings requires that architecture (32 or 64-bit) is the same before and after the upgrade. |
-
RAM | -8 GB RAM (16 GB recommended) to test Windows 10 deployment with MDT.
- 16 GB RAM to test Windows 10 deployment with Microsoft Endpoint Configuration Manager. |
- Any | -
Disk | -200 GB available hard disk space, any format. | -Any size, MBR formatted. | -
CPU | -SLAT-Capable CPU | -Any | -
Network | -Internet connection | -Any | -
+ ```console C:\>systeminfo ... @@ -187,7 +143,7 @@ Starting with Windows 8, the host computer’s microprocessor must support secon Virtualization Enabled In Firmware: Yes Second Level Address Translation: Yes Data Execution Prevention Available: Yes -+ ``` In this example, the computer supports SLAT and Hyper-V. @@ -195,7 +151,7 @@ Starting with Windows 8, the host computer’s microprocessor must support secon You can also identify Hyper-V support using [tools](/archive/blogs/taylorb/hyper-v-will-my-computer-run-hyper-v-detecting-intel-vt-and-amd-v) provided by the processor manufacturer, the [msinfo32](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc731397(v=ws.11)) tool, or you can download the [coreinfo](/sysinternals/downloads/coreinfo) utility and run it, as shown in the following example: -
+ ```console C:\>coreinfo -v Coreinfo v3.31 - Dump information on system CPU and memory topology @@ -208,27 +164,32 @@ Starting with Windows 8, the host computer’s microprocessor must support secon HYPERVISOR - Hypervisor is present VMX * Supports Intel hardware-assisted virtualization EPT * Supports Intel extended page tables (SLAT) -+ ``` - Note: A 64-bit operating system is required to run Hyper-V. + > [!NOTE] + > A 64-bit operating system is required to run Hyper-V. 2. The Hyper-V feature is not installed by default. To install it, open an elevated Windows PowerShell window and type the following command: -
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All+ ```powershell + Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All + ``` This command works on all operating systems that support Hyper-V, but on Windows Server operating systems you must type an additional command to add the Hyper-V Windows PowerShell module and the Hyper-V Manager console. This command will also install Hyper-V if it isn't already installed, so if desired you can just type the following command on Windows Server 2012 or 2016 instead of using the Enable-WindowsOptionalFeature command: -
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools+ ```powershell + Install-WindowsFeature -Name Hyper-V -IncludeManagementTools + ``` When you are prompted to restart the computer, choose **Yes**. The computer might restart more than once. After installation is complete, you can open Hyper-V Manager by typing **virtmgmt.msc** at an elevated command prompt. - >Alternatively, you can install Hyper-V using the Control Panel in Windows under **Turn Windows features on or off** for a client operating system, or using Server Manager's **Add Roles and Features Wizard** on a server operating system, as shown below: + Alternatively, you can install Hyper-V using the Control Panel in Windows under **Turn Windows features on or off** for a client operating system, or using Server Manager's **Add Roles and Features Wizard** on a server operating system, as shown below:   -
If you choose to install Hyper-V using Server Manager, accept all default selections. Also be sure to install both items under Role Administration Tools\Hyper-V Management Tools. + If you choose to install Hyper-V using Server Manager, accept all default selections. Also be sure to install both items under Role Administration Tools\Hyper-V Management Tools. ### Download VHD and ISO files @@ -236,63 +197,65 @@ When you have completed installation of Hyper-V on the host computer, begin conf 1. Create a directory on your Hyper-V host named **C:\VHD** and download a single [Windows Server 2012 R2 VHD](https://www.microsoft.com/evalcenter/evaluate-windows-server-2012-r2) from the TechNet Evaluation Center to the **C:\VHD** directory. - **Important**: This guide assumes that VHDs are stored in the **C:\VHD** directory on the Hyper-V host. If you use a different directory to store VHDs, you must adjust steps in this guide appropriately. + > [!IMPORTANT] + > This guide assumes that VHDs are stored in the **C:\VHD** directory on the Hyper-V host. If you use a different directory to store VHDs, you must adjust steps in this guide appropriately. After completing registration you will be able to download the 7.47 GB Windows Server 2012 R2 evaluation VHD. An example of the download offering is shown below. -
![]() |
-C:>mkdir VHD -C:>cd VHD -C:\VHD>ren 9600*.vhd 2012R2-poc-1.vhd -C:\VHD>copy 2012R2-poc-1.vhd 2012R2-poc-2.vhd - 1 file(s) copied. -C:\VHD ren *.iso w10-enterprise.iso -C:\VHD>dir /B -2012R2-poc-1.vhd -2012R2-poc-2.vhd -w10-enterprise.iso -+ ```console + C:>mkdir VHD + C:>cd VHD + C:\VHD>ren 9600*.vhd 2012R2-poc-1.vhd + C:\VHD>copy 2012R2-poc-1.vhd 2012R2-poc-2.vhd + 1 file(s) copied. + C:\VHD ren *.iso w10-enterprise.iso + C:\VHD>dir /B + 2012R2-poc-1.vhd + 2012R2-poc-2.vhd + w10-enterprise.iso + ``` ### Convert PC to VM ->Important: Do not attempt to use the VM resulting from the following procedure as a reference image. Also, to avoid conflicts with existing clients, do not start the VM outside the PoC network. +> [!IMPORTANT] +> Do not attempt to use the VM resulting from the following procedure as a reference image. Also, to avoid conflicts with existing clients, do not start the VM outside the PoC network. -
If you do not have a PC available to convert to VM, perform the following steps to download an evaluation VM:
- -
|
- | Architecture | -Operating system | -Partition style | -
Generation 1 | -32-bit or 64-bit | -Windows 7 or later | -MBR | -
Generation 2 | -64-bit | -Windows 8 or later | -MBR or GPT | -
-Get-WmiObject -Class Win32_DiskPartition | Select-Object -Property SystemName,Caption,Type -+ ```powershell + Get-WmiObject -Class Win32_DiskPartition | Select-Object -Property SystemName,Caption,Type + ``` If the **Type** column does not indicate GPT, then the disk partition format is MBR ("Installable File System" = MBR). In the following example, the disk is GPT: -
+```powershell PS C:> Get-WmiObject -Class Win32_DiskPartition | Select-Object -Property SystemName,Caption,Type SystemName Caption Type ---------- ------- ---- USER-PC1 Disk #0, Partition #0 GPT: System USER-PC1 Disk #0, Partition #1 GPT: Basic Data -+``` On a computer running Windows 8 or later, you can also type **Get-Disk** at a Windows PowerShell prompt to discover the partition style. The default output of this cmdlet displays the partition style for all attached disks. Both commands are displayed below. In this example, the client computer is running Windows 8.1 and uses a GPT style partition format: -
+```powershell PS C:> Get-WmiObject -Class Win32_DiskPartition | Select-Object -Property SystemName,Caption,Type SystemName Caption Type @@ -364,176 +307,162 @@ PS C:> Get-Disk Number Friendly Name OperationalStatus Total Size Partition Style ------ ------------- ----------------- ---------- --------------- 0 INTEL SSDSCMMW240A3L Online 223.57 GB GPT -+``` **Choosing a VM generation** -The following table displays the Hyper-V VM generation to choose based on the OS, architecture, and partition style. Links to procedures to create the corresponding VMs are included. +The following tables display the Hyper-V VM generation to choose based on the OS, architecture, and partition style. Links to procedures to create the corresponding VMs are included. -
OS | -Partition style | -Architecture | -VM generation | -Procedure | -
Windows 7 | -MBR | -32 | -1 | -Prepare a generation 1 VM | -
64 | -1 | -Prepare a generation 1 VM | -||
GPT | -32 | -N/A | -N/A | -|
64 | -1 | -Prepare a generation 1 VM from a GPT disk | -||
Windows 8 or later | -MBR | -32 | -1 | -Prepare a generation 1 VM | -
64 | -1, 2 | -Prepare a generation 1 VM | -||
GPT | -32 | -1 | -Prepare a generation 1 VM from a GPT disk | -|
64 | -2 | -Prepare a generation 2 VM | -
+ ```cmd C:\vhd>dir /B 2012R2-poc-1.vhd 2012R2-poc-2.vhd w10-enterprise.iso w7.VHDX -+ ``` #### Prepare a generation 2 VM 1. Download the [Disk2vhd utility](/sysinternals/downloads/disk2vhd), extract the .zip file and copy **disk2vhd.exe** to a flash drive or other location that is accessible from the computer you wish to convert. - >You might experience timeouts if you attempt to run Disk2vhd from a network share, or specify a network share for the destination. To avoid timeouts, use local, portable media such as a USB drive. + > [!TIP] + > You might experience timeouts if you attempt to run Disk2vhd from a network share, or specify a network share for the destination. To avoid timeouts, use local, portable media such as a USB drive. 2. On the computer you wish to convert, open an elevated command prompt and type the following command: -
mountvol s: /s+ ```console + mountvol s: /s + ``` This command temporarily assigns a drive letter of S to the system volume and mounts it. If the letter S is already assigned to a different volume on the computer, then choose one that is available (ex: mountvol z: /s). 3. On the computer you wish to convert, double-click the disk2vhd utility to start the graphical user interface. 4. Select the checkboxes next to the **C:\\** and the **S:\\** volumes, and clear the **Use Volume Shadow Copy checkbox**. Volume shadow copy will not work if the EFI system partition is selected. - **Important**: You must include the EFI system partition in order to create a bootable VHD. The Windows RE tools partition (shown below) is not required, but it can also be converted if desired. + > [!IMPORTANT] + > You must include the EFI system partition in order to create a bootable VHD. The Windows RE tools partition (shown below) is not required, but it can also be converted if desired. 5. Specify a location to save the resulting VHD or VHDX file (F:\VHD\PC1.vhdx in the following example) and click **Create**. See the following example:  - >Disk2vhd can save VHDs to local hard drives, even if they are the same as the volumes being converted. Performance is better however when the VHD is saved on a disk different than those being converted, such as a flash drive. + Disk2vhd can save VHDs to local hard drives, even if they are the same as the volumes being converted. Performance is better however when the VHD is saved on a disk different than those being converted, such as a flash drive. 6. When the Disk2vhd utility has completed converting the source computer to a VHD, copy the VHDX file (PC1.vhdx) to your Hyper-V host in the C:\VHD directory. There should now be four files in this directory: -
+ ```console C:\vhd>dir /B 2012R2-poc-1.vhd 2012R2-poc-2.vhd w10-enterprise.iso PC1.VHDX -+ ``` #### Prepare a generation 1 VM from a GPT disk 1. Download the [Disk2vhd utility](/sysinternals/downloads/disk2vhd), extract the .zip file and copy **disk2vhd.exe** to a flash drive or other location that is accessible from the computer you wish to convert. - >You might experience timeouts if you attempt to run Disk2vhd from a network share, or specify a network share for the destination. To avoid timeouts, use local, portable media such as a USB drive. + You might experience timeouts if you attempt to run Disk2vhd from a network share, or specify a network share for the destination. To avoid timeouts, use local, portable media such as a USB drive. 2. On the computer you wish to convert, double-click the disk2vhd utility to start the graphical user interface. -3. Select the checkbox next to the **C:\\** volume and clear the checkbox next to **Use Vhdx**. Note: the system volume is not copied in this scenario, it will be added later. +3. Select the checkbox next to the **C:\\** volume and clear the checkbox next to **Use Vhdx**. + + > [!NOTE] + > The system volume is not copied in this scenario, it will be added later. + 4. Specify a location to save the resulting VHD file (F:\VHD\w7.vhd in the following example) and click **Create**. See the following example:  - >Disk2vhd can save VHDs to local hard drives, even if they are the same as the volumes being converted. Performance is better however when the VHD is saved on a disk different than those being converted, such as a flash drive. + Disk2vhd can save VHDs to local hard drives, even if they are the same as the volumes being converted. Performance is better however when the VHD is saved on a disk different than those being converted, such as a flash drive. 5. When the Disk2vhd utility has completed converting the source computer to a VHD, copy the VHD file (w7.vhd) to your Hyper-V host in the C:\VHD directory. There should now be four files in this directory: -
+ ```cmd C:\vhd>dir /B 2012R2-poc-1.vhd 2012R2-poc-2.vhd w10-enterprise.iso w7.VHD -+ ``` - >In its current state, the w7.VHD file is not bootable. The VHD will be used to create a bootable VM later in the [Configure Hyper-V](#configure-hyper-v) section. + In its current state, the w7.VHD file is not bootable. The VHD will be used to create a bootable VM later in the [Configure Hyper-V](#configure-hyper-v) section. ### Resize VHD -
Set-VMhost -EnableEnhancedSessionMode $TRUE+```powershell +Set-VMhost -EnableEnhancedSessionMode $TRUE +``` ->If enhanced session mode was not previously enabled, close any existing virtual machine connections and re-open them to enable access to enhanced session mode. As mentioned previously: instructions to "type" commands provided in this guide can be typed, but the preferred method is to copy and paste these commands. Most of the commands to this point in the guide have been brief, but many commands in sections below are longer and more complex. +If enhanced session mode was not previously enabled, close any existing virtual machine connections and re-open them to enable access to enhanced session mode. As mentioned previously: instructions to "type" commands provided in this guide can be typed, but the preferred method is to copy and paste these commands. Most of the commands to this point in the guide have been brief, but many commands in sections below are longer and more complex.
+ ```powershell Resize-VHD -Path c:\VHD\2012R2-poc-2.vhd -SizeBytes 100GB $x = (Mount-VHD -Path c:\VHD\2012R2-poc-2.vhd -passthru | Get-Disk | Get-Partition | Get-Volume).DriveLetter Resize-Partition -DriveLetter $x -Size (Get-PartitionSupportedSize -DriveLetter $x).SizeMax -+ ``` 2. Verify that the mounted VHD drive is resized to 100 GB, and then dismount the drive: -
+ ```powershell Get-Volume -DriveLetter $x - Dismount-VHD -Path c:\VHD\2012R2-poc-2.vhd+ Dismount-VHD -Path c:\VHD\2012R2-poc-2.vhd + ``` ### Configure Hyper-V 1. Open an elevated Windows PowerShell window and type the following command to create two virtual switches named "poc-internal" and "poc-external": - >If the Hyper-V host already has an external virtual switch bound to a physical NIC, do not attempt to add a second external virtual switch. Attempting to add a second external switch will result in an error indicating that the NIC is **already bound to the Microsoft Virtual Switch protocol.** In this case, choose one of the following options:
+ ```powershell New-VMSwitch -Name poc-internal -SwitchType Internal -Notes "PoC Network" New-VMSwitch -Name poc-external -NetAdapterName (Get-NetAdapter |?{$_.Status -eq "Up" -and !$_.Virtual}).Name -Notes "PoC External" -+ ``` - **Note**: The second command above will temporarily interrupt network connectivity on the Hyper-V host. + > [!NOTE] + > The second command above will temporarily interrupt network connectivity on the Hyper-V host. - >Since an external virtual switch is associated to a physical network adapter on the Hyper-V host, this adapter must be specified when adding the virtual switch. The previous commands automate this by filtering for active non-virtual ethernet adapters using the Get-NetAdapter cmdlet ($_.Status -eq "Up" -and !$_.Virtual). If your Hyper-V host is dual-homed with multiple active ethernet adapters, this automation will not work, and the second command above will fail. In this case, you must edit the command used to add the "poc-external" virtual switch by inserting the appropriate NetAdapterName. The NetAdapterName value corresponds to the name of the network interface you wish to use. For example, if the network interface you use on the Hyper-V host to connect to the Internet is named "Ethernet 2" then type the following command to create an external virtual switch: New-VMSwitch -Name poc-external -NetAdapterName "Ethernet 2" -Notes "PoC External" + Since an external virtual switch is associated to a physical network adapter on the Hyper-V host, this adapter must be specified when adding the virtual switch. The previous commands automate this by filtering for active non-virtual ethernet adapters using the Get-NetAdapter cmdlet ($_.Status -eq "Up" -and !$_.Virtual). If your Hyper-V host is dual-homed with multiple active ethernet adapters, this automation will not work, and the second command above will fail. In this case, you must edit the command used to add the "poc-external" virtual switch by inserting the appropriate NetAdapterName. The NetAdapterName value corresponds to the name of the network interface you wish to use. For example, if the network interface you use on the Hyper-V host to connect to the Internet is named "Ethernet 2" then type the following command to create an external virtual switch: New-VMSwitch -Name poc-external -NetAdapterName "Ethernet 2" -Notes "PoC External" 2. At the elevated Windows PowerShell prompt, type the following command to determine the megabytes of RAM that are currently available on the Hyper-V host: -
+ ```powershell (Get-VMHostNumaNode).MemoryAvailable -+ ``` This command will display the megabytes of RAM available for VMs. On a Hyper-V host computer with 16 GB of physical RAM installed, 10,000 MB of RAM or greater should be available if the computer is not also running other applications. On a computer with 8 GB of physical RAM installed, at least 4000 MB should be available. If the computer has less RAM available than this, try closing applications to free up more memory. 3. Determine the available memory for VMs by dividing the available RAM by 4. For example: -
+ ```powershell (Get-VMHostNumaNode).MemoryAvailable/4 2775.5 -+ ``` In this example, VMs can use a maximum of 2700 MB of RAM each, to run four VMs simultaneously. 4. At the elevated Windows PowerShell prompt, type the following command to create two new VMs. Other VMs will be added later. - >**Important**: Replace the value of 2700MB for $maxRAM in the first command below with the RAM value that you calculated in the previous step. -
+ > [!IMPORTANT] + > Replace the value of 2700MB for $maxRAM in the first command below with the RAM value that you calculated in the previous step. + + ```powershell $maxRAM = 2700MB New-VM -Name "DC1" -VHDPath c:\vhd\2012R2-poc-1.vhd -SwitchName poc-internal Set-VMMemory -VMName "DC1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 @@ -601,35 +538,37 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to Add-VMNetworkAdapter -VMName "SRV1" -SwitchName "poc-external" Set-VMMemory -VMName "SRV1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 80 Enable-VMIntegrationService -Name "Guest Service Interface" -VMName SRV1 -+ ``` - **Note**: The RAM values assigned to VMs in this step are not permanent, and can be easily increased or decreased later if needed to address performance issues. + > [!NOTE] + > The RAM values assigned to VMs in this step are not permanent, and can be easily increased or decreased later if needed to address performance issues. 5. Using the same elevated Windows PowerShell prompt that was used in the previous step, type one of the following sets of commands, depending on the type of VM that was prepared in the [Determine VM generation](#determine-vm-generation) section, either generation 1, generation 2, or generation 1 with GPT. To create a generation 1 VM (using c:\vhd\w7.vhdx): -
+ ```powershell New-VM -Name "PC1" -VHDPath c:\vhd\w7.vhdx -SwitchName poc-internal Set-VMMemory -VMName "PC1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 Enable-VMIntegrationService -Name "Guest Service Interface" -VMName PC1 -+ ``` To create a generation 2 VM (using c:\vhd\PC1.vhdx): -
+ ```powershell New-VM -Name "PC1" -Generation 2 -VHDPath c:\vhd\PC1.vhdx -SwitchName poc-internal Set-VMMemory -VMName "PC1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 Enable-VMIntegrationService -Name "Guest Service Interface" -VMName PC1 -+ ``` To create a generation 1 VM from a GPT disk (using c:\vhd\w7.vhd): - >Note: The following procedure is more complex because it includes steps to convert the OS partition from GPT to MBR format. Steps are included to create a temporary VHD and attach it to the VM, the OS image is saved to this drive, the OS drive is then reformatted to MBR, the OS image restored, and the temporary drive is removed. + > [!NOTE] + > The following procedure is more complex because it includes steps to convert the OS partition from GPT to MBR format. Steps are included to create a temporary VHD and attach it to the VM, the OS image is saved to this drive, the OS drive is then reformatted to MBR, the OS image restored, and the temporary drive is removed. First, type the following commands at an elevated Windows PowerShell prompt on the Hyper-V host to create a temporary VHD that will be used to save the OS image. Do not forget to include a pipe (|) at the end of the first five commands: -
+ ```powershell New-VHD -Path c:\vhd\d.vhd -SizeBytes 1TB | Mount-VHD -Passthru | Get-Disk -Number {$_.DiskNumber} | @@ -637,11 +576,11 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to New-Partition -UseMaximumSize | Format-Volume -Confirm:$false -FileSystem NTFS -force Dismount-VHD -Path c:\vhd\d.vhd -+ ``` Next, create the PC1 VM with two attached VHDs, and boot to DVD ($maxram must be defined previously using the same Windows PowerShell prompt): -
+ ```powershell New-VM -Name "PC1" -VHDPath c:\vhd\w7.vhd -SwitchName poc-internal Add-VMHardDiskDrive -VMName PC1 -Path c:\vhd\d.vhd Set-VMDvdDrive -VMName PC1 -Path c:\vhd\w10-enterprise.iso @@ -649,7 +588,7 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to Enable-VMIntegrationService -Name "Guest Service Interface" -VMName PC1 Start-VM PC1 vmconnect localhost PC1 -+ ``` The VM will automatically boot into Windows Setup. In the PC1 window: @@ -659,13 +598,13 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to 4. Click **Command Prompt**. 5. Type the following command to save an image of the OS drive: -
+ ```console dism /Capture-Image /ImageFile:D:\c.wim /CaptureDir:C:\ /Name:Drive-C -+ ``` 6. Wait for the OS image to complete saving, and then type the following commands to convert the C: drive to MBR: -
+ ```console diskpart select disk 0 clean @@ -677,121 +616,122 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to format fs=ntfs quick label=OS assign letter=c exit -+ ``` 7. Type the following commands to restore the OS image and boot files: -
+ ```console dism /Apply-Image /ImageFile:D:\c.wim /Index:1 /ApplyDir:C:\ bcdboot c:\windows exit -+ ``` 8. Click **Continue** and verify the VM boots successfully (do not boot from DVD). 9. Click **Ctrl+Alt+Del**, and then in the bottom right corner, click **Shut down**. 10. Type the following commands at an elevated Windows PowerShell prompt on the Hyper-V host to remove the temporary disks and drives from PC1: -
- Remove-VMHardDiskDrive -VMName PC1 -ControllerType IDE -ControllerNumber 0 -ControllerLocation 1 - Set-VMDvdDrive -VMName PC1 -Path $null -+ ```powershell + Remove-VMHardDiskDrive -VMName PC1 -ControllerType IDE -ControllerNumber 0 -ControllerLocation 1 + Set-VMDvdDrive -VMName PC1 -Path $null + ``` ### Configure VMs 1. At an elevated Windows PowerShell prompt on the Hyper-V host, start the first Windows Server VM and connect to it by typing the following commands: -
+ ```powershell Start-VM DC1 vmconnect localhost DC1 -+ ``` 2. Click **Next** to accept the default settings, read the license terms and click **I accept**, provide an administrator password of pass@word1, and click **Finish**. 3. Click **Ctrl+Alt+Del** in the upper left corner of the virtual machine connection window, and then sign in to DC1 using the Administrator account. 4. Right-click **Start**, point to **Shut down or sign out**, and click **Sign out**. The VM connection will reset and a new connection dialog box will appear enabling you to choose a custom display configuration. Select a desktop size, click **Connect** and sign in again with the local Administrator account. Note: Signing in this way ensures that [enhanced session mode](/windows-server/virtualization/hyper-v/learn-more/Use-local-resources-on-Hyper-V-virtual-machine-with-VMConnect) is enabled. It is only necessary to do this the first time you sign in to a new VM. 5. If DC1 is configured as described in this guide, it will currently be assigned an APIPA address, have a randomly generated hostname, and a single network adapter named "Ethernet." Open an elevated Windows PowerShell prompt on DC1 and type or paste the following commands to provide a new hostname and configure a static IP address and gateway: -
+ ```powershell Rename-Computer DC1 New-NetIPAddress -InterfaceAlias Ethernet -IPAddress 192.168.0.1 -PrefixLength 24 -DefaultGateway 192.168.0.2 Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 192.168.0.1,192.168.0.2 -+ ``` - > The default gateway at 192.168.0.2 will be configured later in this guide. - > - > Note: A list of available tasks for an app will be populated the first time you run it on the taskbar. Because these tasks aren't available until the App has been run, you will not see the **Run as Administrator** task until you have left-clicked Windows PowerShell for the first time. In this newly created VM, you will need to left-click Windows PowerShell one time, and then you can right-click and choose Run as Administrator to open an elevated Windows PowerShell prompt. + The default gateway at 192.168.0.2 will be configured later in this guide. + + > [!NOTE] + > A list of available tasks for an app will be populated the first time you run it on the taskbar. Because these tasks aren't available until the App has been run, you will not see the **Run as Administrator** task until you have left-clicked Windows PowerShell for the first time. In this newly created VM, you will need to left-click Windows PowerShell one time, and then you can right-click and choose Run as Administrator to open an elevated Windows PowerShell prompt. 6. Install the Active Directory Domain Services role by typing the following command at an elevated Windows PowerShell prompt: -
+ ```powershell Install-WindowsFeature -Name AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools -+ ``` 7. Before promoting DC1 to a Domain Controller, you must reboot so that the name change in step 3 above takes effect. To restart the computer, type the following command at an elevated Windows PowerShell prompt: -
+ ```powershell Restart-Computer -+ ``` 8. When DC1 has rebooted, sign in again and open an elevated Windows PowerShell prompt. Now you can promote the server to be a domain controller. The directory services restore mode password must be entered as a secure string. Type the following commands at the elevated Windows PowerShell prompt: -
+ ```powershell $pass = "pass@word1" | ConvertTo-SecureString -AsPlainText -Force Install-ADDSForest -DomainName contoso.com -InstallDns -SafeModeAdministratorPassword $pass -Force -+ ``` Ignore any warnings that are displayed. The computer will automatically reboot upon completion. 9. When the reboot has completed, reconnect to DC1, sign in using the CONTOSO\Administrator account, open an elevated Windows PowerShell prompt, and use the following commands to add a reverse lookup zone for the PoC network, add the DHCP Server role, authorize DHCP in Active Directory, and suppress the post-DHCP-install alert: -
+ ```powershell Add-DnsServerPrimaryZone -NetworkID "192.168.0.0/24" -ReplicationScope Forest Add-WindowsFeature -Name DHCP -IncludeManagementTools netsh dhcp add securitygroups Restart-Service DHCPServer Add-DhcpServerInDC dc1.contoso.com 192.168.0.1 Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2 -+ ``` 10. Next, add a DHCP scope and set option values: -
+ ```powershell Add-DhcpServerv4Scope -Name "PoC Scope" -StartRange 192.168.0.100 -EndRange 192.168.0.199 -SubnetMask 255.255.255.0 -Description "Windows 10 PoC" -State Active Set-DhcpServerv4OptionValue -ScopeId 192.168.0.0 -DnsDomain contoso.com -Router 192.168.0.2 -DnsServer 192.168.0.1,192.168.0.2 -Force -+ ``` - >The -Force option is necessary when adding scope options to skip validation of 192.168.0.2 as a DNS server because we have not configured it yet. The scope should immediately begin issuing leases on the PoC network. The first DHCP lease that will be issued is to vEthernet interface on the Hyper-V host, which is a member of the internal network. You can verify this by using the command: Get-DhcpServerv4Lease -ScopeId 192.168.0.0. + The -Force option is necessary when adding scope options to skip validation of 192.168.0.2 as a DNS server because we have not configured it yet. The scope should immediately begin issuing leases on the PoC network. The first DHCP lease that will be issued is to vEthernet interface on the Hyper-V host, which is a member of the internal network. You can verify this by using the command: Get-DhcpServerv4Lease -ScopeId 192.168.0.0. 11. The DNS server role will also be installed on the member server, SRV1, at 192.168.0.2 so that we can forward DNS queries from DC1 to SRV1 to resolve Internet names without having to configure a forwarder outside the PoC network. Since the IP address of SRV1 already exists on DC1's network adapter, it will be automatically added during the DCPROMO process. To verify this server-level DNS forwarder on DC1, type the following command at an elevated Windows PowerShell prompt on DC1: -
+ ```powershell Get-DnsServerForwarder -+ ``` The following output should be displayed: -
+ ```powershell UseRootHint : True Timeout(s) : 3 EnableReordering : True IPAddress : 192.168.0.2 ReorderedIPAddress : 192.168.0.2 -+ ``` If this output is not displayed, you can use the following command to add SRV1 as a forwarder: -
+ ```powershell Add-DnsServerForwarder -IPAddress 192.168.0.2 -+ ``` **Configure service and user accounts** Windows 10 deployment with MDT and Microsoft Endpoint Manager requires specific accounts to perform some actions. Service accounts will be created to use for these tasks. A user account is also added in the contoso.com domain that can be used for testing purposes. In the test lab environment, passwords are set to never expire. - >To keep this test lab relatively simple, we will not create a custom OU structure and set permissions. Required permissions are enabled by adding accounts to the Domain Admins group. To configure these settings in a production environment, see [Prepare for Zero Touch Installation of Windows 10 with Configuration Manager](deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md) + To keep this test lab relatively simple, we will not create a custom OU structure and set permissions. Required permissions are enabled by adding accounts to the Domain Admins group. To configure these settings in a production environment, see [Prepare for Zero Touch Installation of Windows 10 with Configuration Manager](deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md) On DC1, open an elevated Windows PowerShell prompt and type the following commands: -
+ ```powershell New-ADUser -Name User1 -UserPrincipalName user1 -Description "User account" -AccountPassword (ConvertTo-SecureString "pass@word1" -AsPlainText -Force) -ChangePasswordAtLogon $false -Enabled $true New-ADUser -Name MDT_BA -UserPrincipalName MDT_BA -Description "MDT Build Account" -AccountPassword (ConvertTo-SecureString "pass@word1" -AsPlainText -Force) -ChangePasswordAtLogon $false -Enabled $true New-ADUser -Name CM_JD -UserPrincipalName CM_JD -Description "Configuration Manager Join Domain Account" -AccountPassword (ConvertTo-SecureString "pass@word1" -AsPlainText -Force) -ChangePasswordAtLogon $false -Enabled $true @@ -802,7 +742,7 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to Set-ADUser -Identity MDT_BA -PasswordNeverExpires $true Set-ADUser -Identity CM_JD -PasswordNeverExpires $true Set-ADUser -Identity CM_NAA -PasswordNeverExpires $true -+ ``` 12. Minimize the DC1 VM window but **do not stop** the VM. @@ -810,20 +750,20 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to 13. If the PC1 VM is not started yet, using an elevated Windows PowerShell prompt on the Hyper-V host, start the client VM (PC1), and connect to it: -
+ ```powershell Start-VM PC1 vmconnect localhost PC1 -+ ``` 14. Sign in to PC1 using an account that has local administrator rights. - >PC1 will be disconnected from its current domain, so you cannot use a domain account to sign on unless these credentials are cached and the use of cached credentials is permitted by Group Policy. If cached credentials are available and permitted, you can use these credentials to sign in. Otherwise, use an existing local administrator account. + PC1 will be disconnected from its current domain, so you cannot use a domain account to sign on unless these credentials are cached and the use of cached credentials is permitted by Group Policy. If cached credentials are available and permitted, you can use these credentials to sign in. Otherwise, use an existing local administrator account. 15. After signing in, the operating system detects that it is running in a new environment. New drivers will be automatically installed, including the network adapter driver. The network adapter driver must be updated before you can proceed, so that you will be able to join the contoso.com domain. Depending on the resources allocated to PC1, installing the network adapter driver might take a few minutes. You can monitor device driver installation by clicking **Show hidden icons** in the notification area.  - >If the client was configured with a static address, you must change this to a dynamic one so that it can obtain a DHCP lease. + If the client was configured with a static address, you must change this to a dynamic one so that it can obtain a DHCP lease. 16. When the new network adapter driver has completed installation, you will receive an alert to set a network location for the contoso.com network. Select **Work network** and then click **Close**. When you receive an alert that a restart is required, click **Restart Later**. @@ -831,7 +771,7 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to To open Windows PowerShell on Windows 7, click **Start**, and search for "**power**." Right-click **Windows PowerShell** and then click **Pin to Taskbar** so that it is simpler to use Windows PowerShell during this lab. Click **Windows PowerShell** on the taskbar, and then type **ipconfig** at the prompt to see the client's current IP address. Also type **ping dc1.contoso.com** and **nltest /dsgetdc:contoso.com** to verify that it can reach the domain controller. See the following examples of a successful network connection: - ``` + ```console ipconfig Windows IP Configuration @@ -862,99 +802,108 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS 0xC000 ``` - >If PC1 is running Windows 7, enhanced session mode might not be available, which means that you cannot copy and paste commands from the Hyper-V host to a Windows PowerShell prompt on PC1. However, it is possible to use integration services to copy a file from the Hyper-V host to a VM. The next procedure demonstrates this. If the Copy-VMFile command fails, then type the commands below at an elevated Windows PowerShell prompt on PC1 instead of saving them to a script to run remotely. If PC1 is running Windows 8 or a later operating system, you can use enhanced session mode to copy and paste these commands instead of typing them. + > [!NOTE] + > If PC1 is running Windows 7, enhanced session mode might not be available, which means that you cannot copy and paste commands from the Hyper-V host to a Windows PowerShell prompt on PC1. However, it is possible to use integration services to copy a file from the Hyper-V host to a VM. The next procedure demonstrates this. If the Copy-VMFile command fails, then type the commands below at an elevated Windows PowerShell prompt on PC1 instead of saving them to a script to run remotely. If PC1 is running Windows 8 or a later operating system, you can use enhanced session mode to copy and paste these commands instead of typing them. 18. Minimize the PC1 window and switch to the Hyper-V host computer. Open an elevated Windows PowerShell ISE window on the Hyper-V host (right-click Windows PowerShell and then click **Run ISE as Administrator**) and type the following commands in the (upper) script editor pane: -
+ ```powershell (Get-WmiObject Win32_ComputerSystem).UnjoinDomainOrWorkgroup($null,$null,0) $pass = "pass@word1" | ConvertTo-SecureString -AsPlainText -Force $user = "contoso\administrator" $cred = New-Object System.Management.Automation.PSCredential($user,$pass) Add-Computer -DomainName contoso.com -Credential $cred Restart-Computer -+ ``` - >If you do not see the script pane, click **View** and verify **Show Script Pane Top** is enabled. Click **File** and then click **New**. + If you do not see the script pane, click **View** and verify **Show Script Pane Top** is enabled. Click **File** and then click **New**. See the following example: -  + :::image type="content" alt-text="ISE 1." source="images/ISE.png" lightbox="images/ISE.png"::: 19. Click **File**, click **Save As**, and save the commands as **c:\VHD\pc1.ps1** on the Hyper-V host. + 20. In the (lower) terminal input window, type the following commands to enable Guest Service Interface on PC1 and then use this service to copy the script to PC1: -
+ ```powershell Enable-VMIntegrationService -VMName PC1 -Name "Guest Service Interface" Copy-VMFile "PC1" -SourcePath "C:\VHD\pc1.ps1" -DestinationPath "C:\pc1.ps1" -CreateFullPath -FileSource Host -+ ``` - >In order for this command to work properly, PC1 must be running the vmicguestinterface (Hyper-V Guest Service Interface) service. If this service is not enabled in this step, then the copy-VMFile command will fail. In this case, you can try updating integration services on the VM by mounting the Hyper-V Integration Services Setup (vmguest.iso), which is located in C:\Windows\System32 on Windows Server 2012 and 2012 R2 operating systems that are running the Hyper-V role service. + > [!NOTE] + > In order for this command to work properly, PC1 must be running the vmicguestinterface (Hyper-V Guest Service Interface) service. If this service is not enabled in this step, then the copy-VMFile command will fail. In this case, you can try updating integration services on the VM by mounting the Hyper-V Integration Services Setup (vmguest.iso), which is located in C:\Windows\System32 on Windows Server 2012 and 2012 R2 operating systems that are running the Hyper-V role service. If the copy-vmfile command does not work and you cannot properly enable or upgrade integration services on PC1, then create the file c:\pc1.ps1 on the VM by typing the commands into this file manually. The copy-vmfile command is only used in this procedure as a demonstration of automation methods that can be used in a Hyper-V environment when enhanced session mode is not available. After typing the script file manually, be sure to save the file as a Windows PowerShell script file with the .ps1 extension and not as a text (.txt) file. 21. On PC1, type the following commands at an elevated Windows PowerShell prompt: -
+ ```powershell Get-Content c:\pc1.ps1 | powershell.exe -noprofile - -+ ``` - >The commands in this script might take a few moments to complete. If an error is displayed, check that you typed the command correctly, paying close attention to spaces. PC1 is removed from its domain in this step while not connected to the corporate network so as to ensure the computer object in the corporate domain is unaffected. PC1 is also not renamed to "PC1" in system properties so that it maintains some of its mirrored identity. However, if desired you can also rename the computer. + The commands in this script might take a few moments to complete. If an error is displayed, check that you typed the command correctly, paying close attention to spaces. PC1 is removed from its domain in this step while not connected to the corporate network so as to ensure the computer object in the corporate domain is unaffected. PC1 is also not renamed to "PC1" in system properties so that it maintains some of its mirrored identity. However, if desired you can also rename the computer. 22. Upon completion of the script, PC1 will automatically restart. When it has restarted, sign in to the contoso.com domain using the **Switch User** option, with the **user1** account you created in step 11 of this section. - >**Important**: The settings that will be used later to migrate user data specifically select only accounts that belong to the CONTOSO domain. However, this can be changed to migrate all user accounts, or only other specified accounts. If you wish to test migration of user data and settings with accounts other than those in the CONTOSO domain, you must specify these accounts or domains when you configure the value of **ScanStateArgs** in the MDT test lab guide. This value is specifically called out when you get to that step. If you wish to only migrate CONTOSO accounts, then you can log in with the user1 account or the administrator account at this time and modify some of the files and settings for later use in migration testing. + + > [!IMPORTANT] + > The settings that will be used later to migrate user data specifically select only accounts that belong to the CONTOSO domain. However, this can be changed to migrate all user accounts, or only other specified accounts. If you wish to test migration of user data and settings with accounts other than those in the CONTOSO domain, you must specify these accounts or domains when you configure the value of **ScanStateArgs** in the MDT test lab guide. This value is specifically called out when you get to that step. If you wish to only migrate CONTOSO accounts, then you can log in with the user1 account or the administrator account at this time and modify some of the files and settings for later use in migration testing. + 23. Minimize the PC1 window but do not turn it off while the second Windows Server 2012 R2 VM (SRV1) is configured. This verifies that the Hyper-V host has enough resources to run all VMs simultaneously. Next, SRV1 will be started, joined to the contoso.com domain, and configured with RRAS and DNS services. + 24. On the Hyper-V host computer, at an elevated Windows PowerShell prompt, type the following commands: -
+ ```powershell Start-VM SRV1 vmconnect localhost SRV1 -+ ``` 25. Accept the default settings, read license terms and accept them, provide an administrator password of pass@word1, and click **Finish**. When you are prompted about finding PCs, devices, and content on the network, click **Yes**. + 26. Sign in to SRV1 using the local administrator account. In the same way that was done on DC1, sign out of SRV1 and then sign in again to enable enhanced session mode. This will enable you to copy and paste Windows PowerShell commands from the Hyper-V host to the VM. + 27. Open an elevated Windows PowerShell prompt on SRV1 and type the following commands: -
+ ```powershell Rename-Computer SRV1 New-NetIPAddress -InterfaceAlias Ethernet -IPAddress 192.168.0.2 -PrefixLength 24 Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 192.168.0.1,192.168.0.2 Restart-Computer -+ ``` - >[!IMPORTANT] - >Verify that you are configuring the correct interface in this step. The commands in this step assume that the poc-internal interface on SRV1 is named "Ethernet." If you are unsure how to check the interface, see step #30 below for instructions and tips on how to verify and modify the interface name. + > [!IMPORTANT] + > Verify that you are configuring the correct interface in this step. The commands in this step assume that the poc-internal interface on SRV1 is named "Ethernet." If you are unsure how to check the interface, see step #30 below for instructions and tips on how to verify and modify the interface name. 28. Wait for the computer to restart, sign in again, then type the following commands at an elevated Windows PowerShell prompt: -
+ ```powershell $pass = "pass@word1" | ConvertTo-SecureString -AsPlainText -Force $user = "contoso\administrator" $cred = New-Object System.Management.Automation.PSCredential($user,$pass) Add-Computer -DomainName contoso.com -Credential $cred Restart-Computer -+ ``` 29. Sign in to the contoso.com domain on SRV1 using the domain administrator account (enter contoso\administrator as the user), open an elevated Windows PowerShell prompt, and type the following commands: -
+ ```powershell Install-WindowsFeature -Name DNS -IncludeManagementTools Install-WindowsFeature -Name WDS -IncludeManagementTools Install-WindowsFeature -Name Routing -IncludeManagementTools -+ ``` 30. Before configuring the routing service that was just installed, verify that network interfaces were added to SRV1 in the right order, resulting in an interface alias of "Ethernet" for the private interface, and an interface alias of "Ethernet 2" for the public interface. Also verify that the external interface has a valid external DHCP IP address lease. To view a list of interfaces, associated interface aliases, and IP addresses on SRV1, type the following Windows PowerShell command. Example output of the command is also shown below: -
+ ```powershell Get-NetAdapter | ? status -eq ‘up’ | Get-NetIPAddress -AddressFamily IPv4 | ft IPAddress, InterfaceAlias IPAddress InterfaceAlias --------- -------------- 10.137.130.118 Ethernet 2 192.168.0.2 Ethernet -+ ``` In this example, the poc-internal network interface at 192.168.0.2 is associated with the "Ethernet" interface and the Internet-facing poc-external interface is associated with the "Ethernet 2" interface. If your interfaces are different, you must adjust the commands provided in the next step appropriately to configure routing services. Also note that if the "Ethernet 2" interface has an IP address in the 192.168.0.100-105 range then it likely is getting a DHCP lease from DC1 instead of your corporate network. If this is the case, you can try removing and re-adding the second network interface from the SRV1 VM through its Hyper-V settings. @@ -964,37 +913,38 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to 31. To configure SRV1 with routing capability for the PoC network, type or paste the following commands at an elevated Windows PowerShell prompt on SRV1: -
+ ```powershell Install-RemoteAccess -VpnType Vpn cmd /c netsh routing ip nat install cmd /c netsh routing ip nat add interface name="Ethernet 2" mode=FULL cmd /c netsh routing ip nat add interface name="Ethernet" mode=PRIVATE cmd /c netsh routing ip nat add interface name="Internal" mode=PRIVATE -+ ``` 32. The DNS service on SRV1 also needs to resolve hosts in the `contoso.com` domain. This can be accomplished with a conditional forwarder. Open an elevated Windows PowerShell prompt on SRV1 and type the following command: -
+ ```powershell Add-DnsServerConditionalForwarderZone -Name contoso.com -MasterServers 192.168.0.1 -+ ``` 33. In most cases, this completes configuration of the PoC network. However, if your corporate network has a firewall that filters queries from local DNS servers, you will also need to configure a server-level DNS forwarder on SRV1 to resolve Internet names. To test whether or not DNS is working without this forwarder, try to reach a name on the Internet from DC1 or PC1, which are only using DNS services on the PoC network. You can test DNS with the ping command, for example: -
+ ```powershell ping www.microsoft.com -+ ``` If you see "Ping request could not find host `www.microsoft.com`" on PC1 and DC1, but not on SRV1, then you will need to configure a server-level DNS forwarder on SRV1. To do this, open an elevated Windows PowerShell prompt on SRV1 and type the following command. - **Note**: This command also assumes that "Ethernet 2" is the external-facing network adapter on SRV1. If the external adapter has a different name, replace "Ethernet 2" in the command below with that name: + > [!NOTE] + > This command also assumes that "Ethernet 2" is the external-facing network adapter on SRV1. If the external adapter has a different name, replace "Ethernet 2" in the command below with that name: -
+ ```powershell Add-DnsServerForwarder -IPAddress (Get-DnsClientServerAddress -InterfaceAlias "Ethernet 2").ServerAddresses -+ ``` 34. If DNS and routing are both working correctly, you will see the following on DC1 and PC1 (the IP address might be different, but that is OK): -
+ ```powershell PS C:\> ping www.microsoft.com Pinging e2847.dspb.akamaiedge.net [23.222.146.170] with 32 bytes of data: @@ -1007,15 +957,15 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 3ms, Average = 2ms -+ ``` 35. Verify that all three VMs can reach each other, and the Internet. See [Appendix A: Verify the configuration](#appendix-a-verify-the-configuration) for more information. 36. Lastly, because the client computer has different hardware after copying it to a VM, its Windows activation will be invalidated and you might receive a message that you must activate Windows in 3 days. To extend this period to 30 days, type the following commands at an elevated Windows PowerShell prompt on PC1: -
+ ```powershell runas /noprofile /env /user:administrator@contoso.com "cmd /c slmgr -rearm" Restart-Computer -+ ``` This completes configuration of the starting PoC environment. Additional services and tools are installed in subsequent guides. @@ -1025,7 +975,7 @@ Use the following procedures to verify that the PoC environment is configured pr 1. On DC1, open an elevated Windows PowerShell prompt and type the following commands: -
+ ```powershell Get-Service NTDS,DNS,DHCP DCDiag -a Get-DnsServerResourceRecord -ZoneName contoso.com -RRType A @@ -1034,72 +984,79 @@ Use the following procedures to verify that the PoC environment is configured pr Get-DhcpServerInDC Get-DhcpServerv4Statistics ipconfig /all -+ ``` - **Get-Service** displays a status of "Running" for all three services.
+ ```powershell Get-Service DNS,RemoteAccess Get-DnsServerForwarder Resolve-DnsName -Server dc1.contoso.com -Name www.microsoft.com ipconfig /all netsh int ipv4 show address -+ ``` + + **Get-Service** displays a status of "Running" for both services. + + **Get-DnsServerForwarder** either displays no forwarders, or displays a list of forwarders you are required to use so that SRV1 can resolve Internet names. + + **Resolve-DnsName** displays public IP address results for `www.microsoft.com`. + + **ipconfig** displays a primary DNS suffix of `contoso.com`. The suffix search list contains `contoso.com` and your corporate domain. Two ethernet adapters are shown: Ethernet adapter "Ethernet" has an IP addresses of 192.168.0.2, subnet mask of 255.255.255.0, no default gateway, and DNS server addresses of 192.168.0.1 and 192.168.0.2. Ethernet adapter "Ethernet 2" has an IP address, subnet mask, and default gateway configured by DHCP on your corporate network. - **Get-Service** displays a status of "Running" for both services.
+ ```powershell whoami hostname nslookup www.microsoft.com ping -n 1 dc1.contoso.com tracert www.microsoft.com -+ ``` + + **whoami** displays the current user context, for example in an elevated Windows PowerShell prompt, contoso\administrator is displayed. + + **hostname** displays the name of the local computer, for example W7PC-001. + + **nslookup** displays the DNS server used for the query, and the results of the query. For example, server `dc1.contoso.com`, address 192.168.0.1, Name `e2847.dspb.akamaiedge.net`. + + **ping** displays if the source can resolve the target name, and whether or not the target responds to ICMP. If it cannot be resolved, "..could not find host" will be displayed and if the target is found and also responds to ICMP, you will see "Reply from" and the IP address of the target. - **whoami** displays the current user context, for example in an elevated Windows PowerShell prompt, contoso\administrator is displayed.
- -
Term - | Definition - |
GPT | GUID partition table (GPT) is an updated hard-disk formatting scheme that enables the use of newer hardware. GPT is one of the partition formats that can be chosen when first initializing a hard drive, prior to creating and formatting partitions. - |
Hyper-V | Hyper-V is a server role introduced with Windows Server 2008 that lets you create a virtualized computing environment. Hyper-V can also be installed as a Windows feature on Windows client operating systems, starting with Windows 8. - |
Hyper-V host | The computer where Hyper-V is installed. - |
Hyper-V Manager | The user-interface console used to view and configure Hyper-V. - |
MBR | Master Boot Record (MBR) is a legacy hard-disk formatting scheme that limits support for newer hardware. MBR is one of the partition formats that can be chosen when first initializing a hard drive, prior to creating and formatting partitions. MBR is in the process of being replaced by the GPT partition format. - |
Proof of concept (PoC) | Confirmation that a process or idea works as intended. A PoC is carried out in a test environment to learn about and verify a process. - |
Shadow copy | A copy or "snapshot" of a computer at a point in time, created by the Volume Shadow Copy Service (VSS), typically for backup purposes. - |
Virtual machine (VM) | A VM is a virtual computer with its own operating system, running on the Hyper-V host. - |
Virtual switch | A virtual network connection used to connect VMs to each other and to physical network adapters on the Hyper-V host. - |
VM snapshot | A point in time image of a VM that includes its disk, memory and device state. It can be used to return a virtual machine to a former state corresponding to the time the snapshot was taken. - |
Not configured: PIN length must be greater than or equal to 4.
Enabled: PIN length must be greater than or equal to the number you specify.
Disabled: PIN length must be greater than or equal to 4.| |Expiration|Computer|
Not configured: PIN does not expire.
Enabled: PIN can be set to expire after any number of days between 1 and 730, or PIN can be set to never expire by setting policy to 0.
Disabled: PIN does not expire.| |History|Computer|
Not configured: Previous PINs are not stored.
Enabled: Specify the number of previous PINs that can be associated to a user account that can't be reused.
Disabled: Previous PINs are not stored.
Not configured: Users cannot include a special character in their PIN
Enabled: Users must include at least one special character in their PIN.
Disabled: Users cannot include a special character in their PIN.| +|Require special characters|Computer|
Not configured: Windows allows, but does not require, special characters in the PIN.
Enabled: Windows requires the user to include at least one special character in their PIN.
Disabled: Windows does not allow the user to include special characters in their PIN.| |Require uppercase letters|Computer|
Not configured: Users cannot include an uppercase letter in their PIN.
Enabled: Users must include at least one uppercase letter in their PIN.
Disabled: Users cannot include an uppercase letter in their PIN.| ### Phone Sign-in @@ -168,4 +168,4 @@ If you want to use Windows Hello for Business with certificates, you'll need a d - [Windows Hello and password changes](hello-and-password-changes.md) - [Windows Hello errors during PIN creation](hello-errors-during-pin-creation.md) - [Event ID 300 - Windows Hello successfully created](hello-event-300.md) -- [Windows Hello biometrics in the enterprise](hello-biometrics-in-enterprise.md) \ No newline at end of file +- [Windows Hello biometrics in the enterprise](hello-biometrics-in-enterprise.md) diff --git a/windows/security/identity.md b/windows/security/identity.md index 0cfa07beba..7e2e8ca4b9 100644 --- a/windows/security/identity.md +++ b/windows/security/identity.md @@ -13,7 +13,7 @@ ms.prod: m365-security ms.technology: windows-sec --- -# Windows identity and user security +# Windows identity and privacy Malicious actors launch millions of password attacks every day. Weak passwords, password spraying, and phishing are the entry point for many attacks. Knowing that the right user is accessing the right device and the right data is critical to keeping your business, family, and self, safe and secure. Windows Hello, Windows Hello for Business, and Credential Guard enable customers to move to passwordless multifactor authentication (MFA). MFA can reduce the risk of compromise in organizations. diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index 7cf2f166da..c76ead4afc 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -29,18 +29,18 @@ In Windows client, hardware and software work together to help protect you from See the following articles to learn more about the different areas of Windows threat protection: -- [Application Control](/windows-defender-application-control/windows-defender-application-control.md) +- [Application Control](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control) - [Attack Surface Reduction Rules](/microsoft-365/security/defender-endpoint/attack-surface-reduction) - [Controlled Folder Access](/microsoft-365/security/defender-endpoint/controlled-folders) - [Exploit Protection](/microsoft-365/security/defender-endpoint/exploit-protection) -- [Microsoft Defender Application Guard](/windows/security/threat-protection/microsoft-defender-application-guard/md-app-guard-overview.md) +- [Microsoft Defender Application Guard](/windows/security/threat-protection/microsoft-defender-application-guard/md-app-guard-overview) - [Microsoft Defender Device Guard](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) -- [Microsoft Defender SmartScreen](/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview.md) +- [Microsoft Defender SmartScreen](/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview) - [Network Protection](/microsoft-365/security/defender-endpoint/network-protection) -- [Virtualization-Based Protection of Code Integrity](/windows/security/threat-protection/device-guard/enable-virtualization-based-protection-of-code-integrity.md) +- [Virtualization-Based Protection of Code Integrity](/windows/security/threat-protection/device-guard/enable-virtualization-based-protection-of-code-integrity) - [Web Protection](/microsoft-365/security/defender-endpoint/web-protection-overview) - [Windows Firewall](windows-firewall/windows-firewall-with-advanced-security.md) -- [Windows Sandbox](/windows/security/threat-protection/windows-sandbox/windows-sandbox-overview.md) +- [Windows Sandbox](/windows/security/threat-protection/windows-sandbox/windows-sandbox-overview) ### Next-generation protection Next-generation protection is designed to identify and block new and emerging threats. Powered by the cloud and machine learning, Microsoft Defender Antivirus can help stop attacks in real-time.