From 7bf86f4a1a9b961b3ee5b8ce6b3d24d5b7b102e5 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 13 Oct 2016 17:28:58 -0700 Subject: [PATCH] several edits --- windows/deploy/images/ISE.PNG | Bin 0 -> 71898 bytes windows/deploy/windows-10-poc.md | 111 ++++++++++++++++++------------- 2 files changed, 64 insertions(+), 47 deletions(-) create mode 100644 windows/deploy/images/ISE.PNG diff --git a/windows/deploy/images/ISE.PNG b/windows/deploy/images/ISE.PNG new file mode 100644 index 0000000000000000000000000000000000000000..edf53101f4614228a1474d80eb8e43739cbf27cc GIT binary patch literal 71898 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

EbQ}OS(nE# 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 V#YSp+`11a!4>f_5o&WvD{{tm @@ -203,7 +205,7 @@ The lab architecture is summarized in the following diagram: ``` Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All ``` - This command works on all operating systems that support Hyper-V. When you are prompted to restart the computer, choose **Yes**. The computer might restart more than once. + This command works on all operating systems that support Hyper-V. 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. You can also 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: @@ -303,9 +305,9 @@ The second Windows Server 2012 R2 VHD needs to be expanded in size from 40GB to ### Configure Hyper-V -Note: The Hyper-V Windows PowerShell module is not available on Windows Server 2008 R2. For more information, see [Appendix A: Configuring Hyper-V settings on 2008 R2](#appendix-a-configuring-hyper-v-on-windows-server-2008-r2). +Note: The Hyper-V Windows PowerShell module is not available on Windows Server 2008 R2. For more information, see [Appendix B: Configuring Hyper-V on Windows Server 2008 R2](#appendix-b-configuring-hyper-v-on-windows-server-2008-r2). -**Important**:You should take advantage of [enhanced session mode](https://technet.microsoft.com/windows-server-docs/compute/hyper-v/learn-more/Use-local-resources-on-Hyper-V-virtual-machine-with-VMConnect) when completing instructions in this guide. Enhanced session mode enables you to copy and paste the commands. After copying some text, you can paste into a Windows PowerShell window by simply right-clicking. Before right-clicking, do not left click other locations as this can empty the clipboard. You can also copy and paste files directly from one computer to another by right-clicking and selecting copy, then right-clicking and selecting paste. +**Important**: You should take advantage of [enhanced session mode](https://technet.microsoft.com/windows-server-docs/compute/hyper-v/learn-more/Use-local-resources-on-Hyper-V-virtual-machine-with-VMConnect) when completing instructions in this guide. Enhanced session mode enables you to copy and paste the commands from the Hyper-V host to VMs and between VMs. After copying some text, you can paste into a Windows PowerShell window by simply right-clicking. Before right-clicking, do not left click other locations as this can empty the clipboard. You can also

directly from one computer to another by right-clicking and selecting copy, then right-clicking and selecting paste. Instructions to "type" commands provided in this guide can be typed, but in most cases the preferred method is to copy and paste these commands. @@ -318,16 +320,23 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` New-VMSwitch -Name poc-internal -SwitchType Internal -Notes "PoC Network" - New-VMSwitch -Name poc-external -NetAdapterName (Get-NetAdapter |?{$_.Status -eq "Up" -and $_.NdisPhysicalMedium -eq 14}).Name -Notes "PoC External" + 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. + + >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. This is automated in the example here 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 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" ``` - >Also, 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. This is automated in the example here by filtering for active ethernet adapters using the Get-NetAdapter cmdlet. If your Hyper-V host has 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 specific value needed for the -NetAdapterName option. This value corresponds to the name of the network interface you wish to use. 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: ``` (Get-Counter -Counter @("\Memory\Available MBytes")).countersamples.cookedvalue ``` - >This command will display the megabytes of RAM available. On a Hyper-V host computer with 16 GB of physical RAM installed, 12,000 MB of RAM or greater should be available if the computer is not also running other applications. If the computer has less than 12,000 MB of available RAM, try closing applications to free up more memory. + >This command will display the megabytes of RAM available. On a Hyper-V host computer with 16 GB of physical RAM installed, 12,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 5000 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: @@ -342,18 +351,20 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` $maxRAM = 2700MB - New-VM –Name "DC1" –VHDPath c:\vhd\2012R2-poc-1.vhd -SwitchName poc-internal + 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 - Enable-VMIntegrationService –Name "Guest Service Interface" -VMName DC1 - New-VM –Name "SRV1" –VHDPath c:\vhd\2012R2-poc-2.vhd -SwitchName poc-internal + Enable-VMIntegrationService -Name "Guest Service Interface" -VMName DC1 + New-VM -Name "SRV1" -VHDPath c:\vhd\2012R2-poc-2.vhd -SwitchName poc-internal 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 - New-VM –Name "PC1" –VHDPath c:\vhd\w7.vhdx -SwitchName poc-internal + Enable-VMIntegrationService -Name "Guest Service Interface" -VMName SRV1 + 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 + Enable-VMIntegrationService -Name "Guest Service Interface" -VMName PC1 ``` + **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. + ### Configure VHDs 1. At an elevated Windows PowerShell prompt on the Hyper-V host, start the first VM by typing the following command: @@ -367,8 +378,9 @@ Instructions to "type" commands provided in this guide can be typed, but in most vmconnect localhost DC1 ``` 3. 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**. -4. Sign in to DC1 using the local administrator account. 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 with the local Administrator account. Note: Signing in this way ensures that [enhanced session mode](https://technet.microsoft.com/windows-server-docs/compute/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: +4. Click the **Ctrl+Alt+Del** button in the upper left corner of the virtual machine connection window, and then sign in to DC1 using the local administrator account. +5. 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](https://technet.microsoft.com/windows-server-docs/compute/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. +6. 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: ``` Rename-Computer DC1 @@ -376,26 +388,26 @@ Instructions to "type" commands provided in this guide can be typed, but in most 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. -6. Install the Active Directory Domain Services role by typing the following command at an elevated Windows PowerShell prompt: +7. Install the Active Directory Domain Services role by typing the following command at an elevated Windows PowerShell prompt: ``` 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: +8. 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: ``` 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: +9. 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: ``` $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 supress the post-DHCP-install alert: +10. 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 supress the post-DHCP-install alert: ``` Add-DnsServerPrimaryZone -NetworkID "192.168.0.0/24" -ReplicationScope Forest @@ -405,19 +417,19 @@ Instructions to "type" commands provided in this guide can be typed, but in most 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: +11. Next, add a DHCP scope and set option values: ``` 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. -11. Add a user account to the contoso.com domain that can be used with client computers: + >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. +12. Add a user account to the contoso.com domain that can be used with client computers: ``` New-ADUser -Name "User1" -UserPrincipalName user1 -AccountPassword (ConvertTo-SecureString "pass@word1" -AsPlainText -Force) -ChangePasswordAtLogon $false -Enabled $true ``` -12. 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 existed 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: +13. 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: ``` Get-DnsServerForwarder @@ -434,26 +446,26 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` Add-DnsServerForwarder -IPAddress 192.168.0.2 ``` -13. Minimize the DC1 VM window but **do not stop** the VM. +14. Minimize the DC1 VM window but **do not stop** the VM. Next, the client VM will be started and joined to the contoso.com domain. This is done before adding a gateway to the PoC network so that there is no danger of duplicate DNS registrations for the physical client and its cloned VM in the corporate domain. -14. Using an elevated Windows PowerShell prompt on the Hyper-V host, start the client VM (PC1), and connect to it: +15. Using an elevated Windows PowerShell prompt on the Hyper-V host, start the client VM (PC1), and connect to it: ``` Start-VM PC1 vmconnect localhost PC1 ``` -15. Sign on to PC1 using an account that has local administrator rights. +16. Sign on 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. -16. 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. +17. 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. ![PoC](images/installing-drivers.png) >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. -17. 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**. -18. Open an elevated Windows PowerShell prompt on PC1 and verify that the client VM has received a DHCP lease and can communicate with the consoto.com domain controller. +18. 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**. +19. Open an elevated Windows PowerShell prompt on PC1 and verify that the client VM has received a DHCP lease and can communicate with the consoto.com domain controller. To open Windows PowerShell on Windows 7, click **Start**, and search for "**power**." @@ -489,7 +501,7 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` >If PC1 is running Windows 7, enhanced session mode is not 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. -19. Open an elevated Windows PowerShell ISE window on the Hyper-V host and type the following commands in the (upper) script editor pane: +20. 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: ``` (Get-WmiObject Win32_ComputerSystem).UnjoinDomainOrWorkgroup($null,$null,0) @@ -499,14 +511,19 @@ Instructions to "type" commands provided in this guide can be typed, but in most Add-Computer -DomainName contoso.com -Credential $cred Restart-Computer ``` -20. Click **File**, click **Save As**, and save the commands as **c:\VHD\ps1.ps1** on the Hyper-V host. -21. In the (lower) terminal input window, type the following command to copy the script to PC1 using integration services: + + See the following example: + + ![ISE](images/ISE.png) + +21. Click **File**, click **Save As**, and save the commands as **c:\VHD\pc1.ps1** on the Hyper-V host. +22. In the (lower) terminal input window, type the following command to copy the script to PC1 using integration services: ``` 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. -22. On PC1, type the following commands at an elevated Windows PowerShell prompt: +23. On PC1, type the following commands at an elevated Windows PowerShell prompt: ``` Get-Content c:\pc1.ps1 | powershell.exe -noprofile - @@ -514,18 +531,18 @@ Instructions to "type" commands provided in this guide can be typed, but in most >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. We have not also renamed PC1 to "PC1" in system properties so that it maintains some of its mirrored identity. However, if desired you can also rename the computer. -23. After PC1 restarts, sign in to the contoso.com domain with the (user1) account you created in step 11 of this section. +24. After PC1 restarts, sign in to the contoso.com domain with the (user1) account you created in step 11 of this section. >The settings that will be used to migrate user data specifically select only accounts that belong to the CONTOSO domain. If you wish to test migration of user data and settings with an account other than the user1 account, you must copy this account's profile to the user1 profile. -24. 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. -25. On the Hyper-V host computer, at an elevated Windows PowerShell prompt, type the following commands: +25. 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. +26. On the Hyper-V host computer, at an elevated Windows PowerShell prompt, type the following commands: ``` Start-VM SRV1 vmconnect localhost SRV1 ``` -26. 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**. -27. 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. -28. Open an elevated Windows PowerShell prompt on SRV1 and type the following commands: +27. 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**. +28. 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. +29. Open an elevated Windows PowerShell prompt on SRV1 and type the following commands: ``` Rename-Computer SRV1 @@ -533,7 +550,7 @@ Instructions to "type" commands provided in this guide can be typed, but in most Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 192.168.0.1,192.168.0.2 Restart-Computer ``` -29. Wait for the computer to restart, then type or paste the following commands at an elevated Windows PowerShell prompt: +30. Wait for the computer to restart, then type or paste the following commands at an elevated Windows PowerShell prompt: ``` $pass = "pass@word1" | ConvertTo-SecureString -AsPlainText -Force @@ -542,14 +559,14 @@ Instructions to "type" commands provided in this guide can be typed, but in most Add-Computer -DomainName contoso.com -Credential $cred Restart-Computer ``` -30. 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: +31. 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: ``` Install-WindowsFeature -Name DNS -IncludeManagementTools Install-WindowsFeature -Name WDS -IncludeManagementTools Install-WindowsFeature -Name Routing -IncludeManagementTools ``` -31. 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. +32. 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: @@ -563,7 +580,7 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` 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. -32. To configure SRV1 with routing capability for the PoC network, type or paste the following commands at an elevated Windows PowerShell prompt on SRV1: +33. To configure SRV1 with routing capability for the PoC network, type or paste the following commands at an elevated Windows PowerShell prompt on SRV1: ``` Install-RemoteAccess -VpnType Vpn @@ -572,12 +589,12 @@ Instructions to "type" commands provided in this guide can be typed, but in most cmd /c netsh routing ip nat add interface name="Ethernet" mode=PRIVATE cmd /c netsh routing ip nat add interface name="Internal" mode=PRIVATE ``` -33. 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: +34. 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: ``` Add-DnsServerConditionalForwarderZone -Name contoso.com -MasterServers 192.168.0.1 ``` -34. 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: +35. 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: ``` ping www.microsoft.com @@ -589,7 +606,7 @@ Instructions to "type" commands provided in this guide can be typed, but in most ``` Add-DnsServerForwarder -IPAddress (Get-DnsClientServerAddress -InterfaceAlias "Ethernet 2").ServerAddresses ``` -35. If DNS and routing are both working correctly, you will see the following on DC1 and PC1: +36. If DNS and routing are both working correctly, you will see the following on DC1 and PC1: ``` PS C:\> ping www.microsoft.com @@ -605,8 +622,8 @@ Instructions to "type" commands provided in this guide can be typed, but in most Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 3ms, Average = 2ms ``` -36. Verify that all three VMs can reach each other, and the Internet. See [Appendix B: Verify the configuration](#appendix-b-verify-the-configuration) for more information. -37. 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: +37. Verify that all three VMs can reach each other, and the Internet. See [Appendix B: Verify the configuration](#appendix-b-verify-the-configuration) for more information. +38. 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: ``` slmgr -rearm