I had a call regarding Windows Server 2008 R2 Core (with the Hyper-V role installed) over the weekend. While working on that call I found myself asking some questions:
“How do I change different network settings on a Core machine?”
“How do I delete existing virtual networks on a Core machine?”
I would like to share some details with you so you don’t get caught in the same situation.
It is really easy to configure and manage a Hyper-V virtual environment if the Hyper-V Manager GUI is available either through server console or remote console.
Note: To manage Windows Server 2008 or Windows Server 2008 R2 with Hyper-V, you can run the Hyper-V Manager MMC remotely on another machine (running Windows Vista, Windows 7, Windows Server 2008 or later) after installing the following download: http://support.microsoft.com/kb/952627.
But think of the situation where we don’t have network connectivity to the Hyper-V Host machine. In addition to no network connectivity, it is running Windows Server 2008 R2 Core. After reading my next statement you may think it makes no sense:
Even though we cannot connect to or access the Hyper-V host machine on the network via Remote Desktop or ping (which fails with the error “Request timed out”), the Virtual Machines on that host machine can connect to resources on the network.
I know this sounds unreal but I had the above issue on a weekend call and I fixed it……… YEAH…!!!
Before I explain the way I corrected the issue, I would like to share some background information. The customer with whom I was working had System Center Virtual Machine Manager (SCVMM) in their environment. This issue occurs if you uncheck the “Host access” option under the Properties of Hyper-V Host on the Networking Tab in the SCVMM Console. If you uncheck the “Host access” option (shown enabled in Figure 1) through SCVMM Console, it will in turn disable “Allow management operating system to share this network adapter” option (shown enabled in Figure 2) under Virtual Network Properties of the External Network (in Hyper-V Virtual Network Manager).
I would like to reiterate that the result of the above implementation is that we won’t be able to access the Hyper-V host machine on the network via Remote Desktop or ping, yet the virtual machines on that host machine can connect to the resources on the network.
Cause: When you configure an external network through Hyper-V Virtual Network Manager and you have “Allow management operating system to share this network adapter” checked, it creates a virtual network adapter on the host machine. It transfers all the network interface properties (except Microsoft Virtual Network Switch protocol) from the physical network adapter to the virtual network adapter created by Hyper-V role.
If you un-check the “Allow management operating system to share this network adapter” option through Hyper-V Virtual Network Manager, it removes the IP configuration from the virtual network adapter created by Hyper-V role. However, the physical network adapter will stay intact with only “Microsoft Virtual Network Switch protocol” enabled on it. Therefore it will still allow the virtual machines on that Hyper-V host to communicate on the network.
The customer with whom I was working with had unchecked the “Host access” option under the Properties of Hyper-V Host à Networking Tab in System Center Virtual Machine Manager (SCVMM) console which in turn disabled “Allow management operating system to share this network adapter” option.
Solution: The solution to the above mentioned issue is a script called “nvspscrub.js”. Now the question arises: WHAT DOES THIS SCRIPT DO?
“nvspcrub.js” is a tool for removing Hyper-V Virtual Networking Configuration (configured through Virtual Network Manager) from the parent partition. You can use this script with different options:
- /v: Deletes disabled virtual NICs.
- /p: Purges all virtual network settings.
- /n: Purges the specified NIC.
If no options are specified, the default is to enumerate all virtual networks.
I used the option “/p” which deleted all virtual networks and virtual network adapters in the parent partition and un-bound the Microsoft Virtual Network Switch protocol from all physical NICs. The script needs to be executed locally on the machine from a command prompt (with elevated privileges).
You can download the Script “nvspcrub.js” from:
Note: Although I work for Microsoft as a Support Engineer on the Enterprise Networking Team, I must say that, as the license tab indicates, this tool and documentation are provided "as-is" and you bear the risk of using it. No express warranties, guarantees or conditions are provided. It is not supported or endorsed by Microsoft Corporation and should be used at your own risk.
I hope the above mentioned information will prove to be a life saver if you accidentally uncheck “Host access” option from your physical network adapters under Networking Tab of System Center Virtual Machine Manager (SCVMM) console or disable “Allow management operating system to share this network adapter” option through Hyper-V Virtual Network Manager and no can no longer access the Hyper-V server (core) on the network.
Goodbye for now and see you later……
– Rohan Saksena (Rosak)