Rename VM’s Network Adapters automatically with Virtual Machine Manager 2016

The next version of Hyper-V comes with a new feature called Virtual Network Adapter Identification. This feature enables to specify a name when a network adapter is added to the virtual machine and to retrieve this same name inside the VM. This feature can be also managed from Virtual Machine Manager 2016 (Technical Preview 3 where I’m writing this post). This feature is really great to automate the renaming of the virtual network adapters inside VMs. In this topic I’ll show you how it is working and how to automate the renaming of the network adapters with PowerShell.

Set Virtual Network Adapter Identification from VMM TP3

When you create a virtual machine from VMM Technical Preview 3, you have a new setting in the network adapter configuration called Device Properties. You can set the adapter name as the VM Network name or you can specify your own adapter name. In the below example, I have set LAN as adapter name.

Once the VM is deployed, you can retrieve the custom adapter name by using Get-NetAdapterAdvancedProperty PowerShell cmdlet.

As you can see in the above screenshot, you can retrieve the custom adapter name in the Hyper-V Network Adapter Name property. So I make a filter on this property by using a pipe.

Then I display only the network adapter name and the custom adapter name. Now we have all the required information to use the Rename-NetAdapter cmdlet.

So I have written a PowerShell script to rename automatically the network adapter name by the Virtual Network Adapter Identification :

Foreach ($NetAdapter in Get-NetAdapter){
    $NetAdapterDisplayValue = (get-netAdapterAdvancedProperty |
                               ?{($_.DisplayName -eq "Hyper-V Network Adapter Name") `
                               -and ($_.Name -eq $NetAdapter.Name)}).DisplayValue

    Rename-NetAdapter -Name $NetAdapter.Name -NewName $NetAdapterDisplayValue 

When this script is executed, the network adapter name is well renamed.

Rename VM’s Network Adapters automatically during deployment

To rename the VM’s network adapter during deployment, I add the above script to the sysprep’d image. So first I mount the VHDX as below.

Then I create a folder called Scripts and I paste the script inside the folder. After that I unmount the VHDX.

Next I come back to VMM TP3 and I edit my VM template. In OS Configuration I add a GUIRunOnce command to run the RenameNetAdapter.ps1 script.

Next I deploy a new VM. I specify a custom adapter name as below.

Then I add a second network adapter called Cluster. I specify also a custom network adapter.

When the VM is deployed and when you are logged once, the RenameNetAdapter script is executed. So the network adapter should be renamed as below.

Thanks to the next version of Hyper-V and VMM, we can now automate the VM’s network adapters renaming easilyJ.

About Romain Serre

Romain Serre works in Lyon as a Senior Consultant. He is focused on Microsoft Technology, especially on Hyper-V, System Center, Storage, networking and Cloud OS technology as Microsoft Azure or Azure Stack. He is a MVP and he is certified Microsoft Certified Solution Expert (MCSE Server Infrastructure & Private Cloud), on Hyper-V and on Microsoft Azure (Implementing a Microsoft Azure Solution).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Check Also

Manage Switch Embedded Teaming from VMM 2016

Since System Virtual Machine Manager 2016 Technical Preview 5 with cumulative update 2, it is ...

Manage Storage Space Direct from Virtual Machine Manager

In a previous topic, I shown how to implement a Storage Space Direct on Windows ...

Upgrade Virtual Machine Manager 2012 R2 in High Availability to Technical Preview 2

Currently the last build for the next release of Virtual Machine Manager is the Technical ...