From d7219a98cea8f552619f2321667e10b4278c083d Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 19 Aug 2016 17:21:50 -0700 Subject: [PATCH] upd --- windows/deploy/images/installing-drivers.png | Bin 0 -> 30900 bytes windows/deploy/windows-10-poc.md | 109 +++++++++++++++++-- 2 files changed, 98 insertions(+), 11 deletions(-) create mode 100644 windows/deploy/images/installing-drivers.png diff --git a/windows/deploy/images/installing-drivers.png b/windows/deploy/images/installing-drivers.png new file mode 100644 index 0000000000000000000000000000000000000000..22d7808fad540e5ead7973e2909f11118304577a GIT binary patch literal 30900 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 f#50f67esF^p$goeg+#zj!w3oxRoO~uNote: 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. 2. On the computer you wish to convert, double-click the disk2vhd utility to start the graphical user interface. @@ -272,11 +274,13 @@ The lab architecture is summarized in the following diagram: 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). -1. Open an elevated Windows PowerShell window and type the following command to create a virtual switch named "poc-internal": +1. Open an elevated Windows PowerShell window and type the following command to create two virtual switches named "poc-internal" and "poc-external": ``` 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" ``` + **Note**: Since an external virtual switch is associated to a physical NIC on the Hyper-V host, this NIC must be specified. If your Hyper-V host is dual-homed and both interfaces are up, the second command above will fail. In this case, you will need to edit the previous command and insert the specific value desired for the -NetAdapterName option (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: @@ -293,16 +297,24 @@ Note: The Hyper-V Windows PowerShell module is not available on Windows Server 2 ``` In this example, VMs must use a maximum of 2700 MB of RAM so that you can run four VMs simultaneously. -4. At the elevated Windows PowerShell prompt, type the following command to create two new VMs. **Important**: Replace the value of 2700MB with the RAM value that you calculated in the previous step: +4. At the elevated Windows PowerShell prompt, type the following command to create three new VMs. The fourth VM will be added later. **Important**: Replace the value of 2700MB in the first command below with the RAM value that you calculated in the previous step: ``` $maxRAM = 2700MB New-VM –Name "2012R2-DC1" –VHDPath c:\vhd\2012R2-poc-1.vhd -SwitchName poc-internal Set-VMMemory -VMName "2012R2-DC1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 - New-VM –Name "2012R2-SRV1" –VHDPath c:\vhd\2012R2-poc-2.vhd -SwitchName poc-internal + New-VM –Name "2012R2-SRV1" –VHDPath c:\vhd\2012R2-poc-2.vhd -SwitchName poc-internal,poc-external Set-VMMemory -VMName "2012R2-SRV1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 + New-VM –Name "PC1" –VHDPath c:\vhd\w7.vhdx -SwitchName poc-internal + Set-VMMemory -VMName "PC1" -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes $maxRAM -Buffer 20 ``` - + +^^^^^^^ +Stopping right here for now. I need to change: +New-VM –Name "2012R2-SRV1" –VHDPath c:\vhd\2012R2-poc-2.vhd -SwitchName poc-internal,poc-external +--this won't work as written. I need to figure out how to add a VM with two NICs, or add a NIC to an existing VM via PowerShell + + ### Configure Windows Server 2012 R2 VHDs 1. Open an elevated Windows PowerShell window on the Hyper-V host and start the first VM by typing the following command: @@ -310,40 +322,115 @@ Note: The Hyper-V Windows PowerShell module is not available on Windows Server 2 ``` Start-VM 2012R2-DC1 ``` -2. Wait for the VM to complete starting up, and then connect to it either using the Hyper-V Manager console (virtmgmt.msc) or using an elevated command prompt: +2. Wait for the VM to complete starting up, and then connect to it either using the Hyper-V Manager console (virtmgmt.msc) or using an elevated command prompt on the Hyper-V host: ``` vmconnect localhost 2012R2-DC1 ``` -3. If the VM 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." At an elevated Windows PowerShell prompt on the VM, type the following commands to provide a new hostname and configure a static IP address and gateway: +3. Accept the default settings, read license terms and accept them, provide an administrator password of **pass@word1**, and click **Finish**. +4. If the VM 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." At an elevated Windows PowerShell prompt on the VM, type the following commands to provide a new hostname and configure a static IP address and gateway: ``` Rename-Computer DC1 New-NetIPAddress –InterfaceAlias Ethernet –IPAddress 192.168.0.1 –PrefixLength 24 -DefaultGateway 192.168.0.2 ``` -4. Install the Active Directory Domain Services role by typing the following command at an elevated Windows PowerShell prompt: + **Note**: The default gateway will be added to a member server at 192.168.0.2 later in this guide. +5. 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 ``` -5. Before promoting the server to a Domain Controller, you must reboot so that the name change in step 3 above takes effect: +6. Before promoting the server to a Domain Controller, you must reboot so that the name change in step 3 above takes effect: ``` shutdown /r ``` -5. When the VM 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: +7. When the VM 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: ``` $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. -6. When the reboot has completed, sign in again and open an elevated Windows PowerShell prompt so that you can add the DHCP Server role: +8. When the reboot has completed, sign in using the CONTOSO\Administrator account, open an elevated Windows PowerShell prompt, and use the following commands to add the DHCP Server role, authorize it in Active Directory, and supress the post-install alert: ``` - + 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 ``` +9. 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 + ``` + **Note**: 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. +10. Lastly, 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 + ``` +11. Minimize the 2012-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. + +12. Using an elevated Windows PowerShell prompt on the Hyper-V host, start the client VM, and connect to it: + ``` + Start-VM PC1 + vmconnect localhost PC1 + ``` +13. Sign on to the client VM using an account that has local administrator rights. **Note**:The client VM 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. +14. 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 the VM, this might take a few minutes. + + ![PoC](images/installing-drivers.png) + +15. 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**. If you receive an alert that a restart is required, click **Restart Later**. +16. Open an elevated Windows PowerShell prompt on the client VM and verify that the client VM can communicate with the consoto.com domain controller. **Note**: If the client was configured with a static address, you must change this to a dynamic one: + ``` + ping dc1.contoso.com + + Pingng dc1.contoso.com [192.168.0.1] with 32 bytes of data: + Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 + Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 + Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 + Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 + + nltest /dsgetdc:contoso + DC: \\DC1 + Address: \\192.168.0.1 + Dom Guid: fdbd0643-d664-411b-aea0-fe343d7670a8 + Dom Name: CONTOSO + Forest Name: contoso.com + Dc Site Name: Default-First-Site-Name + Our Site Name: Default-First-Site-Name + Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS 0xC000 + ``` +17. From an elevated Windows PowerShell prompt, type the following commands to forcibly remove the computer from its previous domain, join the contoso.com domain, and then restart the computer: + ``` + cmd /c start /B /W wmic /interactive:off ComputerSystem Where "Name='%computername%'" Call UnJoinDomainOrWorkgroup FUnjoinOptions=0 + $pass = "pass@word1" | ConvertTo-SecureString -AsPlainText -Force + $user = "contoso\administrator" + $cred = New-Object System.Management.Automation.PSCredential($user,$pass) + Add-Computer -DomainName contoso -Credential $cred + shutdown /r + ``` +18. After the computer restarts, sign in to the contoso.com domain with the (user1) account you created in step 8. +19. Minimize the client VM and but do not turn it off while the second Windows Server 2012 R2 VM is configured. This ensures that the Hyper-V host has enough resources to run all VMs simultaneously. Next, the member server VM will be started, joined to the contoso.com domain, and configured with RRAS and DNS services. +20. On the Hyper-V host computer at an elevated Windows PowerShell prompt, type the following commands: + ``` + Start-VM 2012R2-SRV1 + vmconnect localhost 2012R2-SRV1 + ``` +21. 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**. +22. Sign in to the member server VM using the Administrator account, open an elevated Windows PowerShell prompt, and type the following commands: + ``` + Rename-Computer SRV1 + New-NetIPAddress –InterfaceAlias Ethernet –IPAddress 192.168.0.2 –PrefixLength 24 + ``` + + ## Appendix A: Configuring Hyper-V on Windows Server 2008 R2