Hyper-V Server 2016 in a work-group using Windows 10 Hyper-V Manager


Hyper-V Server is the standalone Type 1 Hypervisor available for free from Microsoft.
It is aptly suitable for the Enterprise, SMB, SOHO, Managed Services Provider, or even techie home users wishing to capitalize on a virtualized environment. It is not specifically used for just virtualizing servers.
Here is an end-to-end guide for using Windows 10 Hyper-V Manager to manage Hyper-V Server 2016 in a workgroup. While the focus of this article is using Hyper-V 2016, the same steps can be applied to Hyper-V Server 2012 R2.
NOTE: Windows 10 Professional or Enterprise edition will be needed. Windows 10 Home edition cannot be used as it does not contain the Hyper-V Manager option.
These steps have been used successfully to manage multiple installations of Hyper-V. If you’ve followed some other Web instructions and your configuration is not working or is flaky, then do a fresh install of Hyper-V Server before following these steps.
Tested with Hyper-V Server 2012R2, 2016, and Windows 10 Pro Build 1607 (Anniversary Edition), Build 1703 (Creator’s Edition), and Build 1709 (Fall Creator’s Edition).
Assumptions:
  1. The Hyper-V server and the Windows 10 computer are on the same LAN and in the same IP subnet and in the same VLAN – if such exists.
  2. The server and workstation are in the same DNS Domain.
So, start with a simple configuration. You can move things around after you’ve got it working.
Note: If DNS is not yet set up, but sure to add the Hyper-V hostname to the hosts' file on the Windows 10 computer
Let's begin the process:
NOTE: references to “domain” in the subsequent steps of this article refer to DNS domain, not Active Directory Domain.
Remember, Hyper-V is being setup in a workgroup, i.e., not associated with any Active Directory domain.
For this article, my DNS domain is “fshome.local”. My Hyper-v server will be “hyperv2”
If starting with a fresh install of Hyper-V Server 2016, here’s the screen after the install:
Configure in the following order and the necessary reboots will be at the end of the process…
7) Remote Desktop – enabled. Select the choice of authentication as applicable to you
3) Add Local Administrator
NOTE: the local administrator username/password is significant as it will be used later in the management process
4) Configure Remote Management – leave Enabled
Configure Server Response to Ping – Yes
5) Windows Update Settings – set to your preference
8) Network Settings
9) Date and Time
10) Telemetry Settings — set to your preference
1) Domain/Workgroup — leave it as WORKGROUP or change to your Workgroup name
2) Computer Name — will require server reboot
The computer name can be just a hostname, e.g., hyperv2. It does not need to be FQDN, e.g., hyperv2.fshome.local
6) Download and Install Updates – will require server reboot
We’re now done with the fresh install configuration.
Part 1: Hyper-V Server Configuration
After the Hyper-V Server’s post installation setup and rebooting here is what it looks like:
hv_step1
Now select the command prompt window – it’s hidden behind the blue window.
Step 1: disable the Hyper-V built-in firewall. You’re behind your firewall/router so doing this is OK, don’t worry. Enter the following:
netsh advfirewall set allprofiles state off
Step 2: disable the password age out. By default, the user’s password is valid for 42 days. You don’t want to get locked out of your Hyper-V server if using RDP. So enter:
net accounts /maxpwage:unlimited
Verify the new value is set
net accounts
hv_step3
Step 3: allow PowerShell Remoting.
At the C:\ command prompt type PowerShell. Once PowerShell is running, enter the following:
enable-psremoting
That is it. The three steps are ALL that is required on the Hyper-V server side.
*NOTE: Step 3 is not needed on Hyper-V Server 2016. It is enabled by default (Option # 4 in the Hyper-V server configuration screen).

Part 2: Windows 10 Configuration
Let’s now move over to to the Windows 10 computer.
Verify we can reach the Hyper-V server by pinging it by its hostname.
ping hyperv2
If ping is not successful, you’ll need to troubleshoot and fix before moving on.
Step 4: Install the Hyper-V Manager
hv_turn_windows_feature_on_off
After the Hyper-V manager install has completed, start PowerShell with  “Run As Administrator“.
Step 5: set the network connection profile – we have to change to PRIVATE
Set-NetConnectionProfile -NetworkCategory private
Step 6Verify the net-connection profile new settings
Get-NetConnectionProfile
hv_step6
Step 7: setup remote management.
Set-WSManQuickConfig
hv_step7
Step 8: enable a trusted host. In this case, the trusted host will be the Hyper-V server
Set-Item WSMan:\localhost\Client\TrustedHosts -Value “hyperv2.fshome.local”
Or, if there are multiple trusted hosts in the same DNS domain you can do it this way by using the * as the hostname wildcard
Set-Item WSMan:\localhost\Client\TrustedHosts -Value *.fshome.local
Or, if there are multiple hosts in any domain, then use the * modifier globally as shown
Set-Item WSMan:\localhost\Client\TrustedHosts -Value *
Step 9: Now let’s check to make sure the trusted host is correct
Get-Item WSMan:\localhost\Client\TrustedHosts
hv_step9
Step 10: Add the alternate user credentials (aka, the Local Administrator) configured in Step 3 of the fresh install of Hyper-V.
In my network, I have multiple Hyper-V servers, and the Trusted Hosts is set as “*.fshome.local”, so the user is added for each Hyper-V server in my network like so:
cmdkey /add:hyperv /user:sysadmin /pass:PaSsWoRd
cmdkey /add:hyperv2 /user:sysadmin /pass:PaSsWoRd
cmdkey /add:hyperv3 /user:sysadmin /pass:PaSsWoRd
If there were a different user and password for each Hyper-V server, we would adjust the above to reflect that. In my case, the user and password are the same across all my Hyper-V servers to keep things sane.

*Note: let’s say you did not have DNS setup, nor your …\drivers\etc\hosts file, then this is how you’d setup cmdkey using IP addressing
cmdkey /add:192.168.1.111 /user:sysadmin /pass:PaSsWoRd
And, every step in this article where there is a reference to the Hyper-V server name you would replace with the IP address.
And, when you go to add the Hyper-V server in the Hyper-V Manager, you’d also add it by IP address
hv_step10a


Step 11
:
 Allow the user credentials  (configured in the above cmdkey) on this computer (Windows 10) to be sent to the remote computer (the Hyper-V server):
(note: the entries are all on one line even though WordPress shows multiple lines)
Enable-WSManCredSSP -Role client -DelegateComputer “hyperv.fshome.local”
Now the command will only allow one computer, hyperv.fshome.local. So, to allow the user credentials to be sent to another remote computer we add the other computer’s name:
Enable-WSManCredSSP -Role client -DelegateComputer “hyperv2.fshome.local”
Or, we can configure multiple computers at one time
Enable-WSManCredSSP -Role “Client” -DelegateComputer “hyperv.fshome.local”, “hyperv2.fshome.local”, “hyperv3.fshome.local”
Or, to allow the user's credentials on this computer to be sent to any Hyper-V host in the same DNS domain, we can just use the hostname wildcard:
Enable-WSManCredSSP -Role client -DelegateComputer “*.fshome.local”
Or, to allow the users' credentials on this computer to be sent to any Hyper-V host in any DNS domain, we can just use the host and domain wildcard:
Enable-WSManCredSSP -Role client -DelegateComputer “*”
Tip: for Managed Service Providers deploying Hyper-V, the above method is useful if you carry one laptop that is used on-site for all your customers – each being their unique DNS domains. Of course, you’d want to set one universal local admin user/password across all your customers for sake of making this useful.
Step 12: Now let’s verify the WSManCredSSP configuration
Get-WSManCredSSP
hv_step12_2
Now, if there was a mistake that was made, or a need to reconfigure, or to start over from scratch, or just to experiment, whatever, the WSManCredSSP configuration can be cleared by doing the following and restarting from Step 11
Disable-WSManCredSSP -Role Client
Step 13: allow COM Security anonymous login remote access. While still in PowerShell, type the following:
dcomcnfg
double-click on the Computers folder

right-click on the My Computer icon
click on COM Security
in the Access Permissions section of the window, click Edit Limits…

 Select ANONYMOUS LOGON
 Check the box for Remote Access
 Click OK
Close the dcomcnfg window.
That is it. The Window 10 configuration steps are complete. You are done!
At this point, you should be able to launch the Windows 10 Hyper-V Manager and successfully connect and add the Hyper-V server(s) to the manager.
hv_success
Troubleshooting:
It used to work, but now doesn’t…
If you manually change the IP address on the Window 10 workstation, e.g., from DHCP to static, or the reverse, be sure to rerun Step 5 and Step 6.
Still cannot get connected, just throws errors…
  1. Make sure you can ping the Hyper-V server.
  2. Ensure DNS is setup properly
  3. Use Notepad to add a host entry for the Hyper-V server(s) on the workstation in the c:\windows\system32\drivers\etc\hosts e.g.,
    192.168.1.111   hyperv2.fshome.local   hyperv2
    Be sure to start Notepad with Run as Administrator when you do this
  4. Ensure the Local Administrator matches what is set for cmdkey.
  5. If you’ve deviated from the instructions and have used an IP address instead of a hostname, then be sure that IP is used in the cmdkey values when running the command.
  6. Disable your anti-virus software.
  7. Go back over the steps in the article – verbatim. Start from a fresh install if necessary of both Hyper-V and Windows 10. Leave Windows 10 plain vanilla – don’t add any third party applications for the moment.
Ramblings:Setting up Windows 10 to manage Hyper-V Server is no cakewalk (compared to VMWare ESXi). However, Hyper-V has a lot to its merit. Here are some of my reasons for using:
  • Plug an NTFS formatted USB stick or Ext USB HDD into the Hyper-V host and it will be recognized. With that, you can use the command prompt copy command to backup VMs to it, or for portability between Hyper-V hosts
  • Ability to run net use command to map to a server share. With that, you can backup VMs to external shares or pull down your stored ISO images from another server for installation
  • Ability to use  \\ (whack-whack) to connect to the Hyper-V server volumes, e.g, \\hyperv2\c$, from any Windows workstation
  • The interface on Hyper-V manager displays all the VM’s on the host, the CPU, memory utilization, and system uptime of each VM, all on one nice dashboard
  • One click to send CTRL+ALT+DEL to Windows VMs. No need to traverse menu and sub-menu
  • Snappier screen response when using the local console window to access a VM. (ESXi is now web-based access)
  • In a Managed Services Provider environment, it integrates seamlessly with the Microsoft ecosystem usually prevalent in those environments
  • And finally, best of all, there is no need for any license key or activation!
You should now be able to successfully, repeatable, and reliably use Windows 10 to manage Hyper-V Server installations.
Once you have one or more workstations setup for management, rolling out Hyper-V deployments will only require the three steps on the Hyper-V servers to get the ball going.

Orphaned VMs from the vSphere 6.5 Web Client


In the Windows vSphere client, you can simply right click on the VMs and remove them from the inventory. In the web client, the right click menu is much shorter and does not include Remove from Inventory. After a little poking around through all the sub-menus, locate the right option and was able to remove the orphans. 


Rommon Recovery image on Cisco3750x

The Cisco Switch 3750x device is in ROMMON, there’s not much that you can do. however, a method to transfer another IOS using a direct console connection with a PC (the transfer is over your console cable itself). This is called  Xmodem. Now the rate of transfer depends on the baud rate that you set for your console connection. My baud set to 115200. You can set the baud rate in ROMMON using the set BAUD command. See below:
switch: set BAUD 115200
This MUST also match the terminal program setting as well. So (I’m  using TeraTerm) under Setup, Serial Port, set the baud rate to match whatever you set it as in ROMMON. Now we’re ready to transfer the file. The command is :
switch: copy xmodem: flash:c3750e-ipbasek9-mz.150-2.SE.bin
Once you press enter, you see the following:
Begin the Xmodem or Xmodem-1K transfer now…
C
At this point, you need to choose the file location from the terminal program. Go to File -Transfer - Xmodem - Send and choose the file that you wish the transfer. The transfer will start and  you will see a transfer window pop up like this: (it will take less than 40 Minutes)


Once completed, you should get a prompt back to your ROMMON:
Begin the Xmodem or Xmodem-1K transfer now…
C…………………………………………………………………….                                                                                                ……………………………………………………………………..                                                                                                 ……………………………………………………………………..                                                                                                ……………………………………………
File “xmodem:” successfully copied to “flash:c3750e-ipbasek9-mz.150-2.SE.bin
Now from ROMMON, boot from flash using the following command:

switch: set BAUD 9600 (or unset BAUD)
switch: set boot c3750e-ipbasek9-mz.150-2.SE.bin
switch: boot flash:c3750e-ipbasek9-mz.150-2.SE.bin
This will try to boot the IOS specified and if the transfer was good.
Loading  “flash:c3750e-ipbasek9-mz.150-2.SE.bin”…@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
File “flash:c3750e-ipbasek9-mz.150-2.SE.bin” uncompressed and installed, entry point: 0×3000
executing…
All’s good again!! The switch runs a POST, once everything checks out, you’re back into the familiar territory!
        — System Configuration Dialog —
  • Would you like to enter the initial configuration dialog? [yes/no]: no
  • conf t      !! enter conf t
  • boot system flash:IOS-IMAGE.bin      !! don’t forget to set the image
  • wr mem       !! and save it so it will boot also when it gets powered off


***************************************************************************************


An IOS recovery very slow xmodem  (you can tune it up to 115kbps)… but nowadays with a USB flash drive…

Here you can see how it works:

NOTE: Not all USB flash drives are supported, hence my recommendation to get several ready.





  • USB pen drive max. 16GB format as FAT16/32
  • copy the .bin image onto the flash drive
  • connect the flash drive to the switch
  • switch: flash_init
  • switch: dir usbflash0:       !!check if the switch can read from USB
  • switch: copy usbflash0:IOS-IMAGE.bin flash: IOS-IMAGE .bin        !!copy the image from USB to flash
  • switch:set BAUD 9600
  • switch: set BOOT IOS-IMAGE.bin (if the old image exists on boot,  unset .bin)
  • switch: boot flash: IOS-IMAGE .bin        !! with this command the switch boots up with the image immediately
  • Would you like to enter the initial configuration dialog? [yes/no]: no
  • conf t      !! enter conf t
  • boot system flash:IOS-IMAGE.bin      !! don’t forget to set the image.
  • wr mem       !! and save it so it will boot also when it gets powered off



If you forgot set BAUD to 115200 to 9600
switch#configure terminal
switch(config)#line con 0
switch(config-line)#speed 9600
switch(config-line)#end

switch#wr