Anda di halaman 1dari 73

Course Transcript

Microsoft Hyper-V 2016: First Look


Getting Started
1. Course Introduction

2. Hyper-V Technical Preview Overview

3. Installing Hyper-V Server

4. Installing Hyper-V Role with Server Manager

5. Installing Hyper-V Role with PowerShell

6. Supported Guests

7. Hyper-V Manager

Configuring Hyper-V
1. Creating a Virtual Machine

2. Enabling and Disabling Checkpoints

3. Configuring Standard and Production Checkpoints

4. Enable Remote Hyper-V Host Management

VM Changes
1. Virtual Machine Configuration Version

2. VM Configuration File Format

3. Production Checkpoints

4. Integration Services

Other Changes
1. Hyper-V Manager Improvements

2. Hot Add and Remove for NIC and Memory

3. Rolling Hyper-V Cluster Upgrade

4. Storage Quality of Service (QoS)

5. Linux Secure Boot


6. Connected Standby

7. Windows 10 Client Hyper-V


Course Introduction
Learning Objective
After completing this topic, you should be able to
◾ start the course

1.
Microsoft Hyper-V is included as a role in Windows Server and also as a standalone server
with no GUI. Hi, I'm Dan Lachance and in this course, I'll discuss installation, configuration,
and new features of Hyper-V in the Technical Preview. I'll also cover the installation of both
Hyper-V Server and the Windows Server role and compare the Hyper-V Server in Client to
Hyper-V in Windows 10.
Hyper-V Technical Preview Overview
Learning Objective
After completing this topic, you should be able to
◾ describe the editions and requirements of Hyper-V Technical Preview

1.
In this video, I'll do an overview of Hyper-V. The Hyper-V product comes in a number of
different flavors, one of which is Client Hyper-V. This one is designed to run on Windows client
operating systems such as Windows 10. However, your Windows 10 station would still have to
have the proper hardware support. Now for Client Hyper-V, what that means is it would have to
support Second Level Address Translation, or SLAT. Client Hyper-V does not support failover
clustering. And what this means is that it's useful in a testing environment, where you wouldn't
use client Hyper-V to run production virtual machines. The standalone Hyper-V Server product
is a separate installation and configuration. It's similar to server core, in that once it's installed,
there is no local graphical interface. But there is local command line access. We could use
remote graphical tools. However, to manage our standalone Hyper-V Server, we could even
join it to an active directory domain or join it to a failover cluster. So the standalone Hyper-V
Server product then is free. But the guest operating systems you run on it will have to be
licensed properly.

We could also install the Windows server role for Hyper-V on a server that already exists. This
is installable in the Windows Server Technical Preview code. We could also install Nano
Server, which is designed as a very small, lightweight server operating system that's optimized
for cloud use for applications as well as running virtual machines. We can manage our
Hyper-V hosts, locally or remotely. We could use the graphical Virtual Machine Manager tool.
This is part of Microsoft's System Center. So it's not included automatically. You have to
download, install, and license it properly. VMM, the Virtual Machine Manager, has the ability to
manage multiple Hyper-V hosts in a single interface. We also have the option of creating
Storage Quality of Service policies in the VMM GUI. Storage Quality of Service policies allow
us to control the disk usage in terms of minimum and maximum disk IOPS against a group of
virtual hard disks, instead of doing it for a single virtual hard disk.

Here in the Virtual Machine Manager, in the left-hand navigator at the bottom, I've selected
VMs and Services. And on the left I've expanded a cluster I've added, called Cluster1. And
here we can see a number of virtual machines. So we can right-click on the virtual machine to
manage it, such as powering it off, pausing it, shutting it down, migrating its storage, and so
on. We can also use other tools, such as the Hyper-V Manager. If I were to start the Hyper-V
GUI Manager tool, we can see on the left that we've got one connected Hyper-V host. And on
the right, we can see the virtual machines available on that host. And from here, we can also
manage the virtual machines. One of the new changes with the Hyper-V graphical
management tool is that it uses WinRM to make its connection over the network. We can also
use PowerShell to manage the virtual machines running on Hyper-V hosts as well as
managing the Hyper-V host itself. Virtual machines that are created with older Hyper-V
versions are not updated automatically when you run them on Hyper-V Technical Preview 2.
But there is a new configuration version for the virtual machines. In Technical Preview 2, it's
version 6.2. Once you update the version of a virtual machine, so that you can use new
features like production checkpoints, it's not reversible. You can view the virtual machines
running on a host along with their version numbers using the Get-VM PowerShell commandlet.
Here we can see the result of the get-vm PowerShell commandlet, where we can see the
virtual machines that are available on this Hyper-V host. And the right-most column, we can
see the Version, which is listed here at 6.2.

[The Administrator – srv2016-3.quick24x7.local – Virtual Machine Manager (Evaluation


Version) window is displayed. This window includes the following tabs: Home, Folder, Host
Cluster, and Virtual Machine. The Virtual Machine tab is selected and it further includes the
following tabs: Cluster Tools and Virtual Machine Tools. The Virtual Machine tabbed page also
includes options such as Create, Shut Down, Power On, Power Off, Pause, Resume, Migrate
Storage, Migrate Virtual Machine, Store in Library, Create Checkpoint, Manage Checkpoints,
Refresh, Connect or View, Delete, and Properties. This window contains two panes. The left
pane includes the following nodes: VMs and Services, Fabric, Library, Jobs, and Settings. The
VMs and Services node is selected and includes the following subnodes: Start Page, Tenants,
Clouds, Azure Subscriptions, VM Networks, Storage, and All Hosts. The All Hosts node is
expanded and includes the Cluster1 subnode. The Cluster1 subnode is selected. The right
pane contains two sections. The top pane includes a table, which contains information of the
five VMs. This table includes the following columns: Name, Status, Virtual Machine, Host,
Cloud, Job Status, Owner, Service, and Operating System. Some of the rows in the table are
as follows: For Name Server2, Status is Running, Virtual Machine is Running, Host is
srv2016-2, Job Status is Completed, and Operating System is Windows Server. For Name
Server3, Status is Stopped, Virtual Machine is Stopped, Host is srv2016-2, and Operating
System is Unknown. For Name Nano-1, Status is Stopped, Virtual Machine is Stopped, Host is
srv2016-2, Job Status is Completed, and Operating System is Unknown. The row
corresponding to Nano-1 virtual machine is selected in the table. The bottom pane includes the
following sections that display information about the virtual machine selected in the table:
Virtual machine information, Go to related object, Logical networks, Network adapters, Storage
(1 disks), Recent job, and Daily performance (CPU). In the right pane, the presenter selects
the row corresponding to the Server2 virtual machine and right-clicks it. As a result, the
shortcut menu is displayed that includes options such as Create, Shut Down, Power On,
Power Off, Pause, Resume, Reset, Save State, Discard Saved State, Migrate Storage, Migrate
Virtual Machine, and Properties. Then the presenter selects the row corresponding to the
Windows 10 virtual machine in the table. Next on the taskbar of the desktop, the presenter
clicks the Hyper-V icon. As a result, the Hyper-V Manager window is displayed. This window
includes the following menus: File, Action, View, and Help. It also includes icons, such as
Forward, Backward, and Folder. This window contains three panes. The left pane includes the
HyperV-Manager node. This node includes the SRV20162 sub node. The middle pane
includes the Virtual Machines section at the top, the Checkpoints section in the middle, and the
SLES 12 section at the bottom. The Virtual Machine section contains a table with four rows
and the following columns: Name, State, CPU Usage, Assigned Memory, Uptime, Status, and
Configuration. The Nano-1, Server3, and SLES 12 virtual machines have the Off Status and
their Configuration is 6.2. The Windows10 virtual machine has the Running Status, 1% CPU
Usage, 1040 MB Assigned Memory, 01:39:48 Uptime, and 6.2 Configuration. The row
corresponding to the SLES 12 virtual machine is highlighted by default. The right pane
includes the Actions section that contains the following nodes: SRV2016-2 and SLES 12. The
SRV2016-2 node includes the subnodes such as New, Import Virtual machine, Hyper-V
Settings, Virtual Switch Manager, Virtual SAN Manager, View, and Help. The SLES 12 node
includes the following sub nodes: Connect, Settings, Start, Checkpoint, Move, Export,
Rename, and Delete. The presenter closes this window. The presenter then opens the
Administrator: Windows PowerShell command prompt window. The following command is
displayed at the [srv2016-2]: PS C:\ command prompt: get-vm In addition, the output displayed
for this command includes a table containing five rows and the following seven columns:
Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. Some of the
rows in the table are as follows: The Nano-1 virtual machine is in Off State with 0 CPUUsage
(%) and MemoryAssigned(M), and 00:00:00 Uptime. Its Status is Operating normally and
Version is 6.2. The Server1 virtual machine is in Running State with 0 CPUUsage (%) and 512
MemoryAssigned(M), and 00:01:05.0870000 Uptime. Its Status is Operating normally and
Version is 6.2. For Name Server3, virtual machine is in Off State with 0 CPUUsage (%) and
MemoryAssigned(M), and 00:00:00 Uptime. Its Status is Operating normally and Version is
6.2. The SLES 12 virtual machine is in Off State with 0 CPUUsage (%) and MemoryAssigned
(M), and 00:00:00 Uptime. Its Status is Operating normally and Version is 6.2. The Windows10
virtual machine is in Running State and has 2 CPUUsage (%) and 1040 MemoryAssigned(M),
with 01:41:28.4880000 Uptime. Its Status is Operating normally and Version is 6.2.]

We use the Update-VMVersion PowerShell commandlet to update the version of a virtual


machine to the newest version, which is 6.2. However, that will be blocked if you're in a
clustered environment and the cluster functional level is Windows Server 2012 R2. So once all
of the cluster nodes have Server 2016 Technical Preview 2 or a Hyper-V Technical Preview 2,
we can then update the cluster functional level using the appropriate PowerShell commandlet.
New features such as production checkpoints aren't enabled until you update the virtual
machine version. When you run the update-vmversion commandlet, the virtual machine must
be shut down. We can verify the version, as we know, using the Get-VM commandlet. When
you update the version of a virtual machine, after that's been done, it's not reversible and the
virtual machine cannot run on Windows Server 2012 R2 hypervisors. The new version of a
virtual machine also uses an efficient binary file format for the virtual machine configuration file.

Hyper-V has system requirements as per Windows Server Technical Preview. That would be a
CPU that's at least 1.4-gigahertz, 64-bit, at least 512-megabytes of RAM, and at least 32-
gigabytes of disk space. Now naturally, all of these hardware requirements will go up,
depending on your virtual machine density and the IT workloads working within those virtual
machines. We also have to consider the fact that we may take checkpoints, or snapshots, of
virtual machines, which consumes more storage space. Also if we're using direct attached
storage or a storage area network, we have to account for the number of virtual hard disks that
will be used for each VM in addition to their checkpoints. In this video, we did an overview of
Hyper-V.
Installing Hyper-V Server
Learning Objective
After completing this topic, you should be able to
◾ install the standalone Hyper-V Server Technical Preview

1.
In this video, I'll demonstrate how to install Hyper-V Server. The Hyper-V Server product can
be installed as a role within Server Manager, if we've got Windows Server Technical Preview
2. We could also install the Hyper-V role using PowerShell at the command line or using the
Server Manager, if we've got the full Windows operating system. Or we can also download and
install the Hyper-V Server standalone product. This is a free product, although you do have to
license the virtualized operating systems. They aren't free necessarily. But the Hyper-V Server
standalone product has a minimal interface. We don't have the Hyper-V Manager GUI that we
run locally, like we could if we install the Hyper-V role on a graphical server. Now mind you, we
could use the Hyper-V Manager remotely from another host to manage our Hyper-V
standalone server installation. Here I've booted from the Hyper-V installer. We can see it's set
to Microsoft Hyper-V Server Technical Preview 2. And it wants to install using the English
language. So I will accept all of these defaults. And I'm going to go ahead and click on Next.
Now I'm not going to repair my computer. I don't have an existing Hyper-V standalone server
installation that's problematic. There's nothing installed yet. So I'm going to go ahead and click
on Install Now.

[The first page of the Install Microsoft Hyper-V Server window is displayed. This window
includes the following drop-down lists: Language to install, Time and currency format, and
Keyboard or input method. In the Language to install and Time and currency format drop-down
lists, the option English (United States) is selected. In the Keyboard or input method drop-
down list, the option US is selected. This window also includes a Next button. The presenter
clicks the Next button. As a result, the next page is displayed, which includes the Install now
button and a Repair your computer link. The presenter then clicks the Install now button.]

The next thing I'm presented with is the prerelease software license terms. Of course,
prerelease software should never be used in production. So I'll go ahead and accept these
license terms because I'm going to evaluate it. And I'll click Next. I'm not going to be doing an
upgrade. Instead I'll be doing a Custom installation. Now if you've already got Hyper-V
standalone Server Technical Preview installed, you won't be able to upgrade to Technical
Preview 2 in this prerelease code. You'll have to do a clean installation. So I'm going to choose
a Custom installation. It shows me my disk layout. So I've got a 60-gigabyte drive. I'm going to
leave that as it is and let it use it. So I'll click Next. Now I could have specified on that previous
screen an additional driver, maybe for a hardware RAID controller, if it wasn't detected by the
installer. But in this case, it's going to automatically partition the disk. And right now it's in the
midst of getting the files ready to perform the installation. After the files have been installed,
which takes about between five and ten minutes, the server is going to reboot and you're going
to be asked to set the administrator password. So I'm going to go ahead and specify that. And
I'll go ahead and confirm the password. All right. It tells me now that the password has been
changed. So now it's going to log me in to my Hyper-V standalone server in command line
mode because there is no local interface when you install Hyper-V, at least the standalone
edition.

[The Install Microsoft Hyper-V Server wizard is displayed and the License terms page is open.
This page includes the license terms description, the I accept the license terms checkbox, and
the Next button. The Next button is currently disabled. The presenter selects the I accept the
license terms checkbox and then clicks the Next button. As a result, the Which type of
installation do you want page is displayed. This page includes the following options: Upgrade:
Install the newer version of Hyper-V Server and keep files, settings, and applications and
Custom: Install the newer version of Hyper-V Server only (advanced). It also includes the Help
me decide link. The presenter then clicks the Custom: Install the newer version of Hyper-V
Server only (advanced) option. As a result, the Where do you want to install Hyper-V Server
page is displayed. This page includes a table, which contains a row and the following four
columns: Name, Total size, Free space, and Type. Drive 0 Unallocated Space includes 60.0
GB Total size and 60.0 GB free space. This page also includes the following buttons: Refresh,
Delete, Format, New, Load driver, Extend, and Next. Next the presenter clicks the Next button.
As a result, the Installing Hyper-V Server page is displayed. This page contains the status of
the installation process. After some time, the C:\Windows\System32\LogonUI.exe command
prompt window is displayed. This window includes the text Administrator and the following
options to change the user's password before signing in: Ok and Cancel. He selects Ok and
then presses the Enter key. As a result, the New password and Confirm password fields to
enter the new credentials for Administrator are displayed. He then types the password in the
New password and Confirm password fields and then presses the Enter key. As a result, a
message that the password has been changed and an Ok option are displayed. Next he
selects Ok and presses the Enter key. As a result, the C:\Windows\System32\cmd.exe –
C:\Windows\system32\sconfig.cmd command prompt window is displayed. This window
includes the following options for Server Configuration: 1 for Domain or Workgroup and the
name of the default Workgroup is WORKGROUP 2 for Computer Name and the default name
is WIN-36JE818FIG7 3 for Add Local Administrator 4 for Configure Remote Management and
it is Enabled by default 5 for Windows Update Settings and the default setting is Manual 6 for
Download and Install Updates 7 for Remote Desktop and its default status is Disabled 8 for
Network Settings 9 for Date and Time 10 for Help improve the product with CEIP Participating
11 for Log Off User 12 for Restart Server 13 for Shut Down Server 14 for Exit to Command
Line This window also includes the following message: Enter a number to select an option:]

After we've logged in for the first time, the sconfig command executes automatically. So we
can see we've got a menu of options. For example, the first thing I'll do here is I'll press
number 8 to give this a valid static IP address. Then I'll go ahead and press number 1 to set
the network adapter address. Then I'll go in to number 2 to set the DNS server. So here I'm
going to press "s" to specify a static IPv4 address for my Hyper-V host. And then I'll specify the
subnet mask as well as the default gateway IP address. Now I'm going to set the DNS server
IP address. Now this one is important if you want to join this Hyper-V host to an active
directory domain. You want to make sure the DNS server that you're pointing to is one where
this host will be able to discover the service location records for domain controllers in the
domain you want to join. So I'll go ahead and set that. Back on the main menu in sconfig, I'm
going to press number 1 to join this computer to my active directory domain and to set the
computer name.
[The C:\Windows\System32\cmd.exe – C:\Windows\system32\sconfig.cmd command prompt
window is displayed and includes the following message: Enter a number to select an option:
The presenter types 8 and then presses the Enter key. As a result, the text Network Settings
and the Available Network Adapters table are displayed with one row and the following three
columns: Index#, IP address, and Description. For Index 1, IP address is 192.168.168.227 and
Description is Intel(R) PRO/1000 MT Network Connection and Index 1. Below this table, the
following message is displayed: Select Network Adapter Index# (Blank=Cancel): Then the
presenter types 1 and presses the Enter key. As a result, the following information for the
Network Adapter Settings is displayed: NIC Index: 1 Description: Inter(R) PRO/100MT Network
Connection IP Address: 192.168.168.277 fe80::bdd9:96e9:8310:153a Subnet Mask:
255.255.255.0 DHCP enabled: True Default Gateway: 192.168.168.2 Preferred DNS Server is
192.168.168.2 Alternate DNS Server is blank. The following options are also displayed: 1 for
Set Network Adapter Address, 2 for Set DNS Servers, 3 for Clear DNS Server Settings, and 4
for Return to Main Menu. Below these options, the following message is displayed: Select
option: Next the presenter types 1 and presses the Enter key. As a result, the following
message is displayed: Select (D)HCP, (S)tatic IP (Blank=Cancel): He types s and presses the
Enter key. As a result, the following details of the Static IP are displayed: Set Static IP Enter
static IP address: 192.168.1.158 Enter subnet mask (Blank = Default 255.255.255.0): Enter
default gateway: 192.168.1.1 He then returns to the Server Configuration menu and enters the
option 2 to set the DNS Servers. As a result, the following is displayed: Enter the new
preferred DNS server (Blank=Cancel): 192.168.1.150 Next he returns to the Server
Configuration menu, types 1, and presses the Enter key. As a result, the following is displayed:
Change Domain or Workgroup Membership Join D for Domain or W for Workgroup, or Blank
for Cancel. The presenter types d and presses the Enter key. As a result, the following is
displayed: Join Domain Name of the domain to join: quick24x7.local]

Here I'm going to join the quick24x7.local active directory domain. So I'll go ahead and press
Enter. At this point, it waits for me to specify an authorized user that can join computers to the
domain. So I'm going to go ahead and specify those credentials. Then it asks me if I'd like to
change the computer name. And I'm going to choose "Yes." For the new computer name, I'm
going to type in "Hyper-V-Standalone". And again I'll specify the appropriate credentials. Here
I'm going to use the domain administrator account in that active directory domain. And now it
asks me to restart the computer to apply the changes. So I'm going to go ahead and do that.
After having rebooted, it automatically pops up sconfig when I log in to the system. And we can
now see that our system is a member of the quick24x7 domain.

[The C:\Windows\System32\cmd.exe – C:\Windows\system32\sconfig.cmd command prompt


window is displayed. The Name of domain to join is displayed as quick24x7.local. The
presenter presses the Enter key. As a result, the following message is displayed: Specify an
authorized domain\user: The presenter then enters the following: quick24x7\administrator As a
result, the following is displayed: Joining quick24x7.local... Then the C:\Windows\System32
\netdom.exe command prompt window and the Change Computer Name message box are
displayed. The message box displays the following text: Do you want to change the computer
name before restarting the computer? Next in the message box, the presenter clicks the Yes
button. As a result, the message box closes and the C:\Windows\System32\cmd.exe –
C:\Windows\system32\sconfig.cmd command prompt window is displayed with the following
message: Enter new computer name (Blank=Cancel): He types Hyper-V-Standalone and then
presses the Enter key. As a result, the following is displayed: Changing Computer name...
Specify an authorized domain or user Then he types quick24x7\administrator and presses the
Enter key. As a result, the C:\Windows\System32\netdom.exe window is displayed. Then the
Restart message box is displayed with the text, "You must restart your computer to apply these
changes. Restart now?" Next he clicks the Yes button. As a result, the message box closes
and the Server Configuration menu in the C:\Windows\System32\cmd.exe –
C:\Windows\system32\sconfig.cmd command prompt window is displayed. This window now
displays the following updated information: 1) Domain/Workgroup: Domain: quick24x7.local 2)
Computer Name: HYPER-V-STANDAL]

From another host with the Hyper-V Manager GUI tool installed, we could connect to our newly
installed Hyper-V standalone host. So I'm going to browse active directory for it. Now the
Hyper-V standalone server edition does not have to be joined to an active directory domain.
But here it is in our environment. So I'm going to go ahead and click Advanced and Find Now,
and we can see our Hyper-V Standalone server. Notice it truncated the name of this computer
because of the 15-character NetBIOS limitation. So I'm going to select that server and click OK
and OK. And after a moment, it's added here to my Hyper-V Manager navigator on the left,
where on the right, I could manage the Hyper-V settings on that host, or, if I wished, I could
build new virtual machines and so on, all using the graphical interface. Back on our Hyper-V
host, notice that every time we boot it up, it will prompt us to press Control Alt Delete to unlock,
if we want to log in locally to manage the host. So I'm going to go ahead and do that.

[The Hyper-V Manager window is displayed. This window includes the following menu items:
File, Action, View, and Help. In addition, the window includes icons, such as Forward,
Backward, and Folder, and contains three panes. The left pane includes the Hyper-V Manager
node. The middle pane contains the Introduction section, which provides an introduction to
Hyper-V. The right pane contains the Actions pane that includes the Hyper-V Manager section.
This section further includes the following nodes: Connect to Server, View, and Help. In the left
pane, the presenter right-clicks the Hyper-V Manager node. As a result, a shortcut menu is
displayed that includes the following options: Connect to Server, View, and Help. The
presenter then selects the Connect to Server option. As a result, the Select Computer dialog
box is displayed. This dialog box contains the following radio buttons: Local computer and
Another computer. The Another computer radio button is associated with a text box and the
Browse button. It also contains the following buttons: Set User, OK, and Cancel. In addition,
the dialog box contains the Connect as another user checkbox. Next the presenter clicks the
Browse button. As a result, the Select Computer dialog box is displayed. It includes the
following fields: Select this object type and From this location. The Select this object type field
is set to Computer and the From this location field is set to quick24x7.local. The dialog box
also includes the Enter the object name to select text box and the following buttons: Object
Types, Locations, Check Names, Advanced, OK, and Cancel. He clicks the Advanced button.
As a result, the updated Select Computer dialog box is displayed. This dialog includes the
following: Select this object type as Computer, From this location as quick24x7.local. It also
includes the following sections: Common Queries and Search Results. The Search Results
section contains a table with the following columns: Name and In Folder. The dialog box also
includes the following buttons: Object Types, Locations, Columns, Find Now, Stop, OK, and
Cancel. He then clicks the Find Now button. As a result, the following nine virtual machines
from the quick24x7.local folder are listed in the table: Cluster1, HYPER-V-STANDAL, NANO-1,
SC1, SOFS, SRV2016-1, SRV2016-2, SRV2016-3, and WIN10. Next he selects the row
corresponding to HYPER-V-STANDAL and clicks OK. As a result, the previously open Select
Computer dialog box is displayed with the Enter the object name to select text box now
displaying HYPER-V-STANDAL. The presenter again clicks OK. As a result, the Select
Computer dialog box is displayed with the text box associated with the Another computer radio
button now displaying HYPER-V-STANDAL. Then the presenter again clicks OK. As a result,
the dialog box closes and the Hyper-V-Manager window is displayed. In the left pane of the
window, under the Hyper-V Manager node, the HYPER-V-STANDAL subnode is now
displayed. In the Actions pane, the HYPER-V-STANDAL section is displayed that includes the
following options: New, Import Virtual Machine, Hyper-V Settings, Virtual Switch Manager,
Virtual San Manager, Edit Disk, Inspect Disk, Stop Service, Remove Server, Refresh, View,
and Help. Next the presenter clicks the Hyper-V Settings option. As a result, the Hyper-V
Settings for HYPER-V-STANDAL dialog box is displayed. He closes the Hyper-V Settings for
HYPER-V-STANDAL dialog box and the Hyper-V Manager window is displayed. In the Actions
pane, he then right-clicks the New option and the shortcut menu is displayed that includes the
following options: Virtual Machine, Hard Disk, and Floppy Disks. Next he navigates the
C:\Windows\System32\LogonUI.exe command prompt window, which displays the following:
Press Ctrl-Alt-Del to unlock The presenter presses the Ctrl-Alt-Del keys combination.]

So every time I login to my local Hyper-V host, it will automatically pop up this sconfig menu
system. But I could use Alt Tab to switch back to a regular command prompt, where I could
use any valid Windows command like ping, for example, to ping a host or a default gateway,
and so on. So I don't have to work in the sconfig menu utility. But most of the common things
we might want to do are available here, such as joining the domain, changing the computer
name, configuring Windows update, configuring remote desktop, changing the IP address in
network settings, and so on. Now if I wanted to manage my Hyper-V installation locally, I could
go back to a regular command prompt, where I could start PowerShell by typing "powershell."
Once I'm in PowerShell, I could work with all of the Hyper-V commandlets to manage the
Hyper-V host, virtual machines, virtual hard disks, checkpoints, and so on. So for example,
here I'll type "get-command". And I'm going to look in the Hyper-V module. And as we can see,
we have a number of PowerShell commandlets, such that we can use them to manage my
Hyper-V host and virtual machines locally, if we choose not to manage it remotely over the
network. In this video, we learned how to install Hyper-V Server.

[The C:\Windows\System32\cmd.exe – C:\Windows\system32\sconfig.cmd command prompt


window is displayed with the Server Configuration menu. The presenter presses the Alt+Tab
keys and navigates to the C:\Windows\System32\cmd.exe command prompt window. Then in
this window, the presenter runs the following command at the C:\Users\Administrator
command prompt: ping 192.168.1.1 As a result, the following is displayed: Pinging 192.168.1.1
with 32 bytes of data: Reply from 192.168.1.1: bytes-32<1ms TTL=64 Reply from 192.168.1.1:
bytes-32=1ms TTL=64 Ping statistics for 192.168.1.1: Packets: Sent = 2, Received = 2, Lost
=0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms,
Average = 0ms Control-C ^C Next the presenter navigates to the C:\Windows\System32
\cmd.exe – C:\Windows\system32\sconfig.cmd command prompt window and refers to the
following options in the Server Configuration menu: Domain or Workgroup, Computer Name,
Windows Update Settings, Remote Desktop, and Network Settings. He navigates to the
C:\Windows\System32\cmd.exe command prompt window and runs the following command at
the C:\Users\Administrator command prompt: powershell As a result, the name of the window
changes to Select Administrator: Windows PowerShell. Then he runs the following command
at the PS C:\Users\Administrator command prompt: get-command –module hyper-v As a
result, all the PowerShell commandlets in the hyper-v module is displayed.]
Installing Hyper-V Role with Server Manager
Learning Objective
After completing this topic, you should be able to
◾ add the Hyper-V role on Windows Server Technical Preview using Server Manager

1.
In this video, I'll demonstrate how to install the Hyper-V role with Server Manager. The Server
Manager graphical tool can run on a Windows server itself or it can run from a client station
and access servers over the network. Either way, when we're in the Server Manager tool, from
the Dashboard, we have the option to Add roles and features from there. We could also go the
Manage menu and we could Add Roles and Features in that manner too. So I'm going to go
into the wizard, where I'm going to select a Role-based or feature-based installation. On the
next screen in the wizard, I'm presented with a list of servers that are managed from this server
manager instance. There is only one server and it's selected. So I'll click Next. From the list of
server roles, I'll click on Hyper-V. It then pops up and tells me that it will also install the
Hyper-V Module for PowerShell and the Hyper-V GUI Management tool.

[The Server Manager window is open and the Dashboard page is displayed by default. At the
top-right corner of the window, menus such as Manage, Tools, and View are displayed. The
window also includes the left pane and the right pane. The left pane includes as the following
nodes: Dashboard, Local Server, All Servers, AD FS, and File and Storage Services. The
Dashboard node is currently selected. The right pane accordingly contains the WELCOME TO
SERVER MANAGER and ROLES AND SERVER GROUPS sections. The WELCOME TO
SERVER MANAGER section further includes the following subsections: QUICK START,
WHAT'S NEW, and LEARN MORE. The QUICK START section is selected by default and it
displays the steps for connecting local server to cloud services. It includes the following steps:
Configure this local server, Add roles and feature, Add other servers to manage, Create a
server group, and Connect this server to cloud services. The ROLES AND SERVER GROUPS
section further includes the following subsections: AD FS, File and Storage Services, and
Local Server. These subsections include the following options: Manageability, Events,
Performance, Service, Performance, and BPA results. In the right pane of the window, the
presenter clicks the Add roles and features step. As a result, the Add Roles and Features
Wizard is displayed and the Before you begin tabbed page is open. This tabbed page includes
an introduction to add roles and features. It also includes the Skip this page by default
checkbox and the following buttons: Previous, Next, Install, and Cancel. The presenter then
clicks the Cancel button. As a result, the Add Roles and Features Wizard closes. Next the
presenter clicks the Manage menu at the top-right corner of the window. As a result, the menu
displayed includes the following options: Add Roles and Features, Remove Roles and
Features, Add Servers, Create Server Group, and Server Manager Properties. He selects the
Add Roles and Features. As a result, the Before you begin tabbed page of the Add Roles and
Features Wizard is displayed. Then in the wizard, he clicks the Next button. As a result, the
Select installation type tabbed page is displayed. This tabbed page includes the following radio
buttons: Role-based or feature-based installation and Remote Desktop Services installation.
The Role-based or feature-based in installation radio button is selected by default. Next he
clicks the Next button. As a result, the Select destination server tabbed page is displayed. This
tabbed page includes the following radio buttons: Select a server from the server pool and
Select a virtual hard disk. The Select a server from the server pool radio button is selected by
default. This page also includes the Server Pool section containing a table with a row and the
following three columns: Name, IP Address, and Operating System. For Name
Srv2016-3.quick24x7.local, IP Address is 192.168.1.153 and Operating System is Microsoft
Windows Server Technical Preview 2. This row is already selected. The presenter clicks the
Next button. As a result, the Select Server roles tabbed page is displayed. This tabbed page
includes the Roles section that contains a list of server roles checkboxes, such as Active
Directory Certificate Services, Active Directory Domain Services, Active Directory Federation
Services (Installed), Active Directory Lightweight Directory Services, Active Directory Rights
Management Services, Hyper-V, Multipoint Services, Network Controller, and Print and
Document Services. The Active Directory Federation Services (Installed) checkbox is selected.
The presenter then selects the Hyper-V checkbox. As a result, the Add Roles and Features
Wizard dialog box is displayed with a list box that includes the Remote Server Administration
Tools node. This node further includes the Role Administration Tools subnode. This subnode
then includes the Hyper-V Management Tools subnode. This subnode then includes the
following subnodes: [Tools] Hyper-V Module for Windows PowerShell and [Tools] Hyper-V GUI
Management Tools. This dialog box also includes the Include Management tools (is
applicable) checkbox, which is selected by default, and the following buttons: Add Features
and Cancel.]

So I'm going to leave the checkmark here. It's on by default to include the management tools.
And I'll click Add Features. Now at this point, it's verifying whether my machine is capable of
running Hyper-V. It needs to make sure that, at the firmware level, we've got support for
virtualization. Otherwise, we'd get an error message at this point. I'll go ahead and click Next
and Next, to the features. And I'll keep going through Next. Now towards the end of the wizard,
it asks me if I want to enable a network adapter for use with a Hyper-V virtual switch. I can also
configure that later, which I will do. So I am not going to turn on my ethernet network adapter
for use with Hyper-V for a virtual switch. I'll click Next. The next thing I can do is determine
whether this server can send and receive live migrations of virtual machines. Live migration
means that we can move virtual machines between different Hyper-V hosts with no downtime.
I'm going to go ahead and turn that option on. And I'm going to tell it to use Kerberos because
all of my servers are joined to the same active directory domain. And I'll click Next. I'm then
asked where I would like to store my virtual hard disk files as well as my virtual machine
configuration files. They can be stored in separate locations. Currently they're being stored on
drive C, but we could specify an alternate local disk path or we could also specify storage
that's available over the network. Here I'll accept the defaults and I'll click Next. I'm going to
turn on the checkmark here to Restart the destination server if required automatically.

[The Add Roles and Features Wizard dialog box is displayed. In this dialog box, the presenter
refers to the Include Management tools (is applicable) checkbox, which is selected by default,
and clicks the Add Features button. As a result, the dialog box closes and the Select server
roles tabbed page of the Add Roles and Features Wizard is displayed. On this tabbed page,
the presenter then clicks the Next button. As a result, the Select features tabbed page is
displayed. This page includes the Features list box with a list of checkboxes, such as .NET
Framework 3.5 Features (1 of 3 installed), .NET Framework 4.6 Features (2 of 7 installed),
Background Intelligent Transfer Services (BITS), BitLocker Drive Encryption, BitLocker
Network Unlock, BranchCache, and Host Guardian Hyper-V Support. Next the presenter clicks
the Next button. As a result, the Hyper-V tabbed page is displayed. This tabbed page includes
a description of Hyper-V. He clicks the Next button. As a result, the Create Virtual Switches
tabbed page is displayed. This tabbed page includes a table with one row and the following
two columns: Name and Description. The Name Column includes an associated checkbox. For
Name Ethernet0, Description is Intel(R) PRO/1000 MT Network Connection. He then clicks the
Next button. As a result, the Virtual Machine Migration tabbed page is displayed. This tabbed
page includes the Allow this server to send and receive live migrations of virtual machines
checkbox. It also includes the Authentication protocol section that contains the following radio
buttons, which are currently disabled: Use Credential Security Support Provider (CredSSP)
and Use Kerberos. Next he selects the Allow this server to send and receive live migrations of
virtual machines checkbox. As a result, the Use Credential Security Support Provider
(CredSSP) and Use Kerberos radio buttons are enabled. The presenter selects the Use
Kerberos radio button and clicks the Next button. As a result, the Default Stores tabbed page
is displayed that includes the following text boxes: Default location for virtual hard disk files and
Default location for virtual machine configuration files. The Default location for virtual hard disk
files text box includes the value C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks and
the Default location for virtual machine configuration files text box includes the value
C:\ProgramData\Microsoft\Windows\Hyper-V. Then the presenter clicks the Next button. As a
result, the Confirm installation selections tabbed page is displayed. This tabbed page includes
the Restart the destination server automatically if required checkbox. He then selects the
Restart the destination server automatically if required checkbox. As a result, the Add Roles
and Features Wizard message box is displayed.]

So I'll go ahead and allow that to happen by clicking Yes. And finally I'll click Install, to install
the Hyper-V role. Now that our server has rebooted and I've logged back in, we can launch the
Hyper-V graphical tool from the Tools menu in Server Manager. We could also launch it by
going to the Start menu and searching for "hyper-v". Either way, it loads the exact same tool.
So I'll go ahead and start the Hyper-V Manager. After a moment, the Hyper-V Manager
graphical tool pops up, and I can see I'm connected to the server on which I installed the role,
which in this case is the local host. Of course, by default, there are no virtual machines. Here
in PowerShell, I can also get a list of PowerShell commandlets that are available in the hyper-v
module. We can see that now that we've installed the role, including the PowerShell module,
we can manage our Hyper-V environment entirely from PowerShell, if we choose. In this video,
we learned how to install the Hyper-V role with Server Manager.

[The Add Roles and Features Wizard message box is displayed to check if automatic restart is
required. In this message box, the presenter clicks the Yes button. As a result, the Add Roles
and Features Wizard message box closes and the Confirm installation selections tabbed page
of the Add Roles and Features Wizard wizard is displayed. Then on this tabbed page, the
presenter clicks the Install button. As a result, the Installation progress tabbed page is
displayed. This page displays the progress of the installation process. The wizard then closes
and the Server Manager Window is displayed. Next in this window, the presenter clicks the
Tools menu. As a result, the menu is displayed that includes options such as AD FS
Management, Component Services, Defragment and Optimize Drives, Event Viewer, Hyper-V
Manager, Microsoft Azure Services, System Information, Task Scheduler, Windows Firewall
with Advanced Security, and Windows Server Backup. He clicks the Start button on the
desktop and in the Search text box, types hyper-v. As a result, the following two search results
are displayed: Hyper-V Virtual Machine Connection and Hyper-V Manager. Then he clicks the
Hyper-V Manager option. As a result, the Hyper-V Manager window is displayed. This window
includes the following menu items: File, Action, View, and Help. This window also contains
three panes. The left pane includes the Hyper-V Manager node, which is expanded and
includes the SRV2016-3 subnode. The middle pane contains the Introduction section, which
provides an introduction to Hyper-V. The right pane includes the Actions pane, which contains
the Hyper-V Manager section. This section further includes the following options: Connect to
Server, View, and Help. Next in the left pane of the window, he clicks the SRV2016-3 subnode.
As a result, the middle pane now includes the following three sections: Virtual Machines,
Checkpoints, and Details. The Virtual Machines section includes a table, which contains no
rows and includes the following columns: Name, State, CPU Usage, Assigned Memory,
Uptime, Status, and Configuration. The presenter clicks the PowerShell icon on the taskbar. As
a result, the Administrator: Windows PowerShell command prompt window is displayed. This
window includes the following command at the PS C:\Users\administrator.QUICK24X7
command prompt: get-command –module hyper-v The presenter then explains the command
and runs it. As a result, all the PowerShell commandlets in the Hyper-V module are displayed.]
Installing Hyper-V Role with PowerShell
Learning Objective
After completing this topic, you should be able to
◾ add the Hyper-V role on Windows Server Technical Preview using PowerShell

1.
In this demonstration, I'll install the Hyper-V role using PowerShell. PowerShell is a great and
convenient way to install any server roles or features from the command line. It's especially
useful if we've got an installation of Windows Server Technical Preview 2 without the GUI. So
we could either remotely or locally use PowerShell to install roles like the Hyper-V role. The
first thing we'll do here in our PowerShell ISE environment is we'll execute the get-
windowsfeature commandlet. We want to make sure that the Hyper-V components are not
already installed. So I'll place my cursor on that line. And in the ISE toolbar at the top, I'll click
the Run Selection button. Here we can see, down below, the Hyper-V role is not installed, nor
are any of the management tools, including the Hyper-V PowerShell module. The next thing I'll
do is I'll run the dism command line tool. And I'm going to get wiminfo from the install.wim,
which is on the installation media for Windows Server Technical Preview 2. So I'll make sure
my cursor is on that line, and I'll run that selection. Here we can see it returns that there are
four images stored within that single install.wim file. They are numbered as 1, 2, 3, and 4,
where the fourth is the Server Data Center edition. Now even though it's labeled as Windows
Server 2012 R2, it's really not. This is prerelease code. We're really working here with
Windows Server 2016 Technical Preview 2.

[The Administrator: Windows PowerShell ISE window is displayed. On the menu bar, the
following menus are displayed: File, Edit, View, Tools, Debug, Add-ons, and Help. Below the
menu bar, the toolbar includes the options such as New, Open, and Save. Below the toolbar,
the Untitled.ps1 tab is displayed and includes the following code: 1 get-windowsfeature *hyper*
2 3 dism /get-wiminfo /wimfile:d:\sources\install.wim 4 5 install-windowsfeature hyper-v, hyper-
v-tools, hyper-v-powershell ' 6 -source wim:d:\sources\install.wim:4 The tab also includes the
command prompt section with the following command prompt: PS C:\ In the right, the
Commands tab is displayed, which includes the Modules drop-down list with the All option
selected by default. It also includes the Refresh button, the Name text field and a list of
commands. The presenter selects the code statement at line #1 and then clicks the Run
Selection option on the toolbar. As a result, the following command is run in the command
prompt window: get-windowsfeature *hyper* As a result, the output is displayed in a table with
the following columns: Display Name, Name, and Install State. The rows include the following
information: For the Display Name Hyper-V, the Name is Hyper-V, and the Install State is
installable. For the Display Name Hyper-V Management Tools, the Name is RSAT-Hyper-V-
Tools, and the Install State is installable. For the Display Name Hyper-V GUI Management
Tools, the Name is Hyper-V-Tools, and the Install State is installable. For the Display Name
Hyper-V Module for Windows PowerShell, the Name is Hyper-V-PowerShell, and the Install
State is installable. Next he selects the code statement at line #3 and then clicks the Run
Selection option on the toolbar. As a result, the following output is displayed: Details for image:
d:\sources\install.wim Index : 1 Name : Windows Server 2012 R2 SERVERSTANDARDCORE
Description : Windows Server 2012 R2 SERVERSTANDARDCORE Size : 8,919,907,800
bytes Index : 2 Name : Windows Server 2012 R2 SERVERSTANDARDCORE Description :
Windows Server 2012 R2 SERVERSTANDARDCORE Size : 11,474,941,596 bytes Index : 3
Name : Windows Server 2012 R2 SERVERSTANDARDCORE Description : Windows Server
2012 R2 SERVERSTANDARDCORE Size : 8,914,326,470 bytes Index : 4 Name : Windows
Server 2012 R2 SERVERSTANDARDCORE Description : Windows Server 2012 R2
SERVERSTANDARDCORE Size : 11,463,476,774 bytes]

So I can use the install-windowsfeature PowerShell commandlet to install any role, in this
case, the Hyper-V role. So I'm going to install the hyper-v role. I'm going to install the hyper-v-
tools, so I have my GUI management capabilities. I'll also install the hyper-V-powershell
module. Here I've used a space and the back-tick symbol because I want to wrap my line of
code to the next line. So I'm going to go ahead and continue with -source, where I specify
where the source files are from which I want to install this feature. Now in the past, all of the
possible server roles and features were installed on the hard disk, in case you wanted them.
But that's not the case anymore. And that's one of the reasons why Windows Server Technical
Preview 2 is so much smaller and more efficient. So here I'm telling it I'm looking for a wim file.
Specifically I'm going on drive d, under sources, I'm referencing the install.wim file and,
specifically, the fouth image there. So I'm going to go ahead and highlight both of those lines
because I don't want to just execute a single line. It's really one command. And in the ISE at
the top, I'll click Run Selection. And we can see that it will now begin to install the Hyper-V
components that I have asked for.

[The Administrator: Windows PowerShell ISE window is displayed. The presenter selects the
code statements at lines #5 and #6 and then clicks the Run Selection option on the toolbar. As
a result, the output is displayed in a table with the following columns: Success, Restart
Needed, Exit Code, and Feature Result. The row includes the following information: For the
Success True, the Restart Needed is Yes, the Exit Code is SuccessRest, and the Feature
Result is {Hyper-V, Hyper-V Module for Windows PowerShell.]

Now that the install-windowsfeature commandlet has completed, I have a message that says I
must restart this server to finish the installation process. Over here on the right, if I look up the
help for Install-WindowsFeature, I can learn a few things here, such as the fact that I could
actually have installed the Hyper-V role on multiple servers at once, giving a comma-separated
list of computer names. But I also have the option of using the Restart flag to restart the server
after the installation has completed. Otherwise, after the fact, I could type "restart-computer" to
restart the system or I could restart it in any other manner. Now that I've restarted our server
and logged back in, we can verify whether or not the Hyper-V role has been installed. One way
in PowerShell is to use get-windowsfeature. And I'll look for anything that's got the word
"hyper" in it. This time we can see, in fact, that the Hyper-V role has been installed along with
the management tool and the PowerShell module. That also means that if we were to go to the
graphical environment, we would see that our Hyper-V Management tool is available. And here
in PowerShell, our PowerShell module is available. We can verify that with get-module-list.
Here I'll put in "hyper," and indeed we can see we've got our PowerShell module. And if I were
to go to my Start menu and type in "hyper-v", then we would see that we can also launch the
Hyper-V GUI Management tool. In this video, we learned how to install the Hyper-V role using
PowerShell.
[The Administrator: Windows PowerShell ISE window is displayed. In the Name text field that
is displayed in the Command tabbed page in the right, the presenter enters the following text:
install and then selects the Install-WindowsFeature command that is displayed in the list box.
As a result, the parameters of the Install-WindowsFeature command are displayed in the
following tabs: ComponentNamesAndVjdPath, ConfigurationFile, and
ComponentNameAndRunningComputer. The ComponentNameAndRunningComputer tab is
active and includes the parameters such as Name text field, ComputerName text field, the
Confirm checkbox, the Credential text field, the Restart checkbox. The presenter then runs the
following command in the command prompt window: restart-computer As a result, the Select
Administrator: Windows PowerShell command prompt window is displayed with the following
command prompt: PS C:\Users\administrator.QUICK24X7 Next he runs the following
command: get-windowsfeature *hyper* As a result, the output is displayed in a table with the
following columns: Display Name, Name, and Install State. The rows include the following
information: For the Display Name Hyper-V, the Name is Hyper-V, and the Install State is
installable. For the Display Name Hyper-V Management Tools, the Name is RSAT-Hyper-V-
Tools, and the Install State is installable. For the Display Name Hyper-V GUI Management
Tools, the Name is Hyper-V-Tools, and the Install State is installable. For the Display Name
Hyper-V Module for Windows PowerShell, the Name is Hyper-V-PowerShell, and the Install
State is installable. He then runs the following command: get-module -list *hyper* As a result,
the output is displayed in a table with the following columns: ModuleType, Version, Name, and
ExportedCommands. The rows include the following information: For the ModuleType Binary,
the Version is 2.0.0.0, the Name is Hyper-V, the ExportedCommands is {Add-VMDvdDrive,
Add-VMFibreChannelHba, Add-V. For the ModuleType Binary, the Version is 1.1, the Name is
Hyper-V, the ExportedCommands is {Add-VMDvdDrive, Add-VMFibreChannelHba, Add-V. The
presenter then opens the Windows 8 Start menu and types the hyper-v in the Search text field.
As a result, the following applications are displayed in the Start menu: Hyper-V Virtual Machine
Connection and Hyper-V Manager.]
Supported Guests
Learning Objective
After completing this topic, you should be able to
◾ list the supported guest operating systems for Hyper-V Technical Preview

1.
In this video, I'll discuss supported guests. Hyper-V Technical Preview 2 supports Windows
server operating systems going all the way back to Windows Server 2003. On the client side, it
supports Windows client operating systems going all the way back to Windows XP. And that
includes both 32 as well as 64-bit flavors. For Unix and Linux, FreeBSD is supported, Red Hat
Enterprise Linux, SUSE Linux, Ubuntu, CentOS, Debian, and so on. Now for Windows Virtual
Machines. And here we've got one called Server2. This is running Windows Server Technical
Preview 2. If we go into the settings for that virtual machine, we have the option of enabling or
disabling various integration services. The Integration Services will allow us, for example, from
the Hyper-V Manager console to shut down the operating system without having to go directly
into the guest operating system. It allows us to support Time synchronization, Data Exchange
between the Hyper-V host and virtual machines. That way the Hyper-V host can track whether
or not that virtual machine performance is doing well. Also the Heartbeat, so that the Hyper-V
Manager tool will know that the virtual machine is running or not. If it's a Windows guest
operating system that supports volume shadow copy, then the Backup integration service will
be enabled also.

[The Hyper-V Manager window is displayed. On the menu bar, the following menus are
displayed: File, Action, View, and Help. Below the menu bar, the toolbar includes the options
such as Back and Next. In the left, the navigation tool includes the Hyper-V Manager node,
which is expanded and includes the following subnodes: SRV2016-2 and SRV2016-3. The
SRV2016-3 subnode is selected. In the middle, the window includes the Virtual Machine,
Checkpoints, and SLES 12 sections. The Virtual Machines section includes a list of virtual
machines along with its details such as its state, CPU Usage, Assigned Memory, Uptime,
Status, and Configuration. The Server Names are Server1, Server2, and SLES 12. The row
with the Name SLES 12 is selected. In the right, the Actions section is displayed, which
includes the SRV2016-3 and SLES 12 subsections. The presenter selects the row with the
Name Server2 and right-clicks it. As a result, a shortcut menu is displayed. He then selects the
Settings option to open the Settings for Server2 on SRV2016-3 window. The window includes
a drop-down list box with the option Server2 selected by default. The window also includes the
back, next, and refresh buttons. In the left, the window includes the Hardware and
Management sections. The Management section includes the nodes such as Name,
Integration Services, and Checkpoints. He selects the Integration Services node. As a result, in
the right, the Integration Services page is displayed with the following checkboxes: Operating
system shutdown, Time synchronization, Data Exchange, Heartbeat, Backup (volume shadow
copy), and Guest services.]

Now for Linux guests. And we have a Linux guest here running SLES 12, which is SUSE Linux
Enterprise Server version 12. We also have the option of working with integration services. But
on the Linux side, it's called LIS, Linux Integration Services. And what this is, it's a set of
drivers that are designed for Linux guests to work properly in Hyper-V. And newer Linux
kernels have Linux Integration Services already built in. So you don't have to install anything
from the Hyper-V level. Now if you're going to be running an older Linux kernel in a guest VM
on top of Hyper-V, then you might have to go and download packages for Linux Integration
Services because it might not have been complied directly into the Linux kernel like it is for
newer Linux kernels. Also, currently, Hyper-V supports the Secure Boot standard for some
Linux virtual machines. Currently, the support is for SUSE Linux and Ubuntu. Secure Boot is
used to verify that an operating system loader hasn't been compromised by malware. But just
because a guest operating system is not officially supported, it doesn't necessarily mean that
you can't run it, for example, in a test environment.

[The Settings for Server2 on SRV2016-3 window is displayed. The presenter closes the
window and navigates to Hyper-V Manager window.]

Now when we go to build a new virtual machine here in the Hyper-V Manager, so I'll choose
New - Virtual Machine in the Action panel. During the wizard, we get to specify whether we're
creating a Generation 1 or Generation 2 virtual machine. The Generation 2 is designed
specifically for 64-bit guest operating systems. And it also allows us to use things like UEFI-
based firmware as opposed to the older legacy BIOS-based firmware. And if we're using that,
we might go ahead and configure Secure Boot options. In this video, we discussed supported
guests.

[The Hyper-V Manager window is displayed. In the SRV2016-3 subsection that is displayed
under the Actions section, the presenter clicks the New option to display the following
suboptions: Virtual Machine, Hard Disk, and Floppy Disk. He then selects the Virtual Machine
option and the New Virtual Machine Wizard is displayed. In the left, the navigation pane is
displayed with the following tabs: Before You Begin, Specify Name and Location, Specify
Generation, Assign Memory, Configure Networking, Connect Virtual Hard Disk, and Summary.
The Before You Begin page is displayed by default. He clicks the Next button twice and
navigates to the Specify Generation page. The page includes the Generation 1 and Generation
2 radio buttons.]
Hyper-V Manager
Learning Objective
After completing this topic, you should be able to
◾ describe the Hyper-V Manager GUI in Windows Server Technical Preview

1.
In this video, I'll demonstrate how to use the Hyper-V Manager tool. The Hyper-V Manager tool
can be installed separately from the Hyper-V role itself. In PowerShell, we can use the get-
windowsfeature commandlet to determine which Hyper-V components are installed on a host.
Here we can see, for example, that the Hyper-V role itself is installed on this machine along
with the Hyper-V GUI Management tool. However, at the Server Manager graphical level, we
could go to Add roles and features to verify the same information, where we could see whether
or not the Hyper-V role itself is installed. And on the next feature screen, way down under
Remote Administration Tools, we could determine whether or not the Hyper-V Management
tool is installed. So I'll go down under Role Admin Tools, and indeed I can see the Hyper-V
Management tool is installed on this machine. Now here we're working on the Windows Server
operating system for Windows Server Technical Preview 2. But we could just as well be using
Windows 10 with the Remote Server Admin Tools. And we could run the Hyper-V
Management tool from there.

[The Administrator: Window PowerShell command prompt window is displayed with the
following command prompt: PS C:\Users\administrator.QUICK24X7 The following command is
entered: get-windowsfeature *hyper* The presenter runs the command and the output is
displayed in a table with the following columns: Display Name, Name, and Install State. The
rows include the following information: For the Display Name Hyper-V, the Name is Hyper-V,
and the Install State is Installed. For the Display Name Hyper-V Management Tools, the Name
is RSAT-Hyper-V-Tools, and the Install State is Installed. For the Display Name Hyper-V GUI
Management Tools, the Name is Hyper-V-Tools, and the Install State is Installed. For the
Display Name Hyper-V Module for Windows PowerShell, the Name is Hyper-V-PowerShell,
and the Install State is Installed. The presenter then navigates to the Server Manager window.
The window includes the following menus on the menu bar: Manage, Tools, View, and Help. In
the left, the window includes the following options: Dashboard, Local Server, All Servers, AD
FS, File and Storage Services, and Hyper-V. The Dashboard option is selected by default. In
the right, the WELCOME TO SERVER MANAGER and ROLES AND SERVER GROUPS
sections are displayed. The WELCOME TO SERVER MANAGER section includes the QUICK
START, WHAT'S NEW, and LEARN MORE subsections. The QUICK START subsection is
selected and it includes the following configuration steps: Configure this local server, Add roles
and features, Add other servers to manage, Create a server group, and Connect this server to
cloud services. The presenter clicks the Add roles and features step and opens the Add Roles
and Features Wizard. The wizard includes the following navigation tabs in the left: Before You
Begin, Installation Type, Server Selection, Server Roles, Features, Confirmation, and Results.
The Before You Begin page is selected by default. The presenter clicks the Next button for
three times and navigates to the Server Roles page. The page includes the Roles section,
which contains a list of roles such as Active Directory Certificate Services, DHCP Server, and
Hyper-V (Installed). He then clicks the Next button to navigate to the Features page. The page
includes the Features section, which contains a list of features such as Telnet Client, Windows
Search Service, and Remote Server Administration Tools. He the expands the Remote Server
Administration Tools option. Next he expands the Role Administration Tools suboption and
then points at the Hyper-V Management Tools (Installed). Next he clicks the Cancel button and
navigates back to the Server Manager window.]

Here in Server Manager, I could launch the Hyper-V tool by going to Tools. And I could choose
Hyper-V Manager. I can also go to the Start menu in the bottom left and search up the tools.
So I'll search for "hyper," and I could launch the Hyper-V Manager from there. When you
launch the Hyper-V Manager tool, especially on a server like I've done here, if that local server
has the Hyper-V role installed, it will automatically be added to the Hyper-V Manager console.
But we also can right-click on Hyper-V Manager in the left-hand corner, and we can connect to
a remote server to manage it. This connection happens over winRM. We can also connect with
a different set of credentials. So I'm just going to pop in the name of another host here. I am
not going to specify a different set of credentials because they're all on the same active
directory domain, and I'm logged in with the domain admin account. So I'll go ahead and click
OK. And now on the left-hand navigator we can see our second Hyper-V host has been added
to the Hyper-V Manager. And when I select it on the left, after a moment it refreshes on the
right, and I can see the Virtual Machines available.

[The Server Manager window is displayed. The presenter selects the Tools menu on the menu
bar and then points at the Hyper-V Manager option. Next he opens the Windows 8 Start menu
and enters the text 'hyper' in the search field. As a result, the following applications are
displayed in the Start menu: Hyper-V Manager and Hyper-V Virtual Machine Connection. He
then clicks the Hyper-V Manager application and opens the Hyper-V Manager window. The
window includes the following menus on the menu bar: File, Action, View, and Help. Below the
menu bar, the toolbar includes options such as back and next. In the left, the window includes
the Hyper-V Manager node and the SRV2016-3 subnode. In the middle, the Virtual Machines,
Checkpoints, and Details sections are displayed. In the right, the Actions section is displayed
with the SRV2016-3 subsection. He then right-clicks the Hyper-V Manager node to display the
following options in the shortcut menu: Connect to Server and Help. He selects the Connect to
Server option and opens the Select Computer dialog box. The dialog box includes the Local
computer and Another computer radio button. The Another computer radio button includes a
text field and a Browse button associated with it. The dialog box also includes the Connect as
another user: <none> checkbox and Set User button. He then enters the text 'srv2016-2' in the
text field and then clicks the OK button. As a result, in the left, the SRV2016-2 subnode is
added. Next he selects the SRV2016-2 subnode and the following virtual machines are
displayed in the Virtual Machines section: Nano-1 and Windows 10. Also the Actions section
displays the SRV2016-2 and Windows 10 subsections.]

Now when I'm connected to a specific Hyper-V host in the Hyper-V Manager tool, in the action
panel on the right, I have a number of options. For example, I could build a new virtual
machine or a new virtual hard disk. I could import a virtual machine that was exported from
another Hyper-V host. I might set global Hyper-V settings for the selected host, where, for
example, I can set the default location for Virtual Hard Disks, Virtual Machines or the maximum
number of simultaneous Live Migrations, where I move virtual machines between Hyper-V
hosts. And also I have options for Storage Migrations, and so on. I can also work with my
virtual network switches using the Virtual Switch Manager. I could build an external virtual
switch, which links to a physical card in my Hyper-V host, and this would allow virtual
machines to talk on the physical network. However, I could also build an internal network that
would allow the Hyper-V host to communicate with the virtual machines running on it. We
could also build a private network switch. And what this virtual network switch would do is only
allow communication among the Hyper-V virtual machine guests.

[The Hyper-V Manager window is displayed. In the right, the Actions section includes the
SRV2016-2 subsection that includes the following options: New, Import Virtual Machine,
Hyper-V Settings, Virtual Switch Manager, Virtual SAN Manager, Edit Disk, Inspect Disk, Stop
Service, Remove Server, Refresh, View, and Help. The presenter selects the Hyper-V Settings
option and the Hyper-V Settings for SRV2016-2 window is displayed. The window includes the
Server and User sections in the left. The Server section includes the options such as Virtual
Hard Disks, Virtual Machines and Live Migrations. The User section includes the options such
as Keyboard, Mouse Release Key, and Reset Check Boxes. In the right, Virtual Hard Disk
page is displayed with the Specify the default folder to store virtual hard disk files text field and
the Browse button. The text field includes the following: C:\Virtual Hard Disks. He then selects
the Live Migrations option and in the right the Live Migrations page is displayed. The page
includes the Enable incoming and outgoing live migrations checkbox, which is selected, the
Simultaneous live migrations and Incoming live migrations sections. The Simultaneous live
migrations section includes the Simultaneous live migrations text field with the default text '2'.
The Incoming live migrations section includes the Use any available network for live migration
and Use these IP addresses for live migrations radio buttons. The section also includes a text
area that includes the following IP address: 192.168.1.151/32 Next he selects the Storage
Migration option which includes the Simultaneous storage migrations text field with the default
text '2'. He then closes the window and then selects the Virtual Switch Manager option to open
the Virtual Switch Manager for SRV2016-2 window. The window includes the Virtual Switches
and Global Network Settings sections. In the right, the Create virtual switch section is
displayed, which includes the What type of virtual switch do you want to create list box that
includes External, Internal, and Private options. The External option is selected by default. The
presenter clicks the Create Virtual Switch button and navigates to the Virtual Switch Properties
page. The page includes the Name and Notes text fields, and the Connection type and the
VLAN ID sections. The Connection type section includes the External network, Internal
network, and Private network radio buttons. The External network radio button is selected and
includes a drop-down list box, with the option Intel(R) PRO/1000 MT Network Connection
selected, the Allow management operating system to share this network adopter checkbox,
which is selected, and the Enable single-root I/O virtualization (SR-IOV) checkbox. He then
navigates back to the Create virtual switch page and then closes the window.]

If I were to select an existing virtual machine and right-click and choose Settings, we see there
are a number of things that are new. One of them we would notice, if this virtual machine were
running, is that we can add and remove network adapters and make changes to the Memory
settings while the virtual machine is running. Not only that, but if we drill down under our hard
disk, we see the options we had in previous versions, where we can set the minimum and
maximum disk IOPS to control the disk utilization from the virtual hard disk that's selected in
this virtual machine. We've also got the option of centrally configuring Storage Quality of
Service policies, where we can apply minimum and maximum disk IOP values to not just a
single virtual hard disk at a time but even potentially to an entire tenant in a hosting
environment. We've also got a new type of checkpoint called a production checkpoint. It gets
its name from the fact that it's designed to be used in a production environment, where
previously standard checkpoints were really only designed to be used in a test or a lab
environment. When we work with the virtual machine, we can either right-click on it and
Connect to the console, Start the virtual machine, take a Checkpoint, or Revert to a
checkpoint, Export it to a folder, Rename, and so on. And we could also run those same
actions having the virtual machine selected on the left by choosing the action, in the action
panel on the right-hand side of the screen. In this video, we learned how to use the Hyper-V
Manager tool.

[The Hyper-V Manager window is displayed. The presenter selects the Windows 10 virtual
machine and then right-clicks it to display a shortcut menu with the options such as Connect,
Settings, Start, and Checkpoint. He then selects the Settings option and opens the Setting for
Windows10 on SRV2016-2 window. The window includes the Hardware and Management
sections. The Hardware section includes the options such as Add Hardware, Firmware,
Memory, and Processor. The Management section includes the options such as Name,
Integration Services, and Checkpoints. In the right, the Add Hardware page is displayed with
the Select the devices you want to add and click the Add button list box. The list box includes
the following options: SCSI Controller, Network Adapter, Fibre Channel Adapter, and
RemoteFX 3D Video Adapter. Next he runs through the Memory page which includes the
Dynamic Memory an Memory weight sections. Then he expands the Hard Drive subnode
displayed under the SCSI Controller node and then selects the Quality of Service subnode.
The Quality of Subnode page includes the Local Settings section, which includes the Enable
Quality of Service Management checkbox with the Minimum IOPS and Maximum IOPS text
fields. It also includes the Storage Quality of Service Policy section that is disabled. Under the
Management section, he then selects the Checkpoints option. As a result, the Checkpoints
page is displayed in the right. It includes the Checkpoint Type and Checkpoint File Location
sections. The Checkpoint Type section includes the Enable checkpoints checkbox, the
Production checkpoints and the Standard checkpoints radio buttons. The presenter closes the
window and returns to the Hyper-V Manager window. He then right-clicks the Windows10
virtual machine to display the shortcut menu and explain the following options: Connect,
Settings, Start, Checkpoint, Revert, Move, Export, Rename, Delete, Enable Replication, and
Help. Next he points at the Windows10 subsection in the Actions section of the window.]
Creating a Virtual Machine
Learning Objective
After completing this topic, you should be able to
◾ create a virtual machine in Hyper-V Manager on Windows Server Technical Preview

1.
In this video, I'll demonstrate how to create a virtual machine. We've got a number of ways
through which we can build a virtual machine for a Hyper-V host. One way is using
PowerShell. Here in the PowerShell ISE, I am going to run the new-vm commandlet to build a
virtual machine. And it's going to be called Server1. On the command line, I can also specify
the MemoryStartupBytes. I can specify the path and name of a virtual hard disk file. I can
specify the size of that file. And I can link my new virtual machine to a virtual network switch.
I'm going to go ahead and select those lines for the new-vm commandlet. And I'm going to
click the Run Selection button. And that code will then execute against a remote PowerShell
session I've got on my Hyper-V host. And we can see that the Server1 virtual machine, indeed,
has been created.

[The Administrator: Windows PowerShell ISE window is displayed. On the menu bar, the
following menus are displayed: File, Edit, View, Tools, Debug, Add-ons, and Help. Below the
menu bar, the toolbar includes the options such as New, Open, and Save. Below the toolbar,
the Untitled.ps1 tab is displayed and includes the following code: 1 new-vm -name "Server1" -
MemoryStartupBytes 512MB -NewVHDPath 2 C:\ClusterStorage\Volume1\Shares\Share1
\VirtualHardDisks\Server1.vhdx -NewVHDSizeBytes 20GB 3 -SwitchName "The Real World" 4
5 get-command -module hyper-v *vm* The tab also includes the command prompt section with
the following command prompt: [srv2016-3]: PS C:\Users\Administrator.QUICK24X7
\Documents The presenter selects the code statements at line #1, #2, and #3 and then clicks
the Run Selection option on the toolbar. As a result, the command is run in the command
prompt window and the output is displayed in a table with the following columns: Name, State,
CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. The row includes the
following information: For the Name Server1, the State is Off, the CPUUsage(%) is 0, the
MemoryAssigned(M) is 0, the Uptime is 00:00:00, the Status is Operating normally, and the
Version is 6.2.]

We can use get-command against the Hyper-V module if we want to see other commandlets
that will let us further manage virtual machines. So I'm going to go ahead and run my get-
command commandlet. And we can see down below here in the ISE, we've got a number of
commandlets related to working with virtual machines. For example, if we wanted to set the
VMProcessor, where we could assign virtual CPUs to a virtual machine, or if we want to make
changes to the virtual machine and network adapter or adapters, we could use the Set-
VMNetworkAdapter commandlet to do that. Also, as I go up, towards the beginning of the list
of commands alphabetically, we're going to notice a series of commandlets that begin with
Add. Here we can add another virtual machine hard disk drive or another virtual machine
network adapter, and so on. If we switch over to the Hyper-V Manager, we can see the virtual
machine that we just created in PowerShell called Server1. But of course, we can build virtual
machines here in the Hyper-V Manager tool by going to New - Virtual Machine, in the right-
hand Action panel. I'll go past the first page of the wizard. And I'm going to build another virtual
machine here called Server2. The default storage location is drive C in a folder called Hyper-V.
But it's usually not a great idea to store virtual machine files on drive C, where the operating
system resides. So instead, I'll specify an alternate location. I'll click Browse. And what I'm
going to do is on my virtualization host on drive C, I'm going to go under ClusterStorage. And
I'm going to specify a location here on a clustered shared volume.

[The Administrator: Windows PowerShell ISE window is displayed. The presenter selects the
following code statement at line #5: get-command -module hyper-v *vm* He then clicks the
Run Selection option on the toolbar. As a result, a list of commandlets are displayed in the
command prompt window. The presenter then opens the Hyper-V Manager window. The
window includes the following menus on the menu bar: File, Action, View, and Help. Below the
menu bar, the toolbar includes options such as back and next. In the left, the window includes
the Hyper-V Manager node and the SRV2016-2 and SRV2016-3 subnodes. In the middle, the
Virtual Machines, Checkpoints, and Server1 sections are displayed. In the right, the Actions
section is displayed with the SRV2016-3 and Server1 subsections. The Virtual Machine
section lists the Server1 virtual machine. In the right, the presenter clicks the New option that is
listed below the SRV2016-3 section and then selects the Virtual Machine option from the
shortcut menu displayed. As a result, the New Virtual Machine Wizard is displayed. In the left,
the navigation pane is displayed with the following tabs: Before You Begin, Specify Name and
Location, Specify Generation, Assign Memory, Configure Networking, Connect Virtual Hard
Disk, and Summary. The Before You Begin page is displayed by default. He clicks the Next
button and navigates to the Specify Name and Location page. On the page, in the Name text
field he enters the text 'Server2', and selects the Store the virtual machine in a different
location checkbox, and then clicks the Browse button to select the location. As a result, the
Select Folder dialog box is displayed and selects the virtualmachines folder located at the
following path: srv2016-3.quick24x7.local\C:\ClusterStorage\volume1\shares\share1]

This clustered shared volume is visible by all nodes in a cluster. So then I'll click Next. I'm
going to specify that this is a Generation 2 virtual machine. This allows me to use things like
UEFI. And also, it requires a 64-bit operating system. Well the operating system I'm going to
install is going to be Windows Server Technical Preview 2. So I'll click Next. It wants to use
1-gigabite of RAM. I'll leave that alone. And I also turn on Dynamic Memory. And I will assign
this to my external network called The Real World, which will link the virtual machine to a real
physical network. I'm going to go ahead and accept the defaults to create a virtual hard disk
here. I'm just going to click Browse for the location. And I'm going to make sure that, on my
virtualization host, that's going into ClusteredStorage. And specifically in a folder I've prepared
called virtualharddisks. So I'll go ahead and make sure that that's been selected. It's going to
be set to 127-gigabytes. That's fine for size. I can resize it later, if I need to. And I'm going to
choose to Install an operating system from a bootable image file.

[The New Virtual Machine Wizard is displayed. The presenter clicks the Next button to
navigate to the Specify Generation page. The page includes the Generation 1 and Generation
2 radio buttons. He selects the Generation 2 radio button and clicks the Next button. He
navigates to the Assign Memory page. It includes Startup memory text field with the default
value 1024 MB and the Use Dynamic Memory for this virtual machine checkbox, which is
cleared. He selects the checkbox and then clicks the Next button. The Configure Networking
page is displayed with the Connection drop-down list box, which displays the Note Connection
option selected by default. He then clicks the drop-down list box and selects the The Real
World option from the drop-down list. Next he clicks the Next button and navigates to the
Connect Virtual Hard Disk page. The page includes the Create a virtual hard disk, Use an
existing virtual hard disk, and Attach a virtual hard disk later radio buttons. The Create a virtual
hard disk radio button is selected and includes the Name, Location, and Size text fields. The
Location text field includes the Browse button associated with it. The presenter clicks the
Browse button and select the following path in the Select Folder dialog box:
C:\ClusterStorage\volume1\shares\share1\virtualharddisks He then clicks the Select Folder
button and then returns to the wizard. Next he clicks the Next button and navigates to the
Installation Options page. The page includes the following radio buttons: Install an operating
system later, which is selected by default, Install an operating system from a bootable image
file, and Install an operating system from a network-based installation server. The presenter
selects the Install an operating system from a bootable image file radio button, which then
includes the Media section. The section includes the Image file (.iso) text field and the Browse
button. He then enters the following partially visible path in the Image file (.iso) text field:
C:\10074.0.150506-1550.FBL_IMPRESSIVE_SRV]

So now that I've specified the Windows Server Technical Preview 2 ISO, I'll click Next in the
wizard. And on the final screen, I'll click Finish. And after a few moments, we've now got
Server2 that's showing up in the Hyper-V Manager. At any time, I could right-click and I could
make changes to the settings of that virtual machine. However, the only thing I'm going to do
here is to start it up to actually get the operating system installed in that guest. So I'll start by
right-clicking and connecting to it so I can see the interface. And then after that, I'll start the
virtual machine using the Start button. And I'll install the operating system. So now our new
virtual machine has completed installing and it's rebooted. And if we double-click on it to
access the console, we can see that we can interact with the operating system within the
virtual machine. In this case, the installation is a Windows Server Technical Preview 2 Server
without any local GUI admin tools. So once we log in, we just get this command prompt. We
can also build virtual machines in a number of other ways, including using the Failover Cluster
Manager tool. If we have a failover cluster, then we have the option of going to list our
clustered roles. Here we don't see anything except for a Scale-Out File Server role. But we
don't see virtual machines running. However, in the action panel on the right, we could click
Virtual Machines and choose New - Virtual Machine and follow through with the wizard to
create a virtual machine on a specific cluster node.

[The Installation Options page is displayed in the New Virtual Machine Wizard. The presenter
clicks the Next button and navigates to the Summary page. He then clicks the Finish button.
As a result, the wizard closes and the Hyper-V Manager window is displayed. The Virtual
Machines section now lists the Server2 virtual machine. The presenter right-clicks the Server2
virtual machine to display a shortcut menu with the options such as Connect, Settings, Start,
and Checkpoint. He then selects the Settings option and opens the Settings for Server2 on
SRV2016-3 window. The window includes the Hardware and Management sections. The
Hardware section includes the options such as Add Hardware, Firmware, Memory, and
Processor. The Management section includes the options such as Name, Integration Services,
and Checkpoints. In the right, the Add Hardware page is displayed with the Select the devices
you want to add and click the Add button list box. The list box includes the following options:
SCSI Controller, Network Adapter, Fibre Channel Adapter, and RemoteFX 3D Video Adapter.
He then closes the window and again right-clicks the Server2 virtual machine. He then selects
the Connect option to open the Server2 on SRV2016-3 - Virtual Machine Connection window.
The window includes the File, Action, Media, View, and Help menus. On the toolbar, he then
selects the Start option. As a result, the window displays the following message: Starting the
virtual machine 'Server2' Next he navigates back the Hyper-V Manager window. He then
double-clicks the Server2 virtual machine. As a result, the Server2 on SRV2016-3 - Virtual
Machine Connection window is displayed with the following command prompt:
C:\Users\Administrators He then navigates to the Failover Cluster Manager window. The
window includes the following menus on the menu bar: File, Action, View, and Help. Below the
menu bar, the toolbar includes options such as back and next. In the left, the window includes
the Failover Cluster Manager node and the Cluster1.quick24x7.local subnode. In the middle,
the Failover Cluster Manager section is displayed. In the right, the Actions section is displayed
with the Failover Cluster Manager subsection. The presenter expands the
Cluster1.quick24x7.local subnode to display the following subnodes: Roles, Nodes, Storage,
Networks, and Cluster Events. He then selects the Roles subnode and consequently in the
middle, the Roles section is displayed, which includes a table with the following columns:
Name, Status, Type, Owner Node, Priority, and Information. For the Name SOFS, the Status is
Running, the Type is Scale-Out File Server, the Owner Node is Srv2016-2, and the Priority is
Medium. He then right-clicks the Virtual Machines option in the Actions section to display the
New Virtual Machine and New Hard Disk options in the shortcut menu. He then selects the
New Virtual Machine option and opens the New Virtual Machine dialog box. The dialog box
includes the Look for text field, which is associated with the Clear button. The dialog box also
includes the Cluster nodes section which displays information in a table with the following
columns: Name and Status. For the Name Srv2016-2, the Status is Up. For the Name
Srv2016-3, the Status is Up. The presenter clicks the OK button and navigates to the
Administrator - srv2016-3.quick24x7.local - Virtual Machine Manager window.]

We can also use the System Center Virtual Machine Manager tool to create virtual machines.
Here in VMM, in the bottom left-hand navigator, I've clicked the VMs and Services workspace.
Then on the left-hand navigator, I've gone under my cluster and selected a cluster node,
where, up in the ribbon bar, I can choose the Create Virtual Machine button. When I create a
virtual machine here in VMM, I can use an existing virtual machine, a VM template, or a virtual
hard disk that I could browse for and select from my library. I also have the option to create a
new virtual machine with a blank virtual hard disk. So we can see then that we have a number
of ways that we can create new virtual machines for use with Hyper-V. In this video, we
learned how to create a virtual machine.

[The Administrator - srv2016-3.quick24x7.local - Virtual Machine Manager window is


displayed. The window includes the Home, Folder, and Host menus on the menu bar. The
Home menu is selected and the ribbon below displays the options such as Create Service,
Create Virtual Machine, and Create Cloud. In the bottom-left, the navigation pane displays the
following workspaces: VMs and Services, Fabric, Library, Jobs, and Settings. The VMs and
Services workspace is selected. As a result, in the top-left the following nodes are displayed:
Start Page, Tenants, Clouds, Azure Subscriptions, VM Networks, Storage, and All Hosts. The
All Hosts node is expanded and includes the Cluster1 subnode. The Cluster1 subnode is
expanded and includes the following subnodes: srv2016-2 and srv2016-3. The presenter then
selects the Create Virtual Machine option on the ribbon. As a result, the Create Virtual
Machine wizard is displayed with the Select Source page. The page includes the Use an
existing virtual machine, VM template, or virtual hard disk and the Create the new virtual
machine with a blank virtual hard disk radio buttons. The Use an existing virtual machine, VM
template, or virtual hard disk radio button is selected by default and includes a text field
displaying text 'Required' and the Browse button. He then selects the Create the new virtual
machine with a blank virtual hard disk radio button.]
Enabling and Disabling Checkpoints
Learning Objective
After completing this topic, you should be able to
◾ enable and disable the checkpoints in Hyper-V Manager on Windows Server
Technical Preview

1.
In this video, I'll demonstrate how to enable and disable checkpoints. In Hyper-V, a checkpoint
is a point-in-time picture of how a virtual machine is configured. And we can use it as a safety
net, so that in the future if there's a problem, we can revert back to that checkpoint. In older
versions of Hyper-V, they were called snapshots. Here in PowerShell, we can use get-
command to learn of any commands related to working with checkpoints in Hyper-V. Here we
can see we have options to get a virtual machine checkpoint list from a given virtual machine,
or we can create a checkpoint using Checkpoint-VM, and so on. Here I'm going to use get-
vmcheckpoint against a virtual machine called windows10 on our virtualization host. So I'll go
ahead and I will run that selection. And we can see down below that we've got three different
snapshots, or checkpoints, that are created for that virtual machine. So we see the virtual
machine Name in the left-most column, what follows that to the right is the Name of the
checkpoint. Then we can see the SnapshotType. Now here in Technical Preview 2, it still says
Standard even though these are production checkpoints, which we'll talk about in just a
moment. I can also see the CreationTime stamp for each checkpoint there.

[The Administrator: Windows PowerShell ISE window is displayed. This window includes the
following menus on the menu bar: File, Edit, View, Tools, Debug, Add-ons, and Help. The
toolbar of this window includes options such as New, Open, Save, Cut, Copy, Paste, Run
Selection, and Play. The Administrator: Windows PowerShell ISE window consists of two
sections. The first section contains the code editor and the second section includes the
command prompt area. The code editor includes the Untitled1.ps1 tab. This tabbed page
includes the following code: 1 get-command *checkpoint* 2 get-vmcheckpoint window10 3 get-
vm 4 The command prompt area includes the following command prompt: [srv-2016-2]: PS
C:\Users\Administrator.QUICK24x7\Documents On the tabbed page, the presenter highlights
the following code statement on line #1: get-command *checkpoint* The presenter then clicks
the Run Selection button on the toolbar. As a result, the following output is displayed in the
[srv2016-2] command prompt area: Alias Export-VMCheckpoint Alias Get-VMCheckpoint Alias
Remove-VMCheckpoint Alias Restore-VMCheckpoint Cmdlet Checkpoint-VM Cmdlet Get-
ClusterCheckpoint Next on the Untitled1.ps1 tabbed page, the presenter highlights the
following code statement on line #2: get-vmcheckpoint window10 He clicks the Run Selection
button on the toolbar. As a result, some output is displayed in the [srv2016-2] command
prompt area. The output is a tabular format that includes three rows and the following five
columns: VMName, Name, SnapshotType, CreationTime, and ParentSnapshotName. The
table includes the following rows: For VMName Windows10, Name is New Virtual Machine –
(7/4/2015 – 11:20:37 AM), SnapshotType is Standard, CreationTime is 7/4/2015 11:20:48 AM,
and ParentSnapshot is empty. For VMName Windows10, Name is Windows 10 Tech Preview
– (7/4/2015 – 11:28:43 AM), SnapshotType is Standard, CreationTime is 7/4/2015 11:28:51
AM, and ParentSnapshot is New Virtual Machine – (7/4/2015..., which is partially displayed.
For VMName Windows10, Name is Windows 10 – (7/8/2015 – 12:20:27 PM), SnapshotType is
Standard, CreationTime is 7/8/2015 12:20:28 PM, and ParentSnapshot is Windows 10 Tech
Preview – (7/4/..., which is partially displayed.]

If we switch over to the Hyper-V Manager tool, we can see the same virtual machine
Windows10. And when we select the virtual machine, we can see the checkpoints that are
available down below. Now the current running system is listed as "Now," but we can select
any of these checkpoints and we could right-click and we could Apply it. So essentially, we're
reverting back to that point. Of course, we can also delete the checkpoint or the entire
checkpoint subtree. If we go into the settings of a virtual machine, so I'll do that for our
Windows 7 VM, here on the left, we can click Checkpoints. On the right, we then see the
details. We can see that checkpoints are enabled. And on this particular virtual machine, only
production checkpoints are enabled. We do have the option to Create standard checkpoints if
it's not possible to create a production checkpoint. We also have the option here to set
Standard checkpoints. That's what we're used to, back from Server 2012, for example, we
could set those as the default.

[The Administrator: Windows PowerShell ISE window is displayed. The presenter navigates to
the Hyper-V Manager window. This window includes the following menus on the menu bar:
File, Action, View, and Help. The window consists of three panes. The left pane includes the
Hyper-V Manager node. The Hyper-V Manager node is expanded and includes the
SRV2016-2 and SRV2016-3 subnodes. The SRV2016-2 node is already selected. The middle
pane accordingly includes the following three sections: Virtual Machines, Checkpoints, and
Windows10. The Virtual Machines section includes information displayed in a tabular format
that includes two rows and the following seven columns: Name, State, CPU Usage, Assigned
Memory, Uptime, Status, and Configuration. For name Nano-1, State is Off, CPU Usage,
Assigned Memory, Uptime, and Status are empty, and Configuration is 6.2. For name
Windows 10, State is Off, CPU Usage, Assigned Memory, Uptime, and Status are empty, and
Configuration is 6.2. This row of the table is selected by default. The Checkpoints section
includes the New Virtual Machine – (7/4/2015 – 1 1:20:37 AM) node. This node is expanded
and includes the Window 10 Tech Preview – (7/4/2015 – 11:28:43 AM) subnode. This subnode
is further expanded and includes the Windows 10 – (7/8/2015 – 12:20:27 PM) subnode. This
subnode is again further expanded and includes the Now node. The Windows 10 section has
the Summary tab selected. In the Checkpoints section, the presenter then right-clicks the
Window 10 Tech Preview – (7/4/2015 – 11:28:43 AM) subnode and points to the Apply option
from the list of options such as Export, Rename, Delete Checkpoint, and Delete Checkpoint
Subtree. Then in the Virtual Machines section, the presenter right-clicks the Windows 10 row
and selects Settings from among other options such as Connect, Revert, Start, and Move. As
a result, the Settings for Windows 10 on SRV2016-2 window is displayed. This window
includes a drop-down list, which already has Windows10 selected, and consists of two panes.
The left pane includes the Hardware and Management sections. The Hardware section
includes options such as Add Hardware, Firmware, and Memory. The Management section
includes options such as Name, Integration Services, and Checkpoints. The Add Hardware
option is selected by default and its details are displayed in the right pane. The right pane
includes the text, "Select the devices you want to add and then click the Add button". Below
this text, the following options are displayed in a list box: SCSI Controller, which is selected by
default, Network Adapter, and Fibre Channel Adapter. The right pane also includes the Add
button. Next from the Management section in the left pane, the presenter clicks Checkpoints
and the relevant information is displayed in the right pane. The right pane includes the text,
"You can configure options for checkpoints for this virtual machine." It also includes the
Checkpoint Type section. This section contains the Enable checkpoints checkbox, which is
already selected; the Production checkpoints radio button, which is already selected; the
Create standard checkpoints if it's not possible to create a production checkpoint checkbox;
and the Standard checkpoints radio button. The dialog box also includes the OK, Cancel, and
Apply buttons. He selects the Create standard checkpoints if it's not possible to create a
production checkpoint checkbox.]

Now production checkpoints require that the virtual machine version be at least 6.0 or better.
Let's go back to the PowerShell ISE. And we're going to run the get-vm commandlet. When we
do that, we see a list of the virtual machines on the virtualization host. But in the right-most
column we can see the Version. Here we've got version 6.2 for each of those VMs. Now if
those VMs had come straight from Server 2012 R2, the version would be 5. And so we would
then be unable to use production checkpoints. We can upgrade the version of a virtual
machine using a PowerShell commandlet called update-vm version. Let's go ahead and run
that commandlet here. The update-vm version commandlet can only work when the virtual
machine is not running. What it does is it updates the version of it so we can take advantage of
new features such as production checkpoints. In this video, we learned how to enable and
disable checkpoints.

[The Settings for Windows 10 on SRV2016-2 window is displayed. The presenter navigates to
the Administrator: Windows PowerShell ISE window and on the Untitled1.ps1 tabbed page,
highlights the get-vm code statement on line #3. The presenter then clicks the Run Selection
button. As a result, some output is displayed in the [srv2016-2] command prompt area. The
output displayed is in a tabular format and includes two rows and the following seven columns:
Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. For Name
Nano-1, State is Off, CPUUsage(%) is 0, MemoryAssigned is 0, Uptime is 00:00:00, Status is
Operating normally, and Version is 6.2. For Name Windows10, State is Off, CPUUsage(%) is
0, MemoryAssigned is 0, Uptime is 00:00:00, Status is Operating normally, and Version is 6.2.
Next the presenter deletes the get-vm code statement on line #3 and instead enters the
following code: get-command *update-vm* He clicks the Run Selection button on the toolbar.
As a result, the tabular output is displayed in the [srv2016-2] command prompt area, which
includes a single row and the following four columns: CommandType, Name, Version, and
Source. For CommandType Cmdlet, Name is Update-VMVersion, Version is 2.0.0.0, and
Source is Hyper-V.]
Configuring Standard and Production
Checkpoints
Learning Objective
After completing this topic, you should be able to
◾ configure the standard and production checkpoints in Hyper-V Manager on Windows
Server Technical Preview

1.
In this video, I'll demonstrate how to configure standard and production checkpoints. Hyper-V
Technical Preview 2 has the ability to create what's called a production checkpoint. It gets its
name from the fact that it's okay to use these type of checkpoints in a production environment.
The older type of checkpoint, called either a standard or a traditional checkpoint, was designed
to be use in a test or a lab environment. It was never really designed to be used in production.
What happens with production checkpoints is that the volume shadow service component in
Windows guests is called upon to create the checkpoint. Linux guests are instructed by
Hyper-V to flush file system buffers. Here I'm going to enter a remote session on my host
running virtual machines, and I'll type "get-vm". We can see we've got two virtual machines.
The right-most column has the Version number, in this case 6.2. That means that these virtual
machines are running the latest configuration file version for virtual machines in Hyper-V, as of
Hyper-V Technical Preview 2. Now this is important if we want to use the new efficient binary
file format for the configurations file for our VMs and if we want to be able to use production
checkpoints. Now if we're working with older virtual machines, they might be at version 5,
which means we would have to use the update-vmversion commandlet to update the version
of the virtual machine. Version 5 is what you would have bringing over a VM from Server 2012
R2 Hyper-V.

[The Administrator: Windows PowerShell command prompt window is displayed. It includes


the following code at the PS C:\Users\Administrator command prompt: enter-pssession
srv2016-2 The presenter then runs the command above. As a result, the command prompt
changes as follows: [srv2016-2]: PS C:\Users\Administrator.QUCK24X7\Documents At the
[srv2016-2]: PS C:\Users\Administrator.QUCK24X7\Documents command prompt, he then
runs the following command: get-vm As a result, the following output is displayed: Command
'get-vm' cannot be found. Then the output is modified and is displayed in a tabular format that
includes two rows and the following seven columns: Name, State, CPUUsage(%),
MemoryAssigned(M), Uptime, Status, and Version. The table includes the following values: For
Name Nano, State is Off, CPUUsage(%) is 0, MemoryAssigned is 0, Uptime is 00:00:00,
Status is Operating normally, and Version is 6.2. For Name Windows 10 Tech Preview, State
is Running, CPUUsage(%) is 11, MemoryAssigned is 896, Uptime is 00:30:01.1770000, Status
is Operating normally, and Version is 6.2. Next he enters the following command at the
[srv2016-2]: PS C:\Users\Administrator.QUCK24X7\Documents command prompt: update-
vmversion nano He then deletes the entered command.]
But I've already got that done so I don't need to do that. Let's go into the Hyper-V Manager.
And let's take a look at the settings within a virtual machine because that's where we can go to
determine what type of checkpoints will be done. In the left-hand navigator, we see an option
called Checkpoints. And on the right, we can see that production checkpoints are enabled. But
we can also turn on standard checkpoints. The default behavior is that checkpoints are
enabled, production checkpoints are turned on, and we have the option to create standard
checkpoints if it's not possible to create a production checkpoint. That might happen if our
virtual machine version isn't at least up to version 6 because production checkpoints only apply
to version 6 virtual machines or above. Now in our case, our virtual machines have version 6.2.
I'm going to turn off standard checkpoints. And we're going to go ahead and test this. I'm going
to right-click on my Windows 10 Tech Preview virtual machine. And I'm going to create a
checkpoint. So we build production checkpoints the same way you would build a standard
checkpoint. In the Status column, we can see it's creating the checkpoint. And after a few
moments, we'll get a message that tells us it was created. Here, we can see the "Production
checkpoint was created" for our virtual machine. In this video, we learned how to configure
standard and production checkpoints.

[The Administrator: Windows PowerShell command prompt window is displayed. The


presenter navigates to the Hyper-V Manager window. It displays the following menus in the
menu bar: File, Action, View, and Help. The toolbar includes options such as Back, Next, and
Help. This window is divided into three panes. The left pane includes the Hyper-V Manager
node. The Hyper-V Manager node is expanded and it includes the SRV2016-2 subnode. The
SRV2016-2 subnode is selected by default. The middle pane includes the following three
sections: Virtual Machines, Checkpoints, and Windows 10 Tech Preview. The Virtual Machines
section includes information displayed in a tabular format that contains two rows and the
following seven columns: Name, State, CPU Usage, Assigned Memory, Uptime, Status, and
Configuration. The values in the table are as follows: For Name Nano, State is Off, CPU
Usage, Assigned Memory, Uptime, and Status are not specified, and Configuration is 6.2. For
Name Windows 10 Tech Preview, State is Running, CPU Usage is 9%, Assigned Memory is
896MB, Uptime is 00:30:52, Status is not specified, and Configuration is 6.2. The row with the
Name Windows 10 Tech Preview is selected by default. The Checkpoints section includes the
New Virtual Machine - (7/4/2015 - 11:20:37 AM) node. This node is expanded by default and
includes the Now subnode. The Windows 10 Tech preview section includes the Summary,
Memory, Networking, and Replication tabs. The Summary tab is open by default and includes
information about Windows 10 Tech Preview. Then he right-clicks the row with the Name
Windows 10 Tech Preview from the Virtual Machines section and the shortcut menu is
displayed. The shortcut menu includes options such as Connect, Settings, and Checkpoint.
Next he selects Settings and the Settings for Windows 10 Tech Preview on SRV2016-2
window is displayed. This window includes a drop-down list box, which includes the Windows
10 Tech preview option selected by default. The window is divided into two panes. The left
pane includes the Hardware and the Management sections. The Hardware section includes
options such as Add Hardware, Firmware, and Memory. The Management section includes
options such as Name, Integration Services, and Checkpoints. Next he selects Checkpoints
from the Management section and the detailed information about Checkpoints is displayed in
the right pane. The right pane includes the following text "You can configure options for
checkpoints for this virtual machine." Below this text, the Checkpoint Type section includes the
Enable checkpoints checkbox, which is selected by default , the Production checkpoints radio
button, which is selected by default, the Create standard checkpoints if it's not possible to
create a production checkpoint checkbox , and the Standard checkpoints radio button. Below
the Checkpoint Type section, the Checkpoint File Location section is displayed that displays
the text "Specify the folder to store the checkpoint files for this virtual machine." The text field
with the default value C:\Hyper-V is included below the text. The text field is associated with
the Browse button. The window also includes the OK, Cancel, and Apply buttons. He then
selects the Create standard checkpoints if it's not possible to create a production checkpoint
checkbox. Next he clears the Create standard checkpoints if it's not possible to create a
production checkpoint checkbox and clicks OK. As a result, the Settings for Windows 10 tech
Preview on SRV2016-2 window closes. In the Hyper-V Manager window, he right-clicks the
row with the Name Windows 10 Tech Preview from the Virtual Machines section. Next he
selects Checkpoints from the shortcut menu displayed. In the same row, the Status column
value in the Virtual Machines section now displays Creating Checkpoint (9%). After the
checkpoint is created, the Status column displays the value Creating Checkpoint - Succeeded.
As a result, Virtual Machine Checkpoint message box is displayed and it includes the text
"Production Checkpoint Created". It also includes the Please don't show me this again
checkbox and the OK button.]
Enable Remote Hyper-V Host Management
Learning Objective
After completing this topic, you should be able to
◾ enable remote management on a Windows Server Technical Preview Hyper-V host

1.
In this video, I'll discuss how to enable remote Hyper-V host management. With Hyper-V
Technical Preview 2 as well as Windows Server Technical Preview 2, Microsoft strategy is
such that we shouldn't be administering the servers locally. We should be doing it remotely,
using either command line tools or graphical management tools. That way we don't have to
support, for example, the GUI on a server, thereby reducing the footprint and resource usage
of that server. Now if we are using a Windows server that has the GUI installed and we want to
make it available for remote Hyper-V management, we could check the Windows Firewall with
Advanced Security. When I go into the Windows Firewall with Advanced Security, I would
make sure that the appropriate Domain Profile is on. Here they're all off. So for example, I
might turn On my active directory Domain Profile. And I'll turn On my Private, and I'll turn On
the Public network profile. Now what's set for each of those profiles for inbound connections is
to Block by default. So let's go ahead and turn that on. Then what I'm going to do is go to my
Inbound Rules. Here in my Inbound Rules, the green rules are the ones that are currently
enabled or active. What I want to do is take a look for remote management based on WinRM.

[The Windows 10 desktop is displayed. The Start menu is open and the Search text field in the
menu includes the text firewall with Advanced Security. As a result, the Windows Firewall with
Advanced Security option is displayed among other results in the Start menu. He then clicks
the Windows Firewall with Advanced Security option and the Windows Firewall with Advanced
Security window is displayed. It displays the following menus in the menu bar: File, Action,
View, and Help. The toolbar includes options such as Back, Next, and Help. This window is
divided into three panes. The left pane includes the partially displayed Windows Firewall with
Advance node. This node is expanded by default and includes the following subnodes:
Inbound Rules, Outbound Rules, Connection Security Rules, and Monitoring. The partially
displayed Windows Firewall with Advance node is selected by default and the middle pane
includes the Windows Firewall with Advanced Security on Local Computer section. This
section includes the Overview and Getting Started subsections. The Overview subsection
includes the following options: Domain Profile is Active, Private Profile, and Public Profile. It
also includes the Windows Firewall Properties link. Next he clicks the Windows Firewall
Properties link and the Windows Firewall with Advanced Security on Local Computer Pro
dialog box is displayed. The name of this dialog box is partially displayed. This dialog box
includes the Domain Profile, Private Profile, Public Profile, and IPsec Settings tabs of which
the Domain Profile tab is selected by default. The Domain Profile tabbed page includes the
State, Settings, and Logging sections. The State section includes the Firewall state drop-down
list box, which includes the Off option by default, the Inbound connections drop-down list box,
which includes the Block (default) option by default, and the Outbound connections drop-down
list box, which includes the Allow (default) option by default. It also includes the Protected
network connections field and the Customize button associated with it. The Settings section
includes the text Specify settings that control Windows Firewall behavior and the Customize
button associated with it. The Logging section includes the text Specify logging settings for
troubleshooting and the Customize button associated with it. The dialog box also includes the
OK, Cancel, and Apply buttons. Then he selects the On (recommended) option from the
Firewall state drop-down list box. Next he navigates to the Private Profile tab. The Private
Profile tabbed page is similar to the Domain Profile tab. Next he selects the On
(recommended) option from the Firewall state drop-down list box. Then he navigates to the
Public Profile tab which again include the same fields as the previous two tabs and he selects
On (recommended) option from the Firewall state drop-down list box. He then clicks the OK
button and the dialog box closes. As a result, the Windows Firewall with Advanced Security
window is displayed. Then he clicks the Inbound Rules subnode and an Inbound Rules table is
displayed in the middle pane of the window. This table includes multiple rows and the following
five columns: Name , Group, Profile, Enables, and Action. Some of the values in the table are
as follows: For Name AllJoyn Router (TCP-ln), Group is AllJoyn Router, Profile is partially
displayed as Domain, Enabled is Yes, and Action is Allow. For Name AllJoyn Router (UDP-ln),
Group is AllJoyn Router, Profile is partially displayed as Domain, Enabled is Yes, and Action is
Allow.]

So what I'll do in my list of Inbound Rules is I'll click in the list of rules and I'll press W to jump
down to the Ws. Then I'm going to scroll down because what I'm really looking for here is I'm
looking for Windows Remote Management. So I'll keep scrolling down. Now I've got two
entries for Windows Remote Management. And that's only because if, I kind of, scroll over and
drag out the Profile column, we can see it's because it applies to different network profiles. I'm
just going to go ahead and double-click on the first Windows Remote Management (HTTP-In)
rule. And we can see it's using TCP port 5985, which is used by WinRM. One of the new
changes with the Hyper-V Manager tool, if that's what we're using, is that it allows the
connectivity to remote Hyper-V hosts over WinRM. So it's important that we make sure the
firewall on our Hyper-V hosts has that enabled. But what about if we have a server that doesn't
have the GUI. One way to do it is directly at the server, as long as it's not Nano Server, at the
command line. Let's take a look at how to do that. Here I'm at a Hyper-V Technical Preview 2
standalone installation. So there is no GUI when we install that edition of the Hyper-V Server.
So what I'm going to do with the command line is use the netshell command with advanced
firewall. And I'm going to tell it to show all of the rules.

[The Windows Firewall with Advanced Security window is displayed. In the Inbound Rules
table, the presenter selects one of the rows and presses W. As a result, the names starting
with W is displayed in the table. He then scrolls down the table and refers to the rows with the
following values: For Name Windows Remote Management (HTTP-In), Group is Windows
Remote Management, Profile is Public, and Enabled is Yes. For Name Windows Remote
Management (HTTP-In) name, Group is Windows Remote Management, Profile is Domain,
Private, and Enabled is Yes. Next he double-clicks the row with the Name Windows Remote
Management (HTTP-In) and Profile Public. As a result, the Windows Remote Management
(HTTP-In) Properties dialog box is displayed. This dialog box includes tabs such as General,
Scope, Advanced, and Remote Users. The General tab is selected by default and the tabbed
page includes the General and Action sections. The General section includes the Name text
field, which includes the default value Windows Remote Management (HTTP-In), and the
Description text field that includes the following text by default: Inbound rule for Windows
Remote management via WS-management. [TCP 5985], and the Enabled checkbox which is
selected by default. The Action section includes the following three radio buttons: Allow the
connection, which is selected by default, Allow the connection if it is secure, and Block the
connection. The Allow the connection if it is secure radio button includes a text field associated
with it that contains the default text Customize. The dialog box also includes the OK, Cancel,
and Apply buttons. Next he clicks the Cancel button and the dialog box closes. As a result, the
Windows Firewall with Advanced Security window is displayed with the Inbound Rules table.
Then he navigates to the Select Administrator C:\Windows\system32\cmd.exe command
prompt window. The following command is already entered at the C:\Windows\system32
command prompt: netsh advfirewall firewall show rule name-all]

Now when I take a look at the command output, I can see that we've got a rule name here
called Windows Remote Management (HTTP-In), just like we saw in the graphical environment
using the port 5985. It's important that this be enabled to allow inbound connections, so that
the Hyper-V host can be managed remotely. Now we also have to make sure that any firewalls
between the networks, where my client administration system is and the Hyper-V host I'm
trying to manage is, we have to make sure those firewalls also allow WinRM traffic. Here in the
Hyper-V Manager console, I'm going to ahead and right-click on Hyper-V Manager in the left.
And I'll choose Connect to Server. Here I'm going to click Browse, and I'm going to go through
active directory looking for a computer that I want to manage. And I'm going to select our
Hyper-V-Standalone server. And I'll click OK. Now I do have the option with Hyper-V Manager
now to connect with an alternate set of credentials. But because all of these computers are in
the same active directory domain and I'm logged in with the domain administrator account,
there's no need to do that. So I'll go ahead and click OK. And we can see that we've made a
successful connection to our Hyper-V standalone machine. Now if that fails, it could be
because WinRM traffic is not allowed through. Another reason it might fail is if that Hyper-V
host isn't joined to an active directory domain – we have to make sure it's a trusted host. Let's
switch over to the PowerShell ISE.

[The Select Administrator C:\Windows\system32\cmd.exe command prompt window is


displayed. The presenter runs the following command at the C:\Windows\system32 command
prompt: netsh advfirewall firewall show rule name-all As a result, the output is displayed in
another Select Administrator C:\Windows\system32\cmd.exe command prompt window. The
output displays the rules with its characteristics as follows: Rule Name: Windows remote
Management (HTTP-In) Enabled: Yes Direction: In Profiles: Public Grouping: Windows
Remote Management LocalIP: Any RemoteIP: LocalSubnet Protocol: TCP LocalPort: 5985
RemotePort: Any Edge traversal: No Action: Allow Rule Name: Windows remote Management
(HTTP-In) Enabled: Yes Direction: In Profiles: Domain, Private Grouping: Windows Remote
Management LocalIP: Any RemoteIP: Any Protocol: TCP LocalPort: 5985 RemotePort: Any
Edge traversal: No Action: Allow He then navigates to the Hyper-V Manager window. It
displays the following menus in the menu bar: File, Action, View, and Help. The toolbar
includes options such as Back, Next, and Help. This window is divided into three panes. The
left pane includes the Hyper-V Manager node. The Hyper-V Manager node is expanded by
default and it includes the SRV2016-2 and SRV2016-3 subnodes. The middle pane includes
the following three sections: Virtual Machines, Checkpoints, and Nano-1. Next he right-clicks
the Hyper-V manager node in the left pane and the shortcut menu is displayed. The shortcut
menu includes options such as Connect to Server, View, and Help. He then selects the
Connect to Server option. As a result, the Select Computer dialog box is displayed. It includes
the following section: Connect to virtualization server. The Connect to virtualization server
section includes the Local computer and Another computer radio buttons. The Another
computer radio button is selected by default and includes a text field and Browse button
associated with it. It also includes Connect as another user: <none> checkbox, and Set User,
OK, and Cancel buttons. He then clicks the Browse button and another Select Computer
dialog box is displayed. This dialog box includes the Select this object type text field, which
includes the default value Computer, and contains the Object Types button associated with it,
the From this location text field, which includes the text quick24x7.local by default and contains
the Locations button associated with it, and the Enter the object name to select text field, which
includes the Check names and Advanced buttons associated with it. The dialog box also
includes the OK and Cancel buttons. Next he clicks the Advanced button and the third Select
Computer dialog box is displayed. This dialog box includes the Select this object type text field,
which includes the default value Computer and contains the Object Types button associated
with it and the From this location text field, which includes the text quick24x7.local by default
and contains the Locations button associated with it. It also includes the Common Queries tab
that includes the Name and Description drop-down list boxes with the default option Starts with
and a text field associated with each of it. Below the drop-down list boxes, the Disabled
accounts and Non expiring password checkboxes, and the Days since last logon drop-down
list box are displayed. The dialog box also includes the Columns, Find Now, Stop, OK, and
Cancel buttons. It also includes the Search results table which is empty and includes the
following two columns: Name and In Folder. Next he clicks the Find Now button and the
Search results table gets populated with values. Some of the values in the table are as follows:
For Name Cluster1, In Folder is partially displayed as quick24x7.local/. For Name HYPER-V-
STANDAL, In Folder is partially displayed as quick24x7.local/. He then selects the row with the
Name HYPER-V STANDAL and clicks the OK button. As a result, the dialog box closes and in
the second Select Computer dialog box, HYPER-V STANDAL is updated in the Enter the
object name to select field. He again clicks the OK button in the second Select Computer
dialog box and the dialog box closes. In the first Select Computer dialog box, HYPER-V
STANDAL is displayed in the text field associated with Another computer radio button. He then
clicks OK in the first Select Computer dialog box and the dialog box closes. As a result, the
Hyper-V Manager window is displayed. The subnode HYPER-V STANDAL is now added to the
Hyper-V Manager node in the left pane. He then navigates to the Administrator: Windows
PowerShell ISE window.]

The first thing I'll do here is I'll run get-psdrive – my PowerShell drives. And I can see that the
web service management, or WSman, is treated as a drive. So if I do a directory of the
WSMan drive, I can see I've got the localhost folder or container. So what I can do then is
using the set-item commandlet in PowerShell, I can add either IP addresses or computer
names, even fully qualified names, to my list of TrustedHosts. Now I would do this if I'm going
to be connecting to a Hyper-V machine that I want to manage, given its IP address or if it's not
joined to the domain. So when I modify the TrustedHosts list by using the set-item
commandlet, after that's done if I get-item and take a look at my TrustedHosts on this machine,
then we can see that it would have added that machine. Now let's not forget that we can also
use PowerShell remoting to connect to a Hyper-V host to manage it.

[The Administrator: Windows PowerShell ISE window is displayed. It displays the following
menus in the menu bar: File, Edit, View, Tools, Debug, Add-ons, and Help. The toolbar
includes options such as Run Script, Run Selection, and Stop Operation. Below the toolbar,
the window is divided into two sections. The top section includes the Script pane and the
bottom section includes the Console pane. The Script pane includes the Untitled1.ps1 tab.
This tabbed page includes the following code: 1 get-psdrive 2 dir wsman 3 4 set-item
WSMan:\localhost\Client\TrustedHosts 192.168.1.158 5 6 get-item
WSMan:\localhost\Client\TrustedHosts The Console pane includes the command prompt PS
C:\. The right pane includes the Add-on tools pane which contains the Commands tab. The
Commands tabbed page includes the Modules drop-down list box with the default option All.
The Refresh button is also displayed next to the Modules drop-down list box. The Commands
tab also includes the Name text field and below it, a list box with commands such as Add-
BgpPeer, Add-BgpRouter, and Add-BitsFile listed in an alphabetical order. The presenter
places the cursor at the end of the following code statement on line #1: 1 get-psdrive He then
clicks the Run Selection button on the toolbar. As a result, the Console pane displays the
output in a tabular format that includes multiple rows and the following six columns: Name,
Used (GB), Free (GB), Provider, Root, and CurrentLocation. One of the rows in the table
includes the following values: For Name WSMan, Used (GB) and Free (GB) are not specified,
Provider is WSMan, and Root and CurrentLocation are not specified. Then he places the
cursor at the end of the following code statement on line #2: 2 dir wsman Next he clicks the
Run Selection button on the toolbar. As a result, in the Console pane, the output is displayed in
a tabular format that includes a single row and the following two columns: ComputerName and
Type. The values in the row are as follows: For ComputerName localhost, Type is Container.
He then places the cursor at the end of the following code statement on line #4: 4 set-item
WSMan:\localhost\Client\TrustedHosts 192.168.1.158 Then he clicks the Run Selection button
on the toolbar. As a result, the WinRM Security Configuration message box is displayed. The
following text is displayed in the message box: This command modifies TrustedHosts list for
the WinRM client. The computers in the TrustedHosts list might not be authenticated. The
client might send credential information to these computers. Are you sure that you want to
modify this list? The message box also includes the Yes, No, and Suspend buttons. Next he
clicks the Yes button and the dialog box closes. Next he places the cursor at the end of the
following code statement on line #6: 6 get-item WSMan:\localhost\Client\TrustedHosts Next he
clicks the Run Selection button on the toolbar. As a result, in the Console pane, the output is
displayed in a tabular format that includes a single row and the following four columns: Type,
Name, SourceOfValue, and Value. The values in the table are as follows: For Type
System.String, Name is TrustedHosts, SourceOfValue is not specified, and Value is
192.168.1.158. He then runs the following command at the PS C:\ command prompt: enter-
psession hyper-v-standal As a result, the command prompt changes as follows: [hyper-v-
standal]: PS C:\Users\Administrator.QUICK24X7\Documents]

So I've entered a remote PowerShell session with my Hyper-V standalone host. And we know
that we're in because of the prefix in our PowerShell prompt. So what I'll do on that host now is
I'll run get-command against the Hyper-V module. And when I press Enter, we can see all of
the commandlets that are available to manage virtual machines and Hyper-V on that host. So
we could use these commandlets to manage that host remotely through a PowerShell session.
PowerShell remoting is also based upon WinRM, so it's important that that be set up
appropriately at the firewall level. Now we also have to make sure that the user account that
we are currently logged in as is listed as a local administrator on the Hyper-V host. Now
because I'm logged in with the domain administrator account and the Hyper-V host is joined to
the domain, that means the domain admins group, then, is a member of the local
administrators group on the Hyper-V host. So I already have those admin rights. In this video,
we learned how to enable remote Hyper-V host management.

[The Administrator: Windows PowerShell ISE window is displayed. The presenter runs the
following command in the [hyper-v-standal]: PS C:\Users\Administrator.QUICK24X7
\Documents command prompt: get command -module hyper-v As a result, a number of
commandlets are displayed as the output. Some of them are as follows: Cmdlet Set-VHD
2.0.0.0 hyper-v Cmdlet Set-VM 2.0.0.0 hyper-v Cmdlet Set-VMBios 2.0.0.0 hyper-v Cmdlet
Set-VMComPort 2.0.0.0 hyper-v Cmdlet Set-VMDDvdDrive 2.0.0.0 hyper-v]
Virtual Machine Configuration Version
Learning Objective
After completing this topic, you should be able to
◾ describe new configuration versions in Hyper-V Technical Preview

1.
In this video, I'll discuss virtual machine configuration versions. Here we're looking at the old-
style VHD for a virtual machine along with its XML text file. But now, with Hyper-V Technical
Preview 2, we have the option of converting the virtual machine version to a newer or updated
version, number 6 or above. Where instead of an XML config file, we have an efficient binary
file and we can also use newer features like production checkpoints. Here in PowerShell, I'm
going to enter a remote session with a Hyper-V host, and I'm going to type get-vm. Now we
can ignore any little error messages here because this is prerelease code. We can see we've
got a nano virtual machine, and its version in the right-most column is listed as version number
5. This is what we get if we have a virtual machine that came straight from, for example,
Server 2012 R2. But if we want to take advantage of the new efficient binary file format or new
features like production checkpoints, we've got to update the virtual machine version. We can
do that using the update-vmversion PowerShell commandlet, where I would then give it the
name of the virtual machine whose version I'd like to update.

[The File Explorer window is displayed at the following location: This PC\c$ (\\Srv2016-2)(X:)
\Hyper-V\Virtual Machines The Virtual Machines folder contains the FE1026E0-B678-44A9-
974F-D1CCE94AC85F folder and the following files: FE1026E0-B678-44A9-974F-
D1CCE94AC85F.xml and Nano-1.vhd. The presenter navigates to the Administrator: Windows
PowerShell command prompt window. The following command is already run at the PS
C:\Users\Administrator command prompt: enter-pssession srv2016-2 As a result, the
command prompt is modified as follows: [srv2016-2]: PS C:\Users\Administrator.QUICK24X7
\Documents He then runs the following command at the [srv2016-2]: PS
C:\Users\Administrator.QUICK24X7\Documents command prompt: get-vm As a result, the
following message is displayed: Command 'get-vm' cannot be found. The output then modifies
and is displayed in a tabular format with one row and the following seven columns: Name,
State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. The table includes
the following values: For Name Nano, State is Running, CPUUsage(%) is 0, MemoryAssigned
(M) is 512, Uptime is 00:13:04.2350000, Status is Operating normally, and Version is 5.0. Next
he enters the following command at [srv2016-2]: PS C:\Users\Administrator.QUICK24X7
\Documents command prompt: update-vmversion]

Now here I'm going to specify my nano virtual machine. But when I press Enter, I get a little
message because this is prerelease code that it doesn't know about the command. But after I
press Enter beyond that, it asks me to confirm the conversion. So I'll go ahead and type the
letter "y" for yes. But then it tells me it can't happen while the virtual machine is running. So I'll
use the stop-vm commandlet to stop my nano virtual machine. And then after that, I'm going to
attempt to update my VM version again. So if I type get-vm, we can see now that the virtual
machine is off and it needs to be in that state for us to update the version. So let's go ahead
and try to update the VM version again. I'll type the letter "y" for yes. And this time we got no
error. So if we type get-vm, we can now see we have a version of 6.2. Now this means that
we're going to be using the new binary virtual machine configuration file format. And we could
take advantage of new features like production checkpoints. So if we go back and look at the
file system for that virtual machine, we still have the old VHD file, the virtual hard disk, but
notice we no longer have the .xml config file for the virtual machine, which was readable using
any text editor. Instead, we've got a new version of the binary file format for the virtual
machine. Bear in mind that once we've updated the VM version, it can no longer run on Server
2012 R2. In this video, we learned how to update a virtual machine to the new configuration
version.

[The Administrator: Windows PowerShell command prompt window is displayed. The


presenter runs the following command at the [srv2016-2]: PS
C:\Users\Administrator.QUICK24X7\Documents command prompt: update-vmversion nano As
a result, the following output message is displayed: Command 'update-vmversion' cannot be
found. The output then modifies and the following text is displayed: Confirm Are you sure you
want to perform this action? Performing a configuration version update of "Nano" will prevent it
from being migrated to or imported on previous version of Windows. This operation is not
reversible. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): The cursor is at
the end of the output. He then enters y and presses the Enter key. As a result, the following
output is displayed: update-vmversion : The operation cannot be performed while the virtual
machine is in its current state. + CategoryInfo : InvalidOperation: (VirtualMachine ...-
d1cce94ac85f']:VirtualMachine) [Update-VMVersion], VirtualizationException +
FullyQualifiedErrorId : InvalidState, Microsoft.HyperV.PowerShell.Cmdlets.UpdateVMVersion
Next he runs the following command at the [srv2016-2]: PS
C:\Users\Administrator.QUICK24X7\Documents command prompt: stop-vm nano As a result,
the following output message is displayed: Command 'stop-vm' cannot be found. Then he runs
the following command at the [srv2016-2]: PS C:\Users\Administrator.QUICK24X7\Documents
command prompt: get-vm As a result, the following output message is displayed: Command
'get-vm' cannot be found. The output then modifies and is displayed in a tabular format that
contains one row and the following seven columns: Name, State, CPUUsage(%),
MemoryAssigned(M), Uptime, Status, and Version. The table includes the following values: For
Name Nano, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime is 00:00:00,
Status is Operating normally, and Version is 5.0. Next he runs the following command at the
[srv2016-2]: PS C:\Users\Administrator.QUICK24X7\Documents command prompt: update-
vmversion nano As a result, the following output message is displayed: Command 'update-
vmversion' cannot be found. The output then modifies and the following text is displayed:
Confirm Are you sure you want to perform this action? Performing a configuration version
update of "Nano" will prevent it from being migrated to or imported on previous version of
Windows. This operation is not reversible. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help
(default is "Y"): The cursor is at the end of the output. He then enters y and presses the Enter
key. Then he runs the following command at the [srv2016-2]: PS
C:\Users\Administrator.QUICK24X7\Documents command prompt: get-vm As a result, the
following output message is displayed: Command 'get-vm' cannot be found. The output then
modifies and is displayed in a tabular format that contains one row and the following seven
columns: Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. For
Name Nano, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime is 00:00:00,
Status is Operating normally, and Version is 6.2. Next he navigates to the Virtual Machines
folder in the File Explorer window and refers to the following files present in the Virtual
Machines folder: FE1026E0-B678-44A9-974F-D1CCE94AC85F.vmcx, FE1026E0-B678-44A9-
974F-D1CCE94AC85F.VMRS, and Nano-1.vhd.]
VM Configuration File Format
Learning Objective
After completing this topic, you should be able to
◾ describe new virtual machine configuration file format in Hyper-V Technical Preview

1.
In this video, I'll discuss the new virtual machine configuration file format. Virtual machine
configuration files can be stored separately from virtual machine hard disk files. And in a
failover clustering environment, these files need to exist on shared storage that's accessible by
all cluster nodes. We have the option of updating the virtual machine version, and this is a
manual process in Hyper-V Technical Preview 2. Now you can run older virtual machines, for
example, that were created in Server 2012 R2 and their version number would be version 5.
Version 5 virtual machines use an xml configuration file, seen here. Now the xml configuration
file can be opened using a text editor or an xml editor. And from here, we can see the contents
of the virtual machine configuration file, and depending on the tool we're using, we can even
make changes to it. Let's switch over to PowerShell, where we're going to run the get vm
commandlet on a Hyper-V host to list virtual machines. We're looking at the version column to
the right, which in this case lists 6.2 for all VMs on this host.

[The File Explorer window is displayed at the following location: This PC\j$ (\\192.168.1.200)
(Y:)\Hyper-V_VMs\CentOS_Linux\Virtual Machines The Virtual Machines folder includes the
69F88E11-38D8-46D9-BB0D-F8202C99EB1C folder and the 69F88E11-38D8-46D9-BB0D-
F8202C99EB1C.xml file. The presenter double-clicks the xml file. As a result, the xml file is
displayed in the Internet Explorer browser window on the Y:\Hyper-V_VMs\CentOS_Li tabbed
page. The name of the tabbed page is partially displayed and the web address is partially
displayed as follows: Y:\Hyper-V_VMs\CentOS_Linux\Virtual Mach. The tabbed page contains
the xml codes of contents of the virtual machine configuration file. He then navigates to the
Administrator: Windows PowerShell command prompt window. The following command and its
output are displayed on the [srv2016-2]: PS C:\ command prompt: get-vm The output of the
command is displayed in the tabular format with four rows and the following seven columns:
Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. The values in
the table are as follows: For Name Nano-1, State is Off, CPUUsage(%) is 0, MemoryAssigned
(M) is 0, Uptime is 00:00:00, Status is Operating normally, and Version is 6.2. For Name
Server3, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime is 00:00:00, Status
is Operating normally, and Version is 6.2. For Name SLES 12, State is Running, CPUUsage
(%) is 2, MemoryAssigned(M) is 1754, Uptime is 15:08:57.6320000, Status is Operating
normally, and Version is 6.2. For Name Windows10, State is Off, CPUUsage(%) is 0,
MemoryAssigned(M) is 0, Uptime is 00:00:00, Status is Operating normally, and Version is 6.2.
He refers to the Version column and its values.]

In Hyper-V Technical Preview 2, we can use the update -vmversion commandlet if we need to
update the version of the virtual machine. The only thing it really requires is the name of the
virtual machine. But we don't need to do that here because they're already at version 6.2. If
you brought over a virtual machine from Server 2012 R2, for instance, then it would be listed at
version 5. Now updating the version of the virtual machine lets you take advantage of new
features such as production checkpoints and the new virtual machine configuration file format.
Let's go take a look at that. The new virtual machine configuration file format is an efficient
binary one, where we can't open the file and view the settings. They are managed using
PowerShell commandlets and various GUI tools like Hyper-V Manager. So if I were to try to
open up the new.vmcx binary file format for a virtual machine. So perhaps I'll try to open it up
here in Notepad. Then we can see it's not a text file that we can make changes to or work with.
We can't even see everything in it. It's binary. Another good thing about this new binary
configuration file format is that it's designed to be more resilient to problems with storage. So
that if we have some kind of disk corruption issues or the virtual machine can't talk to the
storage, this is designed to make that little bit more resilient.

[The Administrator: Windows PowerShell command prompt window is displayed. The


presenter runs the following command at the [srv2016-2]: PS C:\ command prompt: get-help
update-vmversion As a result, the following partial output is displayed: NAME Update-
VMVersion SYNTAX Update-VMVersion [-Name] <string[]> [-CimSession[]> [-ComputerName
<string[]>] [-Credential <pscredential[]> [-Force] [-AsJob] [-Passthru] [-WhatIf] [-Confirm]
[<CommonParameters>] Update-VMVersion [-VM] <VirtualMachine[]> [-Force] [-AsJob]
[-Passthru] [-WhatIf] [-Confirm] [<CommonParameters>] Aliases None Next he refers to
[-Name] from the SYNTAX displayed in the output. Then he navigates to the File Explorer
window at the following location: This PC\c$ (\\Srv2016-2) (X:)\ClusterStorage\Volume1
\Shares\Share1\VirtualMachines\SLES 12\Virtual Machines The Virtual Machines folder
includes the 20F62B66-7AB6-41BF-9A29-B6B7D1303F50 folder and the following files:
20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx and 20F62B66-7AB6-41BF-9A29-
B6B7D1303F50.VMRS. The 7AB6-41BF-9A29-B6B7D1303F50.vmcx file is of size 69 KB.
Then he refers to the 20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx file. He then right
clicks the 20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx file. As a result, a shortcut menu
is displayed with options such as Open with, CRC SHA, Copy, and Properties. Next he selects
the Open with option. As a result, a dialog box with the following text is displayed: How do you
want to open this .vmcx file from now on? The dialog box includes the Notepad option and the
More apps link. The dialog box also includes the OK button which is inactive. He then selects
the Notepad option and the OK button gets activated. Then he selects the OK button and the
dialog box closes. The 20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx file is now open in
the Notepad editor window with the binary data.]

Besides the .vmcx file, which is the new configuration file, and you can see its size is very
small, we also have a new running state file, which has a .VMRS extension. RS for running
state. Now this file will be approximately the size of the amount of RAM configured in your
virtual machine. So if you have a virtual machine configured to use 2 gigabytes of RAM, that's
approximately what the size of this file will be. However, with dynamic memory, as we know,
that amount of RAM can change. So this file could be a bit of a different size, but that's what
the purpose of the VMRS file is. In this video, we learned about the new virtual machine
configuration file format.

[The 20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx file is open in the Notepad editor


window with the binary data. The presenter closes the Notepad editor window and navigates to
the File Explorer window with the location This PC\c$ (\\Srv2016-2) (X:)
\ClusterStorage\Volume1\Shares\Share1\VirtualMachines\SLES 12\Virtual Machines. Next he
refers to the size of the 20F62B66-7AB6-41BF-9A29-B6B7D1303F50.vmcx file which is
displayed as 69 KB. Next he refers to the following file: 20F62B66-7AB6-41BF-9A29-
B6B7D1303F50.VMRS He then refers to the size of the file that is displayed as 1.71 GB in a
tooltip.]
Production Checkpoints
Learning Objective
After completing this topic, you should be able to
◾ describe a scenario for using production checkpoints in Hyper-V Technical Preview

1.
In this video, I'll demonstrate how to create production checkpoints. Production checkpoints
are new. Previously we had standard checkpoints, which took a point-in-time snapshot or
image of a virtual machine. But this happened without the knowledge of the virtual machine.
Production checkpoints use the volume shadow service within Windows guests to create the
checkpoint. Linux guests create the checkpoint by flushing their file system buffers. So
production checkpoints are more application-aware and are designed to be used in production,
where standard checkpoints are not designed to be used in production. Here on my Hyper-V
host, I've typed get-vm, where I can see a Windows 10 guest that is currently listed as
Running. Now to create production checkpoints, the virtual machine version needs to be at
least 6.0. Here it's 6.2. If this were a virtual machine that we brought over from Windows
Server 2012 R2, its version will be listed as 5. So we would need to be update the virtual
machine version before we could work with production checkpoints. Now we can update the
version using a PowerShell commandlet called update-vmversion. The virtual machine would
have to be off for that version to happen. But once the version has been updated and we start
up the virtual machine, we're ready to work with production checkpoints.

[The Administrator: Windows PowerShell command prompt window is open. In this window,
the following command and its output are displayed at the PS C:\ command prompt: get-vm
The output of the command is displayed in a tabular format with two rows and the following
seven columns: Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status, and
Version. For Name Nano-1, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime
is 00:00:00, Status is Operating normally, and Version is 6.2. For Name Windows10, State is
Running, CPUUsage(%) is 3, MemoryAssigned(M) is 576, Uptime is 00:03:30.0990000, Status
is Operating normally, and Version is 6.2. The presenter refers to the Windows10 row and its
version value. Then the presenter runs the following command at the PS C:\ command prompt:
get-command *update-vm* As a result, the output is displayed in a tabular format and contains
one row and the following four columns: CommandType, Name, Version, and Source. For
CommandType Cmdlet, Name is Update-VMVersion, Version is 2.0.0.0, and Source is
Hyper-V. Next the presenter navigates to the Hyper-V Manager window.]

Here in the Hyper-V Manager GUI, I can see my Windows 10 virtual machine is listed as
Running. I'm going to right-click on it and go into the Settings. In the left-hand navigator, I'll
choose Checkpoints. Now I've modified the default. The default here with Hyper-V Technical
Preview 2, when you make a virtual machine, is that checkpoints are enabled, production
checkpoints are on, but this checkmark is normally on by default too to create standard
checkpoints if it's not possible to create a production checkpoint. Now we know it's going to be
possible for this VM because it's up at the 6.2 virtual machine version number. So this virtual
machine then is flagged to only build production checkpoints. So I'm going to go ahead and
right-click on the virtual machine and I'll choose Checkpoint. In the status column, we can see,
currently it's building or creating the checkpoint, and after a moment it tells us that the
production checkpoint was created. Now we can also build production checkpoints from the
command line using PowerShell. Let's take a look at how that would be accomplished. We can
get a list of production checkpoints as well as standard checkpoints in PowerShell using the
get-vmcheckpoint commandlet. Now you'll notice in the output for the SnapshotType column,
it's going to say Standard regardless of the type of checkpoint you create. That's as of
Technical Preview 2. That's subject to change when the product is finally released. But we can
also use the checkpoint-vm commandlet, and then we can give it the name of the virtual
machine to create a checkpoint here at the PowerShell level. In this video, we learned how to
work with production checkpoints.

[The Hyper-V Manager window is displayed, which contains the following menus: File, Action,
View, and Help. The left pane of this window contains the Hyper-V Manager node with the
following subnodes: SRV2016-2 and SRV2016-3. The subnode SRV2016-2 is selected by
default. The right pane of the window contains the Actions pane with the SRV2016-2 and
Windows10 - (7/12/2015 - 8:03:07 nodes. The SRV2016-2 node contains options such as
New, Import Virtual Machine, Edit Disk, and Refresh. The Windows10 - (7/12/2015 - 8:03:07
contains options such as Connect, Shut Down, Pause, and Checkpoint. The middle pane of
the window contains the following sections: Virtual Machines, Checkpoints, and Windows10.
The Virtual Machines section contains a table with two rows and the following seven columns:
Name, State, CPU Usage, Assigned Memory, Uptime, Status, and Configuration. For Name
Nano-1, State is Off and Version is 6.2. For Name Windows10, State is Running, CPU Usage
is 1%, Assigned Memory is 596 MB, Uptime is 00:05:26, and Version is 6.2. The presenter
refers to the Windows10 row and right-clicks the row. As a result, a shortcut menu is displayed
that contains options such as Connect, Settings, Reset, and Rename. The presenter then
selects the Settings option. As a result, the Settings for Windows10 on SRV2016-2 window is
displayed and contains a drop-down list with Windows10 as the default value. It also contains
a left pane with the following sections: Hardware and Management. The Hardware section
contains the following nodes: Add Hardware, Firmware, Memory, Processor, SCSI Controller,
and Network Adapter. The Add Hardware node is selected by default. The Management
section contains nodes such as Name, Checkpoints, and Automatic Stop Action. The right
pane of this window contains the Add Hardware section and the following buttons: OK, Cancel,
and Apply. Next from the left pane, the presenter clicks the Checkpoints node. As a result, the
Checkpoints section is displayed in the middle pane. It further contains the following sections:
Checkpoint Type and Checkpoint File Location. The Checkpoint Type section contains the
Enable Checkpoints checkbox and the Production Checkpoints and Standard Checkpoints
radio buttons. The Enable Checkpoints checkbox and the Production Checkpoints radio button
are selected by default. The Production Checkpoints radio button is associated with the Create
standard checkpoints if it's not possible to create a production checkpoint checkbox. He clicks
the Cancel button, the Settings for Windows10 on SRV2016-2 window closes, and the Hyper-V
Manager window is displayed. In the Virtual Machines section in the middle pane, he then
right-clicks the Windows10 row and selects the Checkpoint option from the shortcut menu
displayed. As a result, the Status column value in the table is now displayed as 'Creating
Checkpoint (9%). Next after some time, the Virtual Machine message box is displayed with a
message that the production checkpoint was created. The message box also contains the OK
button. The presenter clicks the OK button and the message box closes and the Hyper-V
Manager window is displayed. The presenter then navigates back to the Administrator:
Windows PowerShell command prompt window which contains the following command at the
PS C:\ command prompt: get-vmcheckpoint windows10 The output of this command is
displayed in a tabular format with three rows and the following five columns: VMName, Name,
SnapshotType, CreationTime, and ParentSnapshotName. For VMName Windows10, Name is
Windows10 - (7/12/2015 - 8:03:07 AM), SnapshotType is Standard, and CreationTime is
7/12/2015 - 8:03:47 AM. For VMName Windows10, Name is Windows10 - (7/12/2015 - 8:04:17
AM), SnapshotType is Standard, CreationTime is 7/12/2015 - 8:04:23 AM, and
ParentSnapshotName is Windows10 - (7/12/... For VMName Windows10, Name is Windows10
- (7/12/2015 - 8:07:43 AM), SnapshotType is Standard, CreationTime is 7/12/2015 - 8:07:48
AM, and ParentSnapshotName is Windows10 - (7/12/... Next the presenter refers to the
SnapshotType column value and runs the following command at the PS C:\ command prompt:
checkpoint-vm windows10 As a result, the following status message is displayed: Creating
checkpoint.]
Integration Services
Learning Objective
After completing this topic, you should be able to
◾ describe the integration services and the use of Windows Update in Hyper-V
Technical Preview

1.
In this video, I'll discuss guest integration services. Every Hyper-V virtual machine has its own
set of integration services that can be configured independently from others. Here in the
Hyper-V Manager, I'll right-click on an existing virtual machine and I'll choose Settings.
Towards the bottom left in the navigator, I'll click Integration Services, where it currently states
all services are offered. That's because all of the individual checkmarks for each individual
integration service is enabled. Let's start with the Operating system shutdown service. This
allows us a convenient way from either the Hyper-V Manager or using PowerShell, we've a
way to stop the virtual machine without actually going into the virtual machine operating
system itself to issue that command. The Time synchronization integration service allows us to
make sure that the clock in the guest OS is in sync with the Hyper-V host. So naturally then,
we need to make sure our Hyper-V host has a reliable time source. And that might even be
done through the Network Time Protocol, or NTP.

[The Hyper-V Manager window is displayed. This window contains the following menus: File,
Action, View, and Help. The left pane of this window contains the Hyper-V Manager node with
the following subnodes: SRV2016-2 and SRV2016-3. The SRV2016-2 subnode is selected by
default. The right pane of this window contains the Actions pane with the SRV2016-2 and
Windows10 nodes. The SRV2016-2 node contains options such as New, Import Virtual
Machine, Edit Disk, and Refresh. The Windows10 node contains options such as Connect,
Shut Down, Pause, and Checkpoint. The middle pane of the window contains the following
sections: Virtual Machines, Checkpoints, and Windows10. The Virtual Machines section
contains a table with two rows and the following seven columns: Name, State, CPU Usage,
Assigned Memory, Uptime, Status, and Configuration. For Name Nano-1, State is Off and
Version is 6.2. For Name Windows10, State is Running, CPU Usage is 1%, Assigned Memory
is 894 MB, Uptime is 00:50:05, and Version is 6.2. The presenter refers to the Windows10 row
and right-clicks it. As a result, a shortcut menu is displayed that contains options such as
Connect, Settings, Reset, and Rename. The presenter then selects the Settings option. As a
result, the Settings for Windows10 on SRV2016-2 window is displayed that contains a drop-
down list with Windows10 as the default value. It also contains a left pane with the following
sections: Hardware and Management. The Hardware section contains the following nodes:
Add Hardware, Firmware, Memory, Processor, SCSI Controller, and Network Adapter. The
Add Hardware node is selected by default. The Management section contains nodes such as
Name, Integration Services, Checkpoints, and Automatic Stop Action. The right pane contains
the Add Hardware section and the following buttons: OK, Cancel, and Apply. Next in the
Management section, the presenter clicks the Integration Services node. As a result, the
Integration Services section is displayed in the right pane and contains the Services section
with the following checkboxes: Operating system shutdown, Time synchronization, Data
Exchange, Heartbeat, Backup (volume shadow copy), and Guest services. All of these
checkboxes are selected by default. He explains the Operating system shutdown and Time
synchronization checkboxes.]

The Data Exchange integration service allows data to be exchanged between the Hyper-V
host and guest virtual machines through certain registry keys. The Heartbeat service allows
the host to determine whether or not the virtual machine operating system is responding and
therefore is running. The Backup integration service allows us to do a backup from the
Hyper-V host of a guest virtual machine. This is done using volume shadow copy and it could
be done while the virtual machine is still running. Here I've also turned on the checkmark for
Guest services. This will allow us from the Hyper-V host to copy files to a running virtual
machine without going through a network link. For example, let's take a look at that in
PowerShell. Here in PowerShell, on my Hyper-V host, I'm going to use the copy-vmfile
commandlet, where I want to copy a file to a virtual machine called Windows 10. The source
file is on the local Hyper-V host on the root of drive C and its called update-list.txt.

[The Settings for Windows10 on SRV2016-2 window is displayed and the presenter explains
the following checkboxes in the Integration Services section of the window: Data Exchange,
Heartbeat, Backup (volume shadow copy), and Guest services. Then the presenter navigates
to the Administrator: Windows PowerShell command prompt window and refers to the
following command already typed at the PS C:\ command prompt: copy-vmfile windows10
C:\update-list.txt C:\update-list.txt -filesource host]

The destination within the virtual machine operating system where I want to copy the file will
also be on the root of drive C, and I want to keep the same file name. Then I'll use the -
filesource command line switch to specify that the file source is from the local Hyper-V host. So
I'll go ahead and press Enter. Now let's go check the Windows 10 guest operating system to
make sure that file exists on the root of drive C. Okay so here in my Windows 10 guest, we can
see, in fact, on the root of C: the file update-list was copied to this guest operating system. The
other interesting thing about all of the guest integration services is that with Hyper-V Technical
Preview 2 they can be delivered through Windows update. So this means that the integration
services then are really under the control of the virtual machine owner. In this video, we
discussed virtual machine guest integration services.

[The Administrator: Windows PowerShell command prompt window is displayed and the
presenter runs the following command that is already typed at the PS C:\ command prompt:
copy-vmfile windows10 C:\update-list.txt C:\update-list.txt -filesource host Then the presenter
navigates to the Local Disk (C:) window, which contains the following menus: File, Home,
Share, View, and Manage. The left pane of this window contains the following nodes: Quick
access, OneDrive, This PC, Network, and Homegroup. The 'This PC' node is selected by
default. The middle pane contains the following folders and files listed: PerfLogs, Program
Files, Program Files (x86), Users, Windows, and update-list. Next the presenter refers to the
update-list file.]
Hyper-V Manager Improvements
Learning Objective
After completing this topic, you should be able to
◾ describe the improvements made to Hyper-V Manager in Hyper-V Technical Preview

1.
In this video, I'll discuss Hyper-V Manager improvements. The first thing we should be aware
of is that when we use the Hyper-V Manager GUI tool, it's making its connection to the
Hyper-V host over the network using WSMan, or Web Services Management. This occurs over
TCP port 5985. If we take a look at the IP address for a host called srv2016-3 here, as a result
of ping, we can see its address is 192.168.1.153. So that whenever we're in the Hyper-V
Manager accessing that host over the network, we're making a connection to TCP port 5985
on that target Hyper-V host. So we have to make sure firewall rules allow that traffic to the
host. If we take a look at a Wireshark packet capture, we can see here the connection to
192.168.1.53, it's a TCP packet using WSMan. And if we look here in the middle where we see
the headers in the packet, we can see the source port is a high-level port, but the destination
port for WSMan here is 5985. So that's the connectivity that's used when we use the Hyper-V
Manager GUI to connect to a remote host.

[The Hyper-V Manager window is displayed. This window contains the following menus: File,
Action, View, and Help. The left pane of this window contains the Hyper-V Manager node with
the following subnodes: SRV2016-2 and SRV2016-3. The SRV2016-3 subnode is selected by
default. The right pane of this window contains the Actions pane with the SRV2016-3 and
Server2 nodes. The SRV2016-3 node contains options such as New, Import Virtual Machine,
Edit Disk, and Refresh. The Server2 node contains options such as Connect, Shut Down,
Pause, and Checkpoint. The middle pane of the window contains the following sections: Virtual
Machines, Checkpoints, and Server2. The Virtual Machines section contains a table with four
rows and the following seven columns: Name, State, CPU Usage, Assigned Memory, Uptime,
Status, and Configuration. For Name Server1, State is Off and Version is 6.2. For Name
Server2, State is Running, CPU Usage is 0%, Assigned Memory is 512 MB, Uptime is
00:28:51, and Version is 6.2. For Name Server3, State is Off and Version is 6.2. For Name
SLES 12, State is Off and Version is 6.2. The presenter navigates to the Administrator:
Windows PowerShell command prompt window and refers to the following command at the PS
C:\ command prompt: ping srv2016-3 The output of the command is as follows: Pinging
srv2016-3.quick24x7.local [192.168.1.153] with 32 bytes of data: Reply from 192.168.1.153:
bytes=32 time<1ms TTL=128 Reply from 192.168.1.153: bytes=32 time<1ms TTL=128 Reply
from 192.168.1.153: bytes=32 time=23ms TTL=128 Reply from 192.168.1.153: bytes=32
time=7ms TTL=128 Ping statistics for 192.168.1.153: Packets: Sent = 4, Received = 4, Lost =
0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 23ms,
Average = 7ms The presenter then refers to the following address: 192.168.1.153. Next the
presenter navigates to the Hyper-V Manager window and refers to the SRV2016-3 subnode in
the left pane. He navigates to the Intel(R) PRO/1000 MT Network Connection - Wireshark
window. This window contains the menu options such as File, Edit, Capture, and Help. It also
contains a toolbar with options such as Save, Find, Back and Settings. Below the toolbar is a
Filter text box with the filter value as follows: ip.addr == 192.168.1.153. This window contains
three sections. In the top section, the output values are displayed in a tabular format with
several rows and the following six columns: No., Time, Source, Destination, Protocol, and Info.
Some of the column values are as follows: For No. 15, Time is 0. 039880, Source is
192.168.1.153, Destination is 192.168.1.150, Protocol is TCP, and Info is wsman > 64256
[PSH, ACK] Seq=1 Ack=1 Win=2053 Len=1455. For No. 16, Time is 0. 042389, Source is
192.168.1.150, Destination is 192.168.1.153, Protocol is TCP, and Info is 64257 > wsman
[PSH, ACK] Seq=1 Ack=1456 Win=2047 Len=264. For No. 17, Time is 0. 042488, Source is
192.168.1.150, Destination is 192.168.1.153, Protocol is TCP, and Info is 64257 > wsman
[PSH, ACK] Seq=256 Ack=1456 Win=2047 Len=2154. For No. 41, Time is 0. 0262523, Source
is 192.168.1.150, Destination is 192.168.1.153, Protocol is TCP, and Info is 64402 > wsman
[PSH, ACK] Seq=1 Ack=1 Win=2053 Len=264. The middle section contains the following
headers in the packet: Frame 16 (318 bytes on wire, 318 bytes captured) Ethernet II, Src:
Vmware_ea:42:e4 (00:0c:29:ea:42:e4), Dst: Vmware_50:cd:0f (00:0c:29:50:cd:0f) Internet
Protocol, Src: 192.168.1.150 (192.168.1.150), Dst: 192.168.1.153 (192.168.1.153)
Transmission Control Protocol, Src Port: 64257 (64257), Dst Port: wsman (5985), Seq: 1, Ack:
1456, Len: 264 Data (264 bytes) Then in the top section, he refers to the row with value No. 16
and its values. Next in the middle section, he refers to the values 'Src Port: 64257' and 'Dst
Port: wsman (5985)'. The presenter navigates to the Hyper-V Manager window.]

The other interesting thing that's new is that when we're in the Hyper-V Manager and we
choose to connect to another Hyper-V host to manage, we have the option of connecting with
an alternate set of credentials. Also any servers that we add to the Hyper-V Manager could be
Server 2012, Server 2012 R2, could even be a Windows 8 computer with client Hyper-V. So
we're not limited to managing only Windows Server Technical Preview or Hyper-V Technical
Preview hosts here in the new Hyper-V Manager. It supports down-level server management.
We also have the option of taking a look at the properties of a virtual machine, or the Settings.
And there are a few things here that we didn't have before. One of them, for example, is that
when we drill down under the hard disk and look at the Quality of Service, now that was there
before, where we could manually set the Quality of Service disk IOPs for a given VHD, a virtual
hard disk. But now we can create a centralized policy. Now this is a Storage Quality of Service
policy that's created with either system set of virtual machine manager or through PowerShell.
And the benefit of this is that we can apply a minimum and maximum disk IOP value to a group
of virtual hard disks from a single centralized configuration.

[The Hyper-V Manager window is displayed. In the left pane of this window, the presenter
clicks the Hyper-V Manager node. The Hyper-V Manager node details are displayed in the
middle pane. In the left pane, the presenter then right-clicks the Hyper-V Manager node. As a
result, a shortcut menu is displayed with the following options: Connect to Server, View, and
Help. Next the presenter selects the Connect to Server option. As a result, the Select
Computer dialog box is displayed and contains the Connect to virtualization server section.
This section contains the following radio buttons: Local Computer and Another Computer. The
Another Computer radio button is associated with a text box and a Browse button. The Select
Computer dialog box also contains the Connect to another user: <none> checkbox with an
associated Set user button, which are inactive. In addition, the dialog box contains the OK and
Cancel buttons. He clicks the Cancel button, the dialog box closes, and the Hyper-V Manager
window is displayed. Then in the left pane of the window, he clicks the SRV2016-3 subnode
and then in the table displayed in the middle pane, right-clicks the Server2 option. Next from
the shortcut menu displayed, he selects Settings option. As a result, the Settings for Server2
on SRV2016-3 window is displayed. This window contains a drop-down list with Server2 as the
default value. It also contains a left pane with the following sections: Hardware and
Management. The Hardware section contains the following nodes: Add Hardware, Firmware,
Memory, Processor, SCSI Controller, and Network Adapter. The Add Hardware node is
selected by default. The Management section contains nodes such as Name, Checkpoints,
and Automatic Stop Action. The right pane of this window contains the Add Hardware section
and the following buttons: OK, Cancel, and Apply. In the Hardware section in the left pane, the
presenter clicks the SCSI Controller node. As a result, the node is expanded and displays the
following subnodes: Hard Drive and DVD Drive. Then the presenter expands the Hard Drive
subnode and it contains the Quality of Service subnode. Next the presenter clicks the Quality
of Service subnode and its related fields are displayed in the right pane of the window. The
right pane contains the following sections: Local Settings and Storage Quality of Service
Policy. The Local Settings section contains the 'Enable Quality of Service management'
checkbox and Maximum and Minimum text boxes with the suffix IOPS. This section is currently
disabled. The Storage Quality of Service Policy section contains the Policy ID text box with the
value 44ee1c9f-0713-44a7-898a-cb0d14cd69f4 and the Remove Policy ID button.]

Let's take a look at this a little bit in PowerShell. Here I've issued the get-storageqospolicy
commandlet, and I've connected to my Scale-Out File Server because that's what
storageqospolicies apply to virtual hard disks stored on a Scale-Out File Server. And if we take
a look here, I have got a policy called Class1_VMs, but in my PowerShell commandlet, I've
also asked for the policyid property. And so we can see the policyid here which begins with
44ee. Now if we go back to the Hyper-V Manager virtual machine settings, in fact, we can see
that is the policyid that's being applied to this particular hard disk within this virtual machine. So
it scales well for hosting providers. We can also take a look in PowerShell at the get-vm
commandlet where we can specify the virtual machine, and then we can pipe that to the get-
vmharddiskdrive commandlet where we can see from here as well the QoSPolicyID that's been
applied. So we can see this either in the GUI, in the settings of a virtual machine through
Hyper-V Manager, or here in PowerShell.

[The Settings for Windows10 on SRV2016-2 window is displayed. The presenter navigates to
the Administrator: Windows PowerShell command prompt window and refers to the following
command at the PS C:\ command prompt: get-storageqospolicy -cimsession sofs|select name,
policyid Then the presenter also refers to the output of this command, which is displayed in the
tabular format with two rows and the following two columns: name and PolicyId. For name
Default, PolicyId is 00000000-0000-0000-0000-000000000000. For name Class1_VMs,
PolicyId is 44ee1c9f-0713-44a7-898a-cb0d14cd69f4. Next the presenter navigates back to the
Settings for Server2 on SRV2016-3 window and refers to the Policy ID value in the Storage
Quality of Service Policy section. He clicks the Cancel button and navigates to a different
PowerShell command prompt window. Then in this window, he refers to the following
command at the [srv2016-3]: PS C:\ command prompt: get-vm server2|get-vmharddiskdrive|fl
He also refers to the QosPolicyID in the following partial output that is displayed: Path :
C:\ClusterStorage\volume1\shares\share1\virtualharddisks\Server2_922BBAF6-ADB3-47E9-
9102-63298412CDAC.avhdx DiskNumber : MaximumIOPS : 0 MinimumlOPS : 0
QoSPolicylD : 44ee1c9f-0713-44a7-898a-cb0d14cd69f4 SupportPersistentReservations :
False ControllerLocation : 0 ControllerNumber : 0 ControllerType : SCSI Name : Hard Drive on
SCSI controller number 0 at location 0]
There are a number of other interesting features available also that relate to Hyper-V, and one
of them relates to the upgrade of Hyper-V cluster nodes. The rolling Hyper-V cluster upgrade
option allows us to upgrade our Server 2012 R2 nodes within a cluster, for example, to
Windows Server Technical Preview 2 with no downtime. Now this is designed to apply to
clustered virtual machine roles for Hyper-V and the Scale-Out File Server. If we go back and
take a look at our properties of a virtual machine, we can also see that we have the option of
using what are called production checkpoints. So down on the left in the Navigation panel, I'll
click Checkpoints and we've got this new option for Production checkpoints. This uses the
volume shadow service within the guest VM to take the checkpoint. Now this means that the
guest virtual machine then is aware that this is happening. And this is in contrast to how we
used to take standard checkpoints of virtual machines. Now production checkpoints get their
name from the fact that it's okay to use them in a production environment, it is supported.

[The Administrator: Windows PowerShell command prompt window is displayed and the
presenter navigates to the Untitled4.ps.1 - Notepad window. The Notepad window contains the
following text: get-vm|get-vmharddiskdrive|Set-VMHardDiskDrive -QoSPolicyid 44ee1c9f-
0713-44a7-898a-cb0d14cd69f4 #Apply StorageQos policy to VM hard disks get-vm
"server3"|Get-VMHardDiskDrive|fl #Retrieve VM hard disk info The presenter then navigates to
the Hyper-V Manager window and in the Virtual Machines section, right-clicks the Server2 row.
Next from the shortcut menu displayed, the presenter selects Settings. As a result, the Settings
for Server2 on SRV2016-3 window is displayed. In the left pane, in the Management section,
he clicks the Checkpoints node . As a result, the Checkpoints section is displayed in the middle
pane and it contains the following sections: Checkpoint Type and Checkpoint File Location.
The Checkpoint Type section contains the Enable checkpoints checkbox and the Production
checkpoints and Standard checkpoints radio buttons. The Enable checkpoints checkbox and
the Production checkpoints radio button are selected by default. The Production checkpoints
radio button is associated with the Create standard checkpoint if it's not possible to create a
production checkpoint checkbox. Then he selects this checkbox. He then refers to the
Production checkpoints radio button.]

The other interesting thing here, while we're looking at the settings of a virtual machine, is the
integration services, which could be configured per virtual machine are now set to be delivered
through Windows update. So what this means then is that this is put in the control of the virtual
machine owner and that works very well for hosting providers that really shouldn't be making
changes or seeing what's happening within a virtual machine. Also when we build a virtual
machine here in the Hyper-V Manager tool, during the wizard, we have the option of specifying
that we want to create a Generation 2 virtual machine. Now this is what we could do if we
wanted to have a Linux guest running that supported the Secure Boot standard. Secure Boot
standard allows us to verify that the operating system kernel or loader hasn't been modified by
malware. There is also an option called PowerShell Direct. With PowerShell Direct, we can
enter a remote PowerShell session to a virtual machine guest even if it doesn't have any
network connectivity yet.

[The Settings for Windows10 on SRV2016-2 window is displayed. In the Management section
in the left pane, the presenter clicks the Integration Services node. As a result, the Integration
Services section is displayed in the right pane. This section contains the following checkboxes:
Operating system shutdown, Time synchronization, Data exchange, Heartbeat, Backup
(volume shadow copy), and Guest services. All of these checkboxes, except the Guest
services checkbox, are selected by default. Then the presenter clicks the Cancel button, the
window closes, and the Hyper-V Manager window is displayed. Next in this window, in the
Actions pane, the presenter right-clicks the New option under SRV2016-3. As a result, a
shortcut menu is displayed with the following options: Virtual Machine, Hard Disk, and Floppy
Disk. He selects the Virtual Machine option. As a result, the New Virtual Machine Wizard is
displayed with the following options in the left pane: Before You Begin, Specify Name and
Location, Specify Generation, Assign Memory, Configure Networking, Connect Virtual Hard
Disk, and Summary. The Before You Begin option is selected by default and the Before You
Begin page is accordingly displayed in the right pane of the wizard. The wizard also contains
the following buttons: Previous, Next, Finish, and Cancel. Then he clicks the Next button and
the Specify Name and Location page is displayed. This page includes the Name and Location
text boxes. The Name text box includes the default value, New Virtual Machine. The Location
text box includes the default value, C:\Hyper-V\ The presenter clicks the Next button and the
Specify Generation page is displayed. This page contains the following radio buttons:
Generation 1 and Generation 2. The Generation 1 radio button is selected by default. The
presenter then clicks the Cancel button and returns to the Hyper-V Manager window. Next the
presenter navigates to the Select Administrator: Windows PowerShell command prompt
window and refers to the following command at the PS C:\ command prompt: enter-pssession -
vmname server2]

Now this is interesting because it could be a great way to apply desired state configurations to
virtual machine guests when we provision them even before they have network connectivity at
all. Now this is only going to work if you are connecting to a Windows 10 or a Windows Server
Technical Preview guest operating system running in a virtual machine. Here I have run get-
vm and I can see I have a server2 virtual machine Running, which is running Windows Server
Technical Preview 2. So to use PowerShell Direct, I could use the enter-pssession
commandlet to enter an interactive remote session. But notice what I'm doing here is using the
-vmname parameter, not the -computername parameter. Then I specify the name of the virtual
machine. So I do this on the Hyper-V host. Now I could also use the invoke-command
PowerShell commandlet if I didn't want to enter an interactive session. So when I try to enter
that remote session, using PowerShell direct, I'll be prompted to specify credentials. After that,
when we're in the PowerShell remote session, we would issue PowerShell commandlets as
per normal. So I'll go ahead and supply the credentials, and I'll click OK. In this video, we
learned about the new Hyper-V Manager improvements.

[The Administrator: Windows PowerShell command prompt window is displayed and the
presenter refers to the following command at the PS C:\ command prompt: enter-pssession -
vmname server2 Then the presenter refers to the following command that was run previously
at the PS C:\ command prompt: get-vm He also refers to the output of this command, which is
displayed in a tabular format with four rows and the following seven columns: Name, State,
CPUUsage(%), MemoryAssigned(M), Uptime, Status, and Version. The values are as follows:
For Name Server1, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime is
00:00:00, Status is Operating normally, and Version is 6.2. For Name Server2, State is
Running, CPUUsage(%) is 0, MemoryAssigned(M) is 512, Uptime is 00:35:40.4350000, Status
is Operating normally, and Version is 6.2. For Name Server3, State is Off, CPUUsage(%) is 0,
MemoryAssigned(M) is 0, Uptime is 00:00:00, Status is Operating normally, and Version is 6.2.
For Name SLES 12, State is Off, CPUUsage(%) is 0, MemoryAssigned(M) is 0, Uptime is
00:00:00, Status is Operating normally, and Version is 6.2. Then he refers to the row
corresponding to Server3. Next he runs the following command at the PS C:\ command
prompt: enter-pssession -vmname server2 As a result, the Windows PowerShell credential
request dialog box is displayed, which includes the following text boxes: User name and
Password. It also has the following buttons: OK and Cancel. The presenter enters the User
name and Password and clicks the OK button. As a result, the dialog box closes and the
command prompt window is displayed, which contains the following output: cmdlet Enter-
PSSession at command pipeline position 1 Supply values for the following parameters:
Credential]
Hot Add and Remove for NIC and Memory
Learning Objective
After completing this topic, you should be able to
◾ describe the hot add functionality for NIC and memory in Hyper-V Technical Preview

1.
In this video, I'll discuss how to hot add and remove network adapters and memory. With
Hyper-V Technical Preview 2, we can add and remove network adapters while a virtual
machine is running. We also have the ability to change the memory settings or the RAM
allocated to the virtual machine up or down while the virtual machine is running. Now for this to
work properly, we need to have a virtual machine running Windows Server Technical Preview
or Technical Preview 2 as either a Generation 1 or a Generation 2 virtual machine. Here in the
Failover Cluster Manager, I have a list of virtual machines that are available. One of them here
is called Server2 and it's currently Running. This is a virtual machine that's running Windows
Server Technical Preview 2 as the guest operating system. So I'm going to go ahead and right-
click, and go into the Settings for that virtual machine. Now the first thing we'll notice for
running virtual machine is that when we have Add Hardware selected in the left-hand
navigator, on the right we can add a Network Adapter even while the virtual machine is
running. If we look over on the left, we can see currently there is a single Network Adapter
attached to this virtual machine. So let's go ahead and add a second one. I'll click Add, and I
will connect this to virtual switch called The Real World. And after that's been done, we can
see it's listed on the left-hand side in the navigator. I'll go ahead and click Apply and then we're
ready to go. It means we could then go into the guest operating system and configure that
Network Adapter as required.

[The Failover Cluster Manager window is displayed. In the window, the menu bar includes the
File, Action, View and Help menus and the toolbar includes options such as Back, Forward,
and Help. This window also includes three panes. In the left pane, the Failover Cluster
Manager node is expanded by default. It includes the Cluster1.quick24x7.local subnode. This
subnode is further expanded by default and includes the Roles, Nodes, Storage, Networks,
and Cluster Events subnodes. The Roles subnode is selected by default, as a result, the
details of the selected subnode are displayed in the middle pane. The middle pane contains
two sections. The section at the top includes a Search text box and the Roles table with five
rows and six columns. The columns are Name, Status, Type, Owner Node, Priority, and
Information. The information in the table is as follows: For Server1, Status is Off, Type is
Virtual Machine, Owner Node is Srv2016-3, and Priority is Medium. For Server2, Status is
Running, Type is Virtual Machine, Owner Node is Srv2016-3, and Priority is Medium. For
Server3, Status is Off, Type is Virtual Machine, Owner Node is Srv2016-3, and Priority is
Medium. For SLES 12, Status is Off, Type is Virtual Machine, Owner Node is Srv2016-3, and
Priority is Medium. For SOFS, Status is Running, Type is Virtual Machine, Owner Node is
Srv2016-2, and Priority is Medium. The Server2 row is selected by default and its details are
displayed in the section at the bottom. The details include Status is Running, CPU Usage is
10%, Memory Demand is 1024 MB, and Assigned Memory is 1024 MB. The right pane
includes the Actions pane and in this pane, the Roles and Server2 nodes are expanded by
default. The presenter right-clicks the row corresponding to the name Server2 and a shortcut
menu with options such as Connect, Save, Shut Down, and Settings is displayed. Then the
presenter selects the Settings option. As a result, the Settings for Server2 on Srv2016-3
window is displayed. In this window, the left pane includes the Hardware and Management
sections. The Hardware section includes nodes such as Add Hardware, Firmware, Memory,
Processor, SCSI Controller, and Network Adapter. The Add Hardware node is selected by
default, as a result, the Add Hardware section is displayed in the right pane. This section
contains a list box that includes the following options: SCSI Controller, Network Adapter, Fibre
Channel Adapter, and RemoteFX 3D Video Adapter. The Network Adapter option is currently
enabled. Below the list box is the currently disabled Add button. At the bottom of the window,
the OK, Cancel, and Apply buttons are displayed. Then in the list box in the right pane, the
presenter clicks the Network Adapter option and the Add button is enabled. Next the presenter
clicks the Add button and in the left pane, another Network Adapter node is displayed in the
hardware section, with the text, Not connected, displayed below this node. This node is now
selected and the right pane accordingly displays the Network Adapter section with the VLAN
ID and Bandwidth Management sections. This section includes the Virtual switch drop-down
list that is set to Not connected by default. The VLAN ID section includes the Enable virtual
LAN identification checkbox and a text box with the value 2. The Bandwidth Management
section includes the Enable bandwidth management checkbox and the Minimum bandwidth
and Maximum bandwidth text boxes. Below this section is the following text: To remove the
network adapter from the virtual machine, click Remove. The Remove button is displayed
below this text. Next the presenter clicks the Virtual switch drop-down list and selects the Real
World option. As a result, in the Hardware section in the left pane, the text "The Real World" is
displayed as description for the recently added Network Adapter node. He clicks the Apply
button.]

The other great thing about this is we can also remove network adapters live while a virtual
machine is running. So I've got the newly added Network Adapter selected on the left. I'm
going to go ahead on the right and click the Remove button and then I'll click Apply. Of course,
I get a message stating that this change might disrupt network connectivity to the virtual
machine, which makes sense. We don't know what that would be used for within the guest OS,
but it could be crucial. Here I know it's not crucial so I'll go ahead and click Yes. And after a
moment, once again, we can see that we're back down to a single Network Adapter with our
guest. If I were to select Memory on the left, I can see the Startup RAM here its set to 1
gigabyte of RAM. I can see Dynamic Memory is enabled and the minimum and maximum are
also both set to 1 gig of RAM. What I'll do here is I will essentially remove or reduce the
amount of RAM for this guest while it's running. So I'm going to bring it back down to about 512
megabytes of RAM and then I'll click Apply. So essentially what we're doing here is manually
hot adding or removing memory while the guest is running. In a way, it's kind of like dynamic
memory except that we are manually adjusting it. In this video, we learned how to work with
adding and removing network adapters and memory while a virtual machine is running.

[The Settings for Server2 on Srv2016-3 window is displayed. In the Hardware section in the left
pane of this window, the second Network Adapter node is selected. In the right pane, the
presenter clicks the Remove button. Then the presenter clicks the Apply button. As a result,
the Remove Network Adapter message box is displayed that includes the following warning:
Pending changes may disrupt network connectivity to this virtual machine. It also includes the
Please don't ask me again check box and Yes and No buttons. Next the presenter clicks the
Yes button. As a result, the message box closes and in the left pane of the Settings for
Server2 on Srv2016-3 window, the second Network Adapter node is removed. In the Hardware
section, he clicks the Network Adapter node and the right pane accordingly displays details of
the selected network adapter. Then he clicks the Memory node and the right pane accordingly
displays the Memory, Dynamic Memory, and Memory weight sections. In the Memory section,
in the Startup RAM text box, the value 1024 MB is displayed. In the Dynamic Memory section,
the Enable Dynamic Memory checkbox is selected by default and the value 1024, with the
suffix MB, is displayed in the Minimum RAM and Maximum RAM text boxes. Finally he
modifies the Minimum RAM value to 512 and clicks the Apply button.]
Rolling Hyper-V Cluster Upgrade
Learning Objective
After completing this topic, you should be able to
◾ describe the rolling Hyper-V cluster upgrade features to upgrade the functional level
of a cluster VM by VM in Hyper-V Technical Preview

1.
In this video, I'll discuss rolling Hyper-V cluster upgrades. A Hyper-V cluster consists of two or
more nodes that work together to make virtual machines highly available. So if one node fails,
any virtual machines that were running on it will be failed over to another running cluster node.
Windows Server 2012 R2 cluster nodes can be upgraded to Windows Server Technical
Preview. This can be done with absolutely no downtime so that the virtual machines running
on the cluster nodes are always available to clients. The cluster remains in the Windows
Server 2012 R2 feature level until all of the cluster nodes are upgraded to Windows Server
Technical Preview 2 and we've updated the cluster functional level, which is a manual
procedure using the Update-ClusterFunctionalLevel commandlet. We run the Update-
ClusterFunctionalLevel commandlet on one of the Hyper-V cluster nodes. When I run that
commandlet, it tells me that it's going to update the functional level of the cluster. But there is a
warning that says we can't undo this operation. So this is a one-way street. We can't change
our mind after the fact. And remember that we only run this commandlet once all of the cluster
nodes have been upgraded to Windows Server Technical Preview 2.

[The Administrator: Windows PowerShell command prompt window is displayed. In this


window, the following command is displayed at the [srv2016-2]: PS C:\ command prompt:
Update-clusterfunctionallevel In addition, the following output for this command is displayed:
Updating the functional level for cluster Cluster1. Warning: You cannot undo this operation. Do
you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help]

Hyper-V rolling cluster upgrades apply to Hyper-V and Scale-Out File Server workloads that
you might have configured. The great thing is that there is no longer a need to create an
additional cluster as the upgrade target. So we can upgrade the cluster nodes in place within
the existing cluster configuration. Now remember the cluster can be rolled back, but that's only
if you haven't yet run the Update-ClusterFunctionalLevel commandlet. The cluster can be
patched with updates even when it's in mixed mode, where some cluster nodes are running
Server 2012 R2 and the others are running Server Technical Preview. There are no issues live
migrating virtual machines in mixed mode, and remember that's the purpose of this new
feature is that there is absolutely no downtime, no interruption of service from clients to virtual
machines running in the cluster. Here is how it works from step one. The first thing we would
do before implementing a rolling Hyper-V cluster upgrade is we would backup the cluster
configuration and the workload data in the virtual machines. Next, each cluster node gets
drained of cluster roles. Now of course, this happens on one cluster node at a time.

In the Failover Cluster Manager tool, we can look at the nodes in the cluster. And we could
right-click on a specific cluster node to Pause it and drain its roles. After which, under More
Actions, we can then evict this node from the cluster. We would do this because this one is
going to be upgraded to Windows Server Technical Preview 2. In step four, we would then
install Server 2016 Technical Preview 2 on that node. Notice currently in Technical Preview 2,
this is not an upgrade – it's got to be a clean installation. After the operating system is installed,
we would make sure that that newly, freshly installed server joins the domain and that the
Failover Clustering feature gets added to it. Then the network and storage would be configured
for the node as per normal. Then the node would join the cluster. Finally, we would move the
cluster workloads back to that new node using the Failover Cluster Manager tool. Once this
procedure has been executed on all cluster nodes, then we can update the cluster version. We
can verify that this has worked by using the get-cluster commandlet. Here I'm going to select
all fields and pipe it to "More," where I'm going to look for the ClusterFunctionalLevel. Here I
can see its reporting version 9. This means that we have successfully completed our rolling
Hyper-V cluster upgrade. In this video, we discussed rolling Hyper-V cluster upgrades.

[The Failover Cluster Manager window is displayed. In this window, the menu bar includes the
File, Action, View and Help menus and the toolbar includes options such as Back, Forward,
and Help. The window also contains three panes. In the left pane, the Failover Cluster
Manager node is expanded by default and includes the Cluster1.quick24x7.local subnode. This
subnode is expanded by default and includes the Roles, Nodes, Storage, Networks, and
Cluster Events subnodes. The Nodes subnode is selected by default and the details of the
selected Nodes subnode are displayed in the middle pane. In the middle pane, there are two
sections. The section at the top includes a Search text box and a table with two rows and five
columns. The columns are Name, Status, Assigned Vote, Current Vote, and Information. The
information in the table is as follows: For Srv2016-2, Status is Up, Assigned Vote is 1, Current
Vote is 1, and Information is blank. For Srv2016-3, Status is Up, Assigned Vote is 1, Current
Vote is 1, and Information is blank. The row that displays the Srv2016-3 node details is
selected by default and its details are displayed in the section at the bottom. The details
include Status is Up, Node ID is 2, Uptime is 16:30:7, and CPU Usage is 100%. The right pane
includes the Actions pane and in this pane, the Nodes and Serv2016-3 nodes are displayed
and are expanded by default. In the table in the middle pane, the presenter right-clicks the row
corresponding to Serv2016-3, and a shortcut menu with options such as Pause, Resume,
Remote Desktop, and More Actions is displayed. Then the presenter points to the Pause
option and a submenu with the Drain Roles and Do Not Drain Roles options are displayed.
Next the presenter points to the More Actions option and a submenu with the Start Cluster
Service, Stop Cluster Service, and Evict options are displayed. Next he navigates to the
Administrator: Windows PowerShell command prompt window. In this window, at the PS C:
command prompt, the presenter runs the following command: Get-cluster cluster1|select
*|more As a result, multiple lines of output are displayed; some of the lines are as follows:
Domain : quick24x7.local Name : Cluster1 AddEvictDelay : 60 ClusterFunctionalLevel : 9
ResiliencyDefaultPeriod : 240 Finally, he points to the following line of output:
ClusterFunctionalLevel : 9]
Storage Quality of Service (QoS)
Learning Objective
After completing this topic, you should be able to
◾ describe the storage Quality of Service or QoS feature used to monitor storage and
create policies in scale-out file servers on Hyper-V Technical Preview

1.
In this video, I'll demonstrate how to configure Storage Quality of Service. Storage Quality of
Service is normally referred to as Storage QoS. It allows us to set a minimum and maximum
disk IOP value for a virtual hard disk, or what's new in Hyper-V Technical Preview 2 is that we
can set it for a group of hard disks. Here in my Failover Cluster Manager, if I take a look down
at my Cluster Core Resources, I can see that I have the Storage QoS Resource, which is
Online. That's going to be part of your Failover Cluster if you're using a Scale-Out File Server,
which we have running here. So Storage QoS policies are designed to apply to virtual hard
disks for virtual machines stored on a Scale-Out File Server. We've always had the option in
the past of going into the Settings of a single virtual machine. And if we were to drill down to
the hard disk in the left-hand navigator and choose Quality of Service, we've always had the
option of applying Quality of Service minimum and maximum disk IOP values. However, now
we have the option of applying centralized policies that can apply to more than just a single
virtual hard disk. So this means its scales well, especially in a data center.

[The Failover Cluster Manager window is displayed. In the window, the menu bar includes
menus such as File, Action, View, and Help. The toolbar includes tools such as Back, Forward,
and Help. The window includes three panes. In the left pane, the Failover Cluster Manager
node is expanded by default. It includes the Cluster1.quick24x7.local subnode, which is
selected and expanded by default. This subnode includes subnodes such as Roles, Nodes,
Storage, Networks, and Cluster Events. The middle pane displays the details of the selected
subnode. The top section includes the summary of the Cluster1.quick24x7.local subnode and it
includes information as follows: Name is Cluster1.quick24x7.local. Current Host Server is
Srv2016-2. Recent Cluster Events is None in the last hour. It also includes the Configure,
Navigate, and Cluster Core Resources sections. The right pane includes the Actions section
and in this section, the Cluster1.quick24x7.local node is expanded by default. The presenter
scrolls down the middle pane and it includes information about the core resources in the
Cluster Core Resources section. This section includes a table with three columns and multiple
rows. The first two rows are displayed under the heading Cluster Infrastructure and include the
following: For Storage Qos Resource, the Status is Online. For Virtual Machine Cluster WMI,
the Status is Online. The next row is displayed under the heading Server Name and includes
the following: For Cluster1 server name, Status is Online. Next he selects the Roles subnode
in the left pane and as a result, the Roles section is displayed in the middle pane. The section
at the top includes a Search text box. also It also includes a table with five rows and six
columns. The columns are as follows: Name, Status, Type, Owner Node, Priority, and
Information. The rows include the following: For Server1, Status is Off, Type is Virtual
Machine, Owner Node is Srv2016-3, Priority is Medium, and Information is Nil. For Server2,
Status is Running, Type is Virtual Machine, Owner Node is Srv2016-2, Priority is Medium, and
Information is Nil. For Server3, Status is Off, Type is Virtual Machine, Owner Node is
Srv2016-2, Priority is Medium, and Information is Nil. For SLES 12, Status is Saved, Type is
Virtual Machine, Owner Node is Srv2016-2, Priority is Medium, and Information is Nil. For
SOFS, Status is Running, Type is Scale-Out File Server, Owner Node is Srv2016-2, Priority is
Medium, and Information is Nil. He highlights the following row: For SOFS, Status is Running,
Type is Scale-Out File Server, Owner Node is Srv2016-2, Priority is Medium, and Information
is blank. He then right-clicks the row that displays the name Server2 and a shortcut menu with
options such as Connect, Save, Shut Down, and Settings is displayed. He selects the Settings
option. As a result, the Settings for Server2 on Srv2016-2.quick24x7.local window is displayed.
In this window, the left pane includes the Hardware and Management nodes and these nodes
are expanded by default. The Hardware node includes subnodes such as Add Hardware,
Firmware, Memory, Processor, SCSI Controller, and Network Adapter. The Add Hardware
subnode is selected by default. The SCSI Controller subnode is expanded and includes the
Hard Drive subnode. In addition, the window includes the OK and Cancel buttons. The
presenter expands the Hard Drive subnode and the Quality of Service subnode is displayed.
He selects the Quality of Service subnode and as a result, in the right pane, the Quality of
Service page is displayed. It includes the Local Settings and Storage Quality of Service Policy
sections. The Local Settings section includes the Enable Quality of Service management
checkbox and the following text fields: Minimum and Maximum. The default value for the text
fields is 0 IOPS. The Storage Quality of Service Policy section includes the Policy ID text field
that displays the id for the selected hard disk. He then clicks the Cancel button to close the
window.]

Let's switch over to the PowerShell ISE, where we'll start by getting a list of storageqos-related
PowerShell commandlets. We can see that we have the option to build a new
StorageQoSPolicy. We can also retrieve, or get, StorageQoSPolicies that are already in place.
We can set them by modifying their values, and of course, we can remove it. If I were to get a
list of StorageQoSPolicies through my cimsession on my Scale-Out File Server, what I would
get by default is a policy called Default, where the minimum and the maximum disk IOP values
are set to zero, which means there is no limit. Now the whole purpose of the
StorageQoSPolicies is to make sure we don't have a single busy virtual machine with a lot of
disk IO activity consuming the disk resources to the detriment of other virtual machines. So
here what I'm going to do is build a new StorageQoSPolicy. I'm going to specify the cimsession
against my Scale-Out File Server clustered resource. I'm going to call my new policy
Class1_VMs. And I'm going to set them minimum IOPs to 800 and the maximum to 3500.

[The Failover Cluster Manager window is displayed. The presenter opens the Administrator:
Windows PowerShell ISE window. In this window, menus such as File, Edit, View, Tools, and
Debug are displayed. The toolbar includes tools such as Open, Save, Cut, and Run Selection.
The window includes the following tabs: srv2016-3 and srv2016-2. The srv2016-3 tabbed page
is open. This tabbed page includes the Untitled2.ps1 tab, which is open and includes the
following code: 1 get-command *storageqos* 2 get-storageqospolicy -cimsession sofs 3 4
$qospolicy=new-storageqospolicy -cimsession sofs -Name Class1_VMs -minimumiops 5 800 -
maximumiops 3500 -policytype Multiinstance 6 # Each VM hard disk gets these numbers, not
combined for all VMs 7 8 $qospolicy.policyid 9 The PS C:\Users\Administrator command
prompt is displayed below the tabbed page. In the right pane, the Commands tab is displayed.
This tabbed page includes the Modules drop-down list box with the default value All. The
Name text box is displayed below the drop-down Modules list box. The commands starting
with the alphabet A is displayed below the text box. The presenter selects the following code: 1
get-command *storageqos* He then clicks the Run Selection button on the toolbar. As a result,
a table is displayed in the command prompt below the tabbed page. This table includes four
columns and multiple rows. The columns are as follows: CommandType, Name, Version, and
Source. Some of the rows in the table are as follows: For CommandType Function, Name is
Get-StorageQosPolicy, Version is 1.0.0.0, and Source is StorageQos For CommandType
Function, Name is New-StorageQosPolicy, Version is 1.0.0.0, and Source is StorageQos For
CommandType Function, Name is Remove-StorageQosPolicy, Version is 1.0.0.0, and Source
is StorageQos On the Untitled2.ps1 tabbed page, he selects the following code: 2 get-
storageqospolicy -cimsession sofs He then clicks the Run Selection button. As a result, the
output in the command prompt below the tabbed page includes a table with five columns and
one row. The columns are as follows: Name, MinimumIops, MaximumIops, Status, and
PSComputerName. The row displays the following information: For Default name,
MinimumIops and MaximumIops is 0, Status is Ok, and PSComputerName is sofs Next he
highlights the following code: $qospolicy=new-storageqospolicy -cimsession sofs -Name
Class1_VMs -minimumiops 800 -maximumiops 3500 -policytype Multiinstance]

Now the policytype here is set to Multiinstance. What this means is that each virtual machine
hard disk on my Scale-Out File Server will get these minimum and maximum IOP values. So
it's not combined for all VM hard disks. Each VM hard disk would have that minimum and
maximum IOP value. So I'm going to store all of this information where we're building a new
storageqospolicy into a variable called qospolicy. So let's go ahead and highlight these lines
and let's run them. And what it's done now is it's gone and created my Class1_VMs
storageqospolicy. Let's make sure that's true by getting the list of StorageQoSPolicies on our
Scale-Out File Server. We can see, besides the Default, that we have our newly created
Class1_VMs policy, where the minimum and maximum IOP values match what we specified in
our PowerShell command line. Now what I'm going to do is return the policyid of our newly
created qospolicy. And here it is listed here, I have got the Guid for it. Now the reason I want
that is because I'm going to copy it to the clipboard. And the reason I want to copy to the
clipboard is I'm going to apply that to my virtual machine hard disks. And to do that, I'm going
to use the get-vm commandlet, which is going to be piped to getting all of the virtual machine
hard disk drives for each VM. And I'll pipe that to this Set-VMHardDiskDrive commandlet
where I'm going to set the QoSPolicy to the Guid that we just copied. So I'll paste that in here.

[The Administrator: Windows PowerShell ISE window is open. On the Untitled2.ps1 tabbed
page, the presenter selects the following code and clicks the Run Selection button on the
toolbar: $qospolicy=new-storageqospolicy -cimsession sofs -Name Class1_VMs -minimumiops
800 -maximumiops 3500 -policytype Multiinstance As a result, the following partially visible
output is displayed at the command prompt: $qospolicy=new-storageqospolicy –cimsession
sofs –Name Class1_VMs –mini 800 -maximumiops 3500 -policytype Multiinstance Next he
selects the following code: 2 get-storageqospolicy -cimsession sofs He then clicks the Run
Selection button. As a result, a table with five columns and two rows is displayed at the
command prompt. The columns are as follows: Name, MinimumIops, MaximumIops, Status,
and PSComputerName. The rows are as follows: For Name Default, MinimumIops and
MaximumIops is 0, Status is Ok, and PSComputerName is sofs For Name Class1_VMs,
MinimumIops is 800, MaximumIops is 3500, Status is Ok, and PSComputerName is sofs The
presenter now selects the following code: 8 $qospolicy.policyid He clicks the Run Selection
button. As a result, the following output is displayed at the command prompt: Guid ----------------
-------------------- 44ee1c9f-0713-44a7-898a-cb0d14cd69f4 He copies the guid and then
navigates to the srv2016-2 tabbed page. This page includes the Untitled4.ps1 tabbed page
with the following code: 1 get-vm|get-vmharddiskdrive|SetVMHardDiskDrive -QoSPolicyid
0719d4fb-618a-4287-8d9d-f88b02ceaf34 2 #Apply StorageQos policy to VM hard disks 3 4
get-vm "server3"|Get-VMHardDiskDrive|f1 5 #Retrieve VM hard disk info Below the tabbed
page, the details regarding the virtual machine are displayed. Some of the details are as
follows: MaximumIops is 0 MinimumIops is 0 QosPolicyID is 0719d4fb-618a-4287-8d9d-
f88b02ceaf34 ControllerType is IDE The presenter then pastes the guid and modifies the code
on line 1 as follows: As a result, the code segment is modified as follows: 1 get-vm|get-
vmharddiskdrive|SetVMHardDiskDrive –QoSPolicyid 44ee1c9f-0713-44a7-898a-
cb0d14cd69f4]

So I'm going to go ahead and run that. Now notice that what I'm doing here is I'm running that
within a remote PowerShell session where I'm connected to a Hyper-V host. So that's where
I'm going to be executing this code. So I'm going to go ahead and do that, and after a moment
or two it comes back. Now what we could do is we could use get-vm, given a specific virtual
machine, in this case one called server3. and we could pipe that to Get-VMHardDiskDrive. And
I'm going to pipe that to format list because I want to see if our new storageqospolicy was
applied to the virtual hard disks, in this case to one specific VM server3. So let's run this
command and let's take a peek at what we've got. I'm going to scroll back up here. And what
we can see, in fact, is that the qospolicy that we just created and then applied to all virtual
machine hard disks on that Scale-Out File Server, in fact, here was applied. We can see the
QoSPolicyID. In this video, we learned how to configure Storage Quality of Service.

[The Shell window is displayed and the Untitled4.ps1 tabbed page is open. The presenter
selects the following code: get-vm|get-vmharddiskdrive|SetVMHardDiskDrive –QoSPolicyid
44ee1c9f-0713-44a7-898a-cb0d14cd69f4 At the [srv2016-2]: PS C:\ command prompt below
the tabbed page, he runs the following command: cls He then runs the following selected code:
get-vm|get-vmharddiskdrive|SetVMHardDiskDrive –QoSPolicyid 44ee1c9f-0713-44a7-898a-
cb0d14cd69f4 Next he runs the following code at the [srv2016-2]: PS C:\ command prompt:
get-vm "server3"|Get-VMHardDiskDrive f1 As a result, the following partially visible output is
displayed: MaximumIops : 0 MinimumIops : 0 QosPolicyID : 44ee1c9f-0713-44a7-898a-
cb0d14cd69f4 ControllerType : IDE]
Linux Secure Boot
Learning Objective
After completing this topic, you should be able to
◾ describe the support available for Linux secure boot in Hyper-V Technical Preview

1.
In this video, I'll discuss Linux Secure Boot. Secure Boot is a great new feature available with
Hyper-V Technical Preview 2. And it applies to Linux guest VMs – that's what's new. Secure
Boot is used to verify that an OS loader hasn't been compromised by malware. As of Technical
Preview 2, Ubuntu 14.04 as well as SUSE Linux Enterprise Server 12 are supported as Secure
Boot Linux guests. However, that is subject to change before the final release of the product.
Here in the Hyper-V Manager GUI, when we build a new virtual machine using the wizard, one
of the things that we're asked is whether we would like to build a Generation 1 or Generation 2
virtual machine. Now if we want to support Secure Boot in the Linux guest VM, we have to
build that VM as a Generation 2 virtual machine. Here in PowerShell, I've issued the get-vm
commandlet and we can see that we have a SUSE Linux Enterprise Server 12 virtual machine.
What I want to do is enable Secure Boot for that Linux guest. And I'm going to do that from
PowerShell.

[The Hyper-V Manager window is displayed. The menu bar includes the following menus: File,
Action, View and Help. The toolbar includes tools such as Back, Forward, and Help. The
window also includes three panes. In the left pane, the Hyper-V Manager node is expanded by
default and includes the SRV2016-2 and SRV2016-3 subnodes. The SRV2016-2 subnode is
selected by default and as a result, the detail of the selected virtual machine is displayed in the
middle pane. It includes the following three sections: Virtual Machines, Checkpoints, and
Nano-1. The Virtual Machines section at the top includes a partially visible table with five rows
and seven columns. The columns are as follows: Name, State, CPU Usage, Assigned
Memory, Uptime, Status, and Configuration. Some of the rows in the table are as follows: For
Nano-1, State is Off, and Configuration is 6.2. For Server2, State is Off, and Configuration is
6.2. For Server3, State is Off, and Configuration is 6.2. The Checkpoints section includes the
Nano-1 node, which is expanded by default and includes the Nano-1 subnode. The Nano-1
subnode includes the Nano-1 subnode and this includes the Now subnode. The bottom of the
pane includes the Nano-1 section and details for the selected virtual machine such as Created,
Configuration, and Generation. The right pane includes the Actions section and in this section,
the SRV2016-2 and nano-1 nodes are expanded by default. The SRV2016-2 node displays
options such as New, Import Virtual Machine, Hyper-V Settings, and Virtual Switch Manager.
The presenter right-clicks the New option and the shortcut menu includes options such as
Virtual Machine, Hard Disk, and Floppy Disk. He selects the Virtual Machine option. As a
result, the Before You Begin page of the New Virtual Machine Wizard is displayed. He clicks
Next on this page and navigates to the Specify Name and Location page of the wizard, He
again clicks Next on this page to navigate to the Specify Generation page of the wizard. This
page includes the Generation 1 and Generation 2 radio options. The Generation 1 radio option
is selected by default. The presenter selects the Generation 2 radio option and clicks the
Cancel button to close the wizard. He then navigates to the Administrator: Windows
PowerShell window. At the [srv2016-2]: PS C: command prompt, the get-vm command is
displayed. Below this command, a table with five rows and seven columns is displayed. The
columns are as follows: Name, State, CPUUsage(%), MemoryAssigned(M), Uptime, Status,
and Version. Some of the rows displayed in the table are as follows: For Nano-1, State is Off,
CPUUsage(%) is 0, MemoryAssigned is 0, Uptime is 00:00:00, Status is Operating normally,
and Version is 6.2. For Server2, State is Off, CPUUsage(%) is 0, MemoryAssigned is 0,
Uptime is 00:00:00, Status is Operating normally, and Version is 6.2. For SLES 12, State is
Off, CPUUsage(%) is 0, MemoryAssigned is 0, Uptime is 00:00:00, Status is Operating
normally, and Version is 6.2.]

First, I'll use the set-vmfirmware commandlet with the name of my virtual machine, and I'll
specify the MicrosoftUefiCertificateAuthority Secure Boot template. So to put that into effect, I'll
go ahead and press Enter. And here in Hyper-V Technical Preview 2, you might get messages
that say the command is not found, just hit Enter again. And the next thing I'm going to do is
make sure that Secure Boot is enabled. I have applied the template, but that's it. So if I were to
type get-vmfirmware and then give it the name of my virtual Linux guest, we can see that my
template has been applied. Now if SecureBoot under the SecureBoot column isn't currently
turned on, you can also use the set-vmfirmware commandlet to do that. So, for example, I
could type set-vmfirmware followed by the name of my virtual machine, and I could use the -
enablesecureboot switch with the value of "on." The key is make sure that you run the get-
vmfirmware commandlet and verify whether SecureBoot is enabled or not for that Linux guest
virtual machine. If you are in the Linux environment, you can also type in a command,
depending on the distribution of Linux, to see if Secure Boot is enabled within the guest Linux
operating system. In Linux, we could issue the fwts command. This stands for firmware test
suite. So we could do a uefidump and pipe that to the Linux grep filtering command looking for
the word secure. This way we could determine if SecureBoot was enabled and ready to go
within our Linux guest virtual machine. In this video, we learned about Linux Secure Boot.

[The Administrator: Windows PowerShell window is displayed. At the [srv2016-2] PS C:


command prompt, the presenter runs the following command: set-vmfirmware "sles 12"
–secureboottemplate MicrosoftUefiCertificateAuthority As a result the following output is
displayed: Command 'set-vmfirmware' cannot be found. He then runs the following command:
get-vmfirmware "sles 12" As a result, the output includes a table with one row and five
columns. The columns are as follows: VMName, SecureBoot, SecureBootTemplate,
PreferredNetworkBootProtocol, and BootOrder. The row in the table is as follows: For
VMName SLES 12, SecureBoot is On, SecureBootTemplate is
MicrosoftUEFICertificateAuthority, PreferredNetworkBootProtocol is IPv4, and BootOrder is
File, Drive. Next he runs the following command: set-vmfirmware "sles 12" –enablesecureboot
on The presenter then navigates to the Document - WordPad window and it includes the
following: fwts uefidump|grep secure]
Connected Standby
Learning Objective
After completing this topic, you should be able to
◾ describe support for connected standby in Hyper-V Technical Preview

1.
In this video, I'll discuss connected standby. Connected standby is now supported with Client
Hyper-V. It's a power management mode that was made available beginning with Windows 8
and that continues through to Windows 10, whether we're running those operating systems on
a tablet or a laptop platform. Connected standby lets the machine enter a low power or sleep
state for the purposes of conserving energy. But it still remains connected to the network, and
this can be very important if you're running Client Hyper-V. While connected standby is
common on tablets, you'll see it supported only occasionally on laptops. In the case of Client
Hyper-V in the past, when installed, it would disable this connected standby mode. Here on
Windows 10, I have run the power config /a command, where it shows me the sleep states
supported by this machine as well as the sleep states that are not supported by the machine.

[The Command Prompt window is displayed. At the C:\ command prompt, the powercfg /a
command is run. The following output for this command is displayed: The following sleep
states are available on this system: Hibernate Fast Startup The following sleep states are not
available on this system: Standyby (S1) An internal system component has disabled this
standby state. Graphics Standby (S2) The system firmware does not support this standby
state. An internal system component has disabled this standby state. Graphics Standby (S3)
The system firmware does not support this standby state. An internal system component has
disabled this standby state. Graphics Standby (Connected) The system firmware does not
support this standby state. Hybrid Sleep Standby (S3) is not available.]

You'll notice here, in my case, that the connected standby mode is not supported by the
firmware on my Windows 10 machine. Now even if that was supported, let's say on a Surface
Pro tablet, when you enable Client Hyper-V, it would actually disable the connected standby
mode in the past. That's no longer an issue. But this was bad in the past because it means that
your device would never go to sleep because it would completely disable the standby
connected mode. So when the Hyper-V role gets enabled on a computer that uses the always
on and always connected power model, connected standby is now available. In this video, we
discussed connected standby.
Windows 10 Client Hyper-V
Learning Objective
After completing this topic, you should be able to
◾ compare the features of Hyper-V Technical Preview and client Hyper-V on Windows
10

1.
In this video, I'll discuss Windows 10 Client Hyper-V. Client Hyper-V has been an option since
the Windows 8 days. It allows us to run virtual machines on a Windows Client operating
system without having to need a server to do that. So it's great for testing environments. We
certainly wouldn't want to use Windows 10 Client Hyper-V for mission critical production virtual
machines. Windows 10 Client Hyper-V is available with Windows 10 Professional, Enterprise,
and Education editions. So if you've got a machine that's preloaded with Windows 10 Home
edition, you will not be able to partake in Client Hyper-V. Client Hyper-V requires a 64-bit
computer and operating system. It also requires the Second Level Address Translation, or
SLAT, hardware support standard. Before we work with Client Hyper-V, we should consider
the number of virtual machines that we're going to host on our Client Hyper-V station. That's
referred to as the virtual machine, or VM, density. Not only should we consider how many will
be running concurrently but how many in total will be hosted on the machine. We should also
think about the IT workloads within each virtual machine. So a client virtual machine might not
use as many resources as a server virtual machine running SQL Server. So we should
consider the number of virtual CPUs that we allocate to a virtual machine, the amount of RAM,
and the size and location of virtual hard disks.

Client Hyper-V isn't automatically installed with Enterprise edition and the other supported
editions. Instead, you have to go to the Programs and Features portion of Control Panel to
install it. You would select to Turn Windows features on or off, and then you could choose to
install the Hyper-V Manager, that's the GUI Management Tool. You could choose the Hyper-V
PowerShell module. And you could choose the Hyper-V Platform, which is the Hypervisor
itself. That's the piece that requires Second Level Address Translation. Let's take a look at this
in Windows 10. I'll start by going to my Windows 10 Start menu and searching for "computer."
Then I'll right-click on This PC and I'll choose Properties. The reason I'm here is to check the
edition that we're running. And we can see that we are running the Windows 10 Enterprise
edition Technical Preview. That's great because that means Client Hyper-V is supported. So I'll
go back to the Start menu, and this time I'll type in "program." What I want to do is go to the
Programs and Features part of the Control Panel. And on the left, I'm going to go to Turn
Windows features on or off.

[The Windows 10 desktop is displayed. The presenter opens the Start menu and enters the
text 'computer' in the 'Search the web and Windows' text box. As a result, the search results
are displayed that includes options such as This PC, Personalize your computer, and
Computer Management. He then right-clicks the 'This PC' option and the shortcut menu with
options such as Pin to Start, Manage, and Properties is displayed. He selects the Properties
option. As a result, the System window is displayed. This window includes two panes. The left
pane includes options such as Device Manager and Remote Settings. The right pane includes
the View basic information about your computer section. This section includes the following
subsections: Windows edition, System, Computer name, domain, and workgroup settings, and
Windows activation. The Windows edition section includes the following text: Windows 10
Enterprise Technical Preview © 2015 Microsoft Corporation. All rights reserved. He then
closes the System window and opens the Start menu. He now enters the text 'progr' in the
'Search the web and Windows' text box. As a result, the search results are displayed that
includes options such as Default Programs and Programs and Features. He selects the
Programs and Features option and as a result, the Programs and Features window is
displayed. This window includes two panes. The left pane includes links such as Control Panel
Home and Turn Windows features on or off. The right pane includes the Uninstall or change a
program section. He clicks the Turn Windows features on or off link. As a result, the Windows
Features dialog box is displayed.]

In the new dialog box that opens up, I'm looking for Hyper-V. And if I expand it, I see I have the
option of installing the GUI Management Tool for Hyper-V as well as the PowerShell module.
But notice the Hyper-V platform, that's the Hypervisor itself that runs virtual machines, is
grayed out and I can't turn it on. I hover over, it gives me the reason. It says because the
processor doesn't have second level address translation capabilities. So in this particular host,
I will not be able to actually run virtual machines here. However, notice I could still install the
Management Tools and the PowerShell module, which would allow me to connect to a remote
server to manage it as a Hypervisor. However, if I go to the Start menu and search up
Hyper-V, we could see the Hyper-V Manager app is here. And when I run it, it looks just like it
does on the server side, when we run it on a Hyper-V host. We even have the option, of
course, of right-clicking and choosing Connect to Server if we wanted to manage a different
Hyper-V host. After you've installed Client Hyper-V in Windows 10, it should start automatically
when Windows 10 starts. But if it doesn't, for some reason, you can correct that issue while
using the bcdedit command and setting the hypervisorlaunchtype to auto.

[The Windows Features dialog box is displayed and includes the Turn Windows features on or
off section. This section includes a list box with nodes such as .NET Framework3.5
(includes .NET 2.0 and 3.0), Hyper-V, and Internet Explorer 11. Each node is associated with a
checkbox. The presenter then expands the Hyper-V node and the following subnodes are
displayed: Hyper-V Management Tools and Hyper-V Platform. The Hyper-V Platform subnode
is deactivated by default. The checkbox associated with the Hyper-V Management Tools
subnode is selected by default. He then expands the Hyper-V Management Tools subnode
and the following subnodes are displayed: Hyper-V GUI Management Tools and Hyper-V
Module for Windows PowerShell. The checkboxes associated with the Hyper-V GUI
Management Tools and Hyper-V Module for Window PowerShell subnodes are selected by
default. Then he points to the Hyper-V Platform subnode and the following tooltip is displayed:
Hyper-V cannot be installed: The processor does not have the second level address
translation (SLAT) capabilities. The presenter again opens the Start menu and enters the text
'hyper' in the 'Search the web and Windows' text box. As a result, the search results are
displayed that includes options such as Hyper-V Manager and Hyper-V Virtual Machine
Connection. He selects the Hyper-V Manager option and as a result, the Hyper-V Manager
window is displayed. This window includes the menu bar with the following menus: File,
Action, View, and Help. Below the menu bar, the toolbar is displayed with options such as
Back and Forward. Below the toolbar, the window includes three panes. The left pane includes
the Hyper-V Manager option. The middle pane includes the Introduction section. The right
pane includes the Actions section. He then right-clicks the Hyper-V Manager option in the left
pane and the shortcut menu with the following options is displayed: Connect to Server, View,
and Help.]

If you're going to be using Hyper-V on the client side, you're going to be creating at least one
virtual network switch so virtual machines can communicate with each other or communicate
with the real physical network. The creation of these network virtual switches will also create
virtual adapters that will show up in the Network and Sharing Center along with your real
physical network adapters. So be aware of this and don't change the settings and certainly
don't disable them. Windows 10 Client Hyper-V does not support Hyper-V Failover Clustering.
In this video, we discussed Windows 10 Client Hyper-V.

© 2018 Skillsoft Ireland Limited

Anda mungkin juga menyukai